summaryrefslogtreecommitdiffstats
path: root/2024
diff options
context:
space:
mode:
Diffstat (limited to '2024')
-rw-r--r--2024/captions/emacsconf-2024-color--colour-your-emacs-with-ease--ryota--answers.vtt493
-rw-r--r--2024/captions/emacsconf-2024-emacs30--emacs-30-highlights--philip-kaludercic--main--chapters.vtt22
-rw-r--r--2024/captions/emacsconf-2024-emacs30--emacs-30-highlights--philip-kaludercic--main.vtt896
-rw-r--r--2024/captions/emacsconf-2024-gypsum--gypsum-my-clone-of-emacs-and-elisp-written-in-scheme--ramin-honary--answers.vtt474
-rw-r--r--2024/captions/emacsconf-2024-julia--exploring-shared-philosophies-in-julia-and-emacs--gabriele-bozzola--answers.vtt222
-rw-r--r--2024/captions/emacsconf-2024-org-update--the-future-of-org--ihor-radchenko--main.vtt2
-rw-r--r--2024/captions/emacsconf-2024-transducers--transducers-finally-ergonomic-data-processing-for-emacs--colin-woodbury--answers.vtt2
-rw-r--r--2024/info/blee-before.md4
-rw-r--r--2024/info/casual-before.md4
-rw-r--r--2024/info/color-after.md478
-rw-r--r--2024/info/color-before.md12
-rw-r--r--2024/info/emacs30-after.md864
-rw-r--r--2024/info/emacs30-before.md26
-rw-r--r--2024/info/guile-before.md4
-rw-r--r--2024/info/gypsum-after.md472
-rw-r--r--2024/info/gypsum-before.md22
-rw-r--r--2024/info/hyperbole-before.md4
-rw-r--r--2024/info/hyperdrive-before.md26
-rw-r--r--2024/info/julia-after.md216
-rw-r--r--2024/info/julia-before.md18
-rw-r--r--2024/info/learning-before.md4
-rw-r--r--2024/info/links-before.md2
-rw-r--r--2024/info/literate-before.md4
-rw-r--r--2024/info/maxima-before.md2
-rw-r--r--2024/info/mcclim-before.md4
-rw-r--r--2024/info/org-update-after.md2
-rw-r--r--2024/info/org-update-before.md4
-rw-r--r--2024/info/p-search-before.md4
-rw-r--r--2024/info/papers-before.md4
-rw-r--r--2024/info/pgmacs-before.md4
-rw-r--r--2024/info/project-before.md4
-rw-r--r--2024/info/regex-before.md2
-rw-r--r--2024/info/rust-before.md4
-rw-r--r--2024/info/sat-open-before.md2
-rw-r--r--2024/info/sharing-before.md2
-rw-r--r--2024/info/shell-before.md2
-rw-r--r--2024/info/students-before.md4
-rw-r--r--2024/info/sun-open-before.md2
-rw-r--r--2024/info/theme-before.md4
-rw-r--r--2024/info/transducers-after.md2
-rw-r--r--2024/info/transducers-before.md8
-rw-r--r--2024/info/water-before.md2
-rw-r--r--2024/info/writing-before.md2
-rw-r--r--2024/organizers-notebook.md348
-rw-r--r--2024/organizers-notebook/index.org128
-rw-r--r--2024/report.md199
-rw-r--r--2024/report.org237
-rw-r--r--2024/schedule-details.md2
-rw-r--r--2024/talks/literate.md2
-rw-r--r--2024/talks/sun-close.md7
50 files changed, 3029 insertions, 2229 deletions
diff --git a/2024/captions/emacsconf-2024-color--colour-your-emacs-with-ease--ryota--answers.vtt b/2024/captions/emacsconf-2024-color--colour-your-emacs-with-ease--ryota--answers.vtt
index b27008a3..3266d254 100644
--- a/2024/captions/emacsconf-2024-color--colour-your-emacs-with-ease--ryota--answers.vtt
+++ b/2024/captions/emacsconf-2024-color--colour-your-emacs-with-ease--ryota--answers.vtt
@@ -1,747 +1,748 @@
WEBVTT
-00:00.169 --> 00:01.830
+00:00:00.000 --> 00:00:06.039
... Org mode and kind of note taking. And that meant that it wasn't
-00:02.810 --> 00:08.532
+00:00:06.040 --> 00:00:10.679
too difficult to get started with. But when I started more on
-00:08.972 --> 00:15.474
+00:00:10.680 --> 00:00:14.959
the coding side, because I'm a software engineer, you know,
-00:08.972 --> 00:15.474
+00:00:14.960 --> 00:00:20.679
on the day job. That kind of got me to think that the colors and
-00:16.366 --> 00:24.790
+00:00:20.680 --> 00:00:26.479
how themes look, how Emacs looks, was affecting. And that's
-00:25.331 --> 00:28.973
+00:00:26.480 --> 00:00:30.719
how it kind of came to picture. So I could have kind of gone
-00:29.073 --> 00:36.917
+00:00:30.720 --> 00:00:34.919
into a little bit more coding side of things, but I didn't
-00:29.073 --> 00:36.917
+00:00:34.920 --> 00:00:38.319
want to stress too much on the talk. So that's why I kind of
-00:36.957 --> 00:41.919
+00:00:38.320 --> 00:00:43.439
stuck to a very small bits of Org Mode and Elisp. And yeah, I
-00:42.319 --> 00:45.321
+00:00:43.440 --> 00:00:48.159
think that's how it came about. Yeah, but that's perfectly
-00:46.536 --> 00:48.577
+00:00:48.160 --> 00:00:52.119
fine. That's one of the chief reasons why we have two tracks
-00:49.437 --> 00:52.778
+00:00:52.120 --> 00:00:54.799
for Emacs content. We've had those for the last four years, I
-00:52.798 --> 00:55.059
+00:00:54.800 --> 00:00:57.279
think. It's because we have a general track, which is more
-00:55.119 --> 01:05.442
+00:00:57.280 --> 00:00:59.239
geared towards people who want a general... well,
-00:55.119 --> 01:05.442
+00:00:59.240 --> 00:01:01.799
generally people who are highly interested into org mode
-00:55.119 --> 01:05.442
+00:01:01.800 --> 00:01:03.999
and not necessarily into coding, but just to whet their
-00:55.119 --> 01:05.442
+00:01:04.000 --> 00:01:08.399
appetite to what can be done. And on the DevTrack, we have,
-01:06.082 --> 01:12.986
+00:01:08.400 --> 00:01:11.519
well, this year we have talked about Rust and about other
-01:06.082 --> 01:12.986
+00:01:11.520 --> 00:01:13.559
fancy things that people can do with Emacs. But, you know,
-01:13.006 --> 01:15.768
+00:01:13.560 --> 00:01:15.559
I'm also a software engineer, you know, we do this all the
-01:13.006 --> 01:15.768
+00:01:15.560 --> 00:01:18.079
time. Sometimes it's just fine to just chat about colors and
-01:15.808 --> 01:21.751
+00:01:18.080 --> 00:01:20.959
just the results of what we develop rather than how the
-01:15.808 --> 01:21.751
+00:01:20.960 --> 00:01:24.839
sausage is made. So that's completely fine too. I'm not sure
NOTE Why colour?
-01:23.733 --> 01:32.618
+00:01:24.840 --> 00:01:28.879
if you mentioned it in your presentation, but why color, out
-01:23.733 --> 01:32.618
+00:01:28.880 --> 00:01:31.479
of all the things you could be ricing on your setup, why were
-01:23.733 --> 01:32.618
+00:01:31.480 --> 00:01:37.559
you so interested about colors? I think it was just that
-01:34.870 --> 01:41.176
+00:01:37.560 --> 00:01:40.239
mainly that I had to do a lot of context switch between
-01:34.870 --> 01:41.176
+00:01:40.240 --> 00:01:44.119
different languages. Elisp is not the one because Elisp is
-01:41.576 --> 01:46.600
+00:01:44.120 --> 00:01:48.079
something that I would do for Emacs editing. But for day job,
-01:47.061 --> 01:52.385
+00:01:48.080 --> 00:01:52.999
I had to use mainly Go as I work with Kubernetes quite a bit. So
-01:52.525 --> 01:57.109
+00:01:53.000 --> 00:01:58.119
Go and also web languages like TypeScript, JavaScript, you
-01:58.090 --> 02:13.642
+00:01:58.120 --> 00:02:01.519
know, those languages, where I felt that whenever I was
-01:58.090 --> 02:13.642
+00:02:01.520 --> 00:02:05.359
switching context to a different language, I felt that it's
-01:58.090 --> 02:13.642
+00:02:05.360 --> 00:02:08.839
kind of annoying to see all the different colors in
-01:58.090 --> 02:13.642
+00:02:08.840 --> 00:02:11.999
languages like TypeScript, where, you know, VS Code way
-01:58.090 --> 02:13.642
+00:02:12.000 --> 00:02:15.799
would be very full of colors. which I felt that, okay, like,
-02:14.262 --> 02:23.569
+00:02:15.800 --> 00:02:18.759
why do I have to have that many different colors on let and
-02:14.262 --> 02:23.569
+00:02:18.760 --> 00:02:23.759
constant or the keywords where it could be just a white text?
-02:23.789 --> 02:25.170
+00:02:23.760 --> 00:02:27.679
It didn't have to be that colorful. So that was the bit, the
-02:25.890 --> 02:30.373
+00:02:27.680 --> 00:02:31.399
most annoying bit when it came to context switching. And I
-02:30.974 --> 02:35.197
+00:02:31.400 --> 00:02:34.759
felt that that just didn't happen in the Org Mode or writing
-02:30.974 --> 02:35.197
+00:02:34.760 --> 00:02:40.799
in general. So I had to find a way to make it work, make more
-02:36.017 --> 02:41.481
+00:02:40.800 --> 00:02:46.199
coding make my coding more kind of friendly to me and that's
-02:42.173 --> 02:59.576
+00:02:46.200 --> 00:02:50.039
when I thought maybe just the colors are something that's
-02:42.173 --> 02:59.576
+00:02:50.040 --> 00:02:54.039
bothering me and it actually was the case and that's how I got
-02:42.173 --> 02:59.576
+00:02:54.040 --> 00:02:59.359
to more into the color kind of journey and got too much into it
-02:42.173 --> 02:59.576
+00:02:59.360 --> 00:03:04.039
I guess. Right, and was it what eventually motivated you to
NOTE What motivated you to learn Elisp and get into the Emacs core?
-03:00.535 --> 03:05.778
+00:03:04.040 --> 00:03:06.999
learn Elisp and to get into the Emacs core? Because it's
-03:05.798 --> 03:22.406
+00:03:07.000 --> 00:03:09.399
funny how you find plenty of people using Emacs in Org Mode
-03:05.798 --> 03:22.406
+00:03:09.400 --> 00:03:11.399
and then they find something that they take particular
-03:05.798 --> 03:22.406
+00:03:11.400 --> 00:03:15.039
issue with, for you it's the color, and then they just go all
-03:05.798 --> 03:22.406
+00:03:15.040 --> 00:03:18.039
in trying to pull the rope as far as they can to try to
-03:05.798 --> 03:22.406
+00:03:18.040 --> 00:03:21.359
understand as much as possible about what code is managing
-03:05.798 --> 03:22.406
+00:03:21.360 --> 00:03:23.879
this part of the application. Like for you it was color, for
-03:22.786 --> 03:25.047
+00:03:23.880 --> 00:03:27.999
me it was the org agenda, I desperately wanted to make Org
-03:25.367 --> 03:30.692
+00:03:28.000 --> 00:03:32.439
Agenda do something that it wasn't able to do. And five
-03:31.433 --> 03:36.318
+00:03:32.440 --> 00:03:35.199
years, well, actually, no, 10 years later, I find myself
-03:31.433 --> 03:36.318
+00:03:35.200 --> 00:03:38.199
hosting Emacs Cons. So, you never know just how far you're
-03:36.598 --> 03:39.201
+00:03:38.200 --> 00:03:40.399
going to be pulling this rope. So, it's really interesting
-03:39.561 --> 03:42.224
+00:03:40.400 --> 00:03:44.679
for me that my call was this. But back to the question, is this
-03:42.464 --> 03:48.150
+00:03:44.680 --> 00:03:47.759
what eventually motivated you to get into Elisp and the core
-03:42.464 --> 03:48.150
+00:03:47.760 --> 00:03:53.439
of Emacs? I think that the original journey to move to Emacs
-03:49.798 --> 04:02.250
+00:03:53.440 --> 00:03:56.959
was around keybindings that I got annoyed with with other
-03:49.798 --> 04:02.250
+00:03:56.960 --> 00:03:59.839
solutions, not just, you know, not speaking of Emacs
-03:49.798 --> 04:02.250
+00:03:59.840 --> 00:04:02.879
keybinding or anything, like anything in general. The main
-04:02.870 --> 04:09.797
+00:04:02.880 --> 00:04:07.519
reason was that I used Dovrak keyboard layout, and that
-04:02.870 --> 04:09.797
+00:04:07.520 --> 00:04:10.799
meant that all the C-c, C-v, C-p, whatever, It just is
-04:10.257 --> 04:11.417
+00:04:10.800 --> 00:04:13.919
all over the place. So I had to find something that could work
-04:11.577 --> 04:14.298
+00:04:13.920 --> 00:04:17.039
for me. And Emacs was a solution that allowed me to do
-04:14.898 --> 04:17.499
+00:04:17.040 --> 00:04:20.479
anything. And that's the kind of the journey that it
-04:18.019 --> 04:21.519
+00:04:20.480 --> 00:04:24.039
originally started. And from there, started tweaking org
-04:21.599 --> 04:28.421
+00:04:24.040 --> 00:04:28.439
mode and writing experience to be tuned to my liking. Color
-04:29.101 --> 04:33.682
+00:04:28.440 --> 00:04:32.559
was another thing that I thought, OK, maybe I could do it
-04:29.101 --> 04:33.682
+00:04:32.560 --> 00:04:36.239
easily with org mode. And when I started to use more of the
-04:34.262 --> 04:37.983
+00:04:36.240 --> 00:04:40.799
coding side of things on Emacs, I felt that, okay, that was
-04:39.355 --> 04:41.697
+00:04:40.800 --> 00:04:45.159
something I needed to solve. So Elisp was always kind of
-04:41.877 --> 04:48.022
+00:04:45.160 --> 00:04:48.439
just a toolkit that, you know, I knew that it was available. I
-04:48.322 --> 04:52.105
+00:04:48.440 --> 00:04:52.199
knew that it would be something that I want to be able to use.
-04:52.646 --> 04:58.090
+00:04:52.200 --> 00:04:57.159
So I think in a way color was a good segue to understand how I
-04:52.646 --> 04:58.090
+00:04:57.160 --> 00:05:03.359
can kind of work out more of a complex logic with the editor
-04:59.136 --> 05:07.220
+00:05:03.360 --> 00:05:06.359
without having to write JavaScript or things that I don't
-04:59.136 --> 05:07.220
+00:05:06.360 --> 00:05:09.399
particularly like. So yeah, I think the journey around the
-05:07.440 --> 05:13.583
+00:05:09.400 --> 00:05:11.879
functional languages, functional kind of programming was
-05:07.440 --> 05:13.583
+00:05:11.880 --> 00:05:15.439
always something that I was keen about. And yeah, the whole
-05:13.943 --> 05:16.644
+00:05:15.440 --> 00:05:18.479
journey kind of made sense for me. And then moving on to the
-05:16.984 --> 05:21.246
+00:05:18.480 --> 00:05:21.999
color was just one way to get more involved in. So I can
-05:21.406 --> 05:27.069
+00:05:22.000 --> 00:05:26.279
totally see that this journey kind of making to a little bit
-05:21.406 --> 05:27.069
+00:05:26.280 --> 00:05:30.759
different angle But yeah, we shall see how that really turns
-05:27.669 --> 05:30.972
+00:05:30.760 --> 00:05:33.799
out. But for now, I think I'm happy with the color setup. Now I
-05:33.514 --> 05:35.095
+00:05:33.800 --> 00:05:37.599
can really focus on the coding. Well, that's all good. And
-05:37.156 --> 05:44.162
+00:05:37.600 --> 00:05:40.839
I'm sure plenty of people listening to you now, you know,
-05:37.156 --> 05:44.162
+00:05:40.840 --> 00:05:43.639
find this relatable, how they eventually got into
-05:37.156 --> 05:44.162
+00:05:43.640 --> 00:05:46.879
programming. Like for you, you did say that you were a
-05:44.222 --> 05:47.745
+00:05:46.880 --> 00:05:50.519
software engineer now. But I found plenty of people,
-05:48.705 --> 05:53.469
+00:05:50.520 --> 00:05:54.679
especially doing workshops, that just started you know,
-05:54.339 --> 06:01.267
+00:05:54.680 --> 00:05:57.639
their software engineering journey just with Emacs and
-05:54.339 --> 06:01.267
+00:05:57.640 --> 00:05:59.239
they just realized they were doing something completely
-05:54.339 --> 06:01.267
+00:05:59.240 --> 00:06:01.999
different, like I was studying humanities. But then you
-06:01.787 --> 00:06:02.687
+00:06:02.000 --> 00:06:05.079
touch Emacs and you realize, yeah, this whole programming
-06:01.787 --> 06:06.693
+00:06:05.080 --> 00:06:06.679
shtick is actually pretty damn cool.
-00:06:07.280 --> 00:06:09.399
+00:06:06.680 --> 00:06:09.079
And then you find yourself again,
-00:06:09.400 --> 00:06:11.039
+00:06:09.080 --> 00:06:10.999
five to 10 years later, becoming a software
-00:06:11.040 --> 00:06:12.919
+00:06:11.000 --> 00:06:12.999
engineer. So yeah, that's all good.
-00:06:12.920 --> 00:06:14.519
+00:06:13.000 --> 00:06:13.919
So we do have a couple of
-00:06:14.520 --> 00:06:18.439
+00:06:13.920 --> 00:06:18.439
questions and I'd like to move into them so that I, I mean,
-00:06:18.440 --> 00:06:22.439
+00:06:18.440 --> 00:06:22.399
people have questions and for me it's okay for me to chat with
-00:06:22.440 --> 00:06:25.119
+00:06:22.400 --> 00:06:25.119
you but obviously it's better if people ask you the question
-00:06:25.120 --> 00:06:27.679
+00:06:25.120 --> 00:06:27.639
themselves. And again, if you want to ask questions to Ryota
-00:06:27.680 --> 00:06:31.079
+00:06:27.640 --> 00:06:31.039
directly, feel free to join us on BBB and whenever we're done
-00:06:31.080 --> 00:06:33.519
+00:06:31.040 --> 00:06:33.519
with the questions on the pad, I'm more than happy
-00:06:33.520 --> 00:06:34.444
+00:06:33.520 --> 00:06:35.319
to let you ask your questions live.
NOTE Q: Is there any intention to create a library for working with more experimental color spaces? Pulling code out of Hasliberg for this purpose, perhaps?
-06:35.982 --> 00:06:37.902
+00:06:35.320 --> 00:06:37.799
All right, so starting with the first question,
-00:06:37.903 --> 00:06:45.108
+00:06:37.800 --> 00:06:39.999
is there any intention to create a library
-00:06:37.903 --> 06:45.108
+00:06:40.000 --> 00:06:42.559
for working with more experimental color spaces, pulling
-06:35.982 --> 06:45.108
+00:06:42.560 --> 00:06:45.679
code out of Hasliberg for this purpose, perhaps? Although I
-06:45.329 --> 06:46.049
+00:06:45.680 --> 00:06:50.479
do not know. Hasliberg, you might? Yeah, Hasliberg. And to
-06:49.692 --> 06:50.892
+00:06:50.480 --> 00:06:55.119
answer the question, started the journey just for myself
-06:52.859 --> 07:04.331
+00:06:55.120 --> 00:06:58.479
and I didn't think that it would be actually useful for other
-06:52.859 --> 07:04.331
+00:06:58.480 --> 00:07:03.319
use cases and this conference talk just came about kind of
-06:52.859 --> 07:04.331
+00:07:03.320 --> 00:07:08.079
out of sheer luck really. So the idea I think I can definitely
-07:04.771 --> 07:14.501
+00:07:08.080 --> 00:07:12.199
work it out and I don't think there will be too, the original
-07:04.771 --> 07:14.501
+00:07:12.200 --> 00:07:17.639
code that I started with was I had to use some color space and I
-07:15.931 --> 07:21.595
+00:07:17.640 --> 00:07:22.479
started with sRGB and then went to HSL and then went to LCH. So
-07:21.996 --> 07:24.678
+00:07:22.480 --> 00:07:25.479
I think there has been quite a bit that I learned from it. At
-07:25.458 --> 07:33.885
+00:07:25.480 --> 00:07:29.999
the same time, I may be tempted to actually maybe perhaps
-07:25.458 --> 07:33.885
+00:07:30.000 --> 00:07:34.159
contribute back to ct.el rather than creating my own. I
-07:34.105 --> 07:36.227
+00:07:34.160 --> 00:07:36.279
think that would make more sense perhaps.
-07:36.607 --> 00:07:39.548
+00:07:36.280 --> 00:07:39.479
But for my own kind of taste that I thought
-00:07:39.549 --> 00:07:42.891
+00:07:39.480 --> 00:07:42.839
that it would be something I can work out in my theme,
-00:07:42.892 --> 00:07:44.273
+00:07:42.840 --> 00:07:46.879
but I don't have any I think, you know, making a
-07:45.813 --> 07:53.975
+00:07:46.880 --> 00:07:49.999
library is definitely something that I can think about, but
-07:45.813 --> 07:53.975
+00:07:50.000 --> 00:07:53.679
perhaps maybe making it too many packages isn't exactly
-07:45.813 --> 07:53.975
+00:07:53.680 --> 00:07:57.319
what I want. But for my own use case, I think I just wanted to
-07:55.175 --> 08:06.317
+00:07:57.320 --> 00:07:59.919
have something that just didn't have any external
-07:55.175 --> 08:06.317
+00:07:59.920 --> 00:08:04.119
dependency so that I can use the vanilla Emacs with my
-07:55.175 --> 08:06.317
+00:08:04.120 --> 00:08:09.639
colors. I think that's how it started, but I'm definitely up
-08:06.757 --> 08:11.558
+00:08:09.640 --> 00:08:13.719
for it if there is interest about it. Yeah, well, thank you
-08:12.622 --> 00:08:13.615
+00:08:13.720 --> 00:08:15.279
for this. It's always good to contribute.
-00:08:16.040 --> 00:08:16.399
+00:08:15.280 --> 00:08:16.399
I'm tempted to say
-00:08:16.400 --> 00:08:18.679
+00:08:16.400 --> 00:08:18.279
that's how they get you. You know, you do something really
-00:08:18.680 --> 00:08:24.799
+00:08:18.280 --> 00:08:23.639
cool and you share it with people and they have the, you know,
-00:08:24.800 --> 00:08:27.080
+00:08:23.640 --> 00:08:27.239
they just ask you, oh, do you have your code online? And you
-08:27.166 --> 08:28.667
+00:08:27.240 --> 00:08:29.399
realize, no, I haven't pushed it. And then they start
-08:28.707 --> 08:30.107
+00:08:29.400 --> 00:08:32.359
pressing you on. well, you need to do this, this is amazing
-08:30.287 --> 08:33.349
+00:08:32.360 --> 00:08:35.879
and you need to share it. You know, I had plenty of people ask
-08:33.849 --> 08:41.735
+00:08:35.880 --> 00:08:40.519
me to share my dot files when I was tackling the org agenda
-08:33.849 --> 08:41.735
+00:08:40.520 --> 00:08:44.039
issue that I mentioned earlier. And yeah, eventually when
-08:42.575 --> 08:54.243
+00:08:44.040 --> 00:08:47.479
you get to publishing your stuff, you also feel great
-08:42.575 --> 08:54.243
+00:08:47.480 --> 00:08:50.279
because you're putting a little bit of your intelligence
-08:42.575 --> 08:54.243
+00:08:50.280 --> 00:08:53.679
into the world and it can be the start of the journey for
-08:42.575 --> 08:54.243
+00:08:53.680 --> 00:08:56.239
someone else. You know, maybe someone will find your
-08:54.283 --> 08:59.867
+00:08:56.240 --> 00:08:58.679
library at some point and realize, yeah, I wanted to do
-08:54.283 --> 08:59.867
+00:08:58.680 --> 00:09:01.239
something slightly differently. and then they either
-09:00.387 --> 09:10.793
+00:09:01.240 --> 00:09:04.439
contribute to a library or they make their own but it's a
-09:00.387 --> 09:10.793
+00:09:04.440 --> 00:09:07.359
complete journey that starts with just people taking the
-09:00.387 --> 09:10.793
+00:09:07.360 --> 00:09:12.039
time to publish the content of the brain basically. Yeah,
-09:11.894 --> 09:13.354
+00:09:12.040 --> 00:09:15.519
that's the power of open source now. It's just how we really
-09:13.654 --> 09:21.276
+00:09:15.520 --> 00:09:19.119
appreciate the open source culture being cultivated
-09:13.654 --> 09:21.276
+00:09:19.120 --> 00:09:23.159
throughout so many years. And yeah, this is something that
-09:21.736 --> 09:24.337
+00:09:23.160 --> 00:09:26.999
I'm definitely keen about. So yeah, open for suggestions.
-09:26.618 --> 09:29.298
+00:09:27.000 --> 00:09:30.079
And exactly, that's how I started with the journey. And
-00:09:29.760 --> 00:09:33.559
+00:09:30.080 --> 00:09:33.519
yeah, while this is very experimental and very personal,
-00:09:33.560 --> 00:09:38.239
+00:09:33.520 --> 00:09:38.199
yeah, I'm not, you know, tied down to one particular way
-00:09:38.240 --> 00:09:41.679
+00:09:38.200 --> 00:09:41.399
only. So yeah we'll be open to suggestions like this one
-00:09:41.680 --> 00:09:44.839
+00:09:41.400 --> 00:09:44.719
which I would definitely think about. Yeah that's amazing
-00:09:44.840 --> 00:09:46.879
+00:09:44.720 --> 00:09:46.999
and just to be clear you know this is not a there's no
-00:09:46.880 --> 00:09:47.840
+00:09:47.000 --> 00:09:50.639
incentive one. I'm not pushing you to publish your library.
-09:51.070 --> 09:57.595
+00:09:50.640 --> 00:09:53.799
You know it was very personal for you and at the end if you
-09:51.070 --> 09:57.595
+00:09:53.800 --> 00:09:56.199
believe it might be useful for others it's a nice thing to
-09:51.070 --> 09:57.595
+00:09:56.200 --> 00:09:58.799
eventually think about publishing it. But just the fact
-09:58.056 --> 10:00.117
+00:09:58.800 --> 00:10:01.439
that you showed up at EmacsConf... Sorry, I'm
-10:01.278 --> 00:10:02.698
+00:10:01.440 --> 00:10:02.639
starting to lose my voice on the morning
-00:10:02.699 --> 00:10:03.280
+00:10:02.640 --> 00:10:03.839
of the first day. That's
-10:03.520 --> 00:10:08.559
+00:10:03.840 --> 00:10:07.639
not boding well for the two next days. I mean, just one day.
-00:10:08.560 --> 00:10:10.079
+00:10:07.640 --> 00:10:09.159
But just the
-00:10:10.080 --> 00:10:13.279
+00:10:09.160 --> 00:10:13.199
fact that you're showing up at EmacsConf and sharing about
-00:10:13.280 --> 00:10:17.119
+00:10:13.200 --> 00:10:17.039
all of this, the process, how you got to it eventually, it's
-00:10:17.120 --> 00:10:19.439
+00:10:17.040 --> 00:10:19.639
also a part of sharing. And I think it's also amazing in its
-00:10:19.440 --> 00:10:26.039
+00:10:19.640 --> 00:10:26.039
own way. Absolutely. Okay, I'm going to try to read the next
-00:10:26.040 --> 00:10:31.719
+00:10:26.040 --> 00:10:31.639
question and then try to cough a little bit. So can we have...
-00:10:31.720 --> 00:10:36.919
+00:10:31.640 --> 00:10:36.759
Oh, sorry, Bala. Sorry. I was the one who asked the question.
-00:10:36.920 --> 00:10:40.120
+00:10:36.760 --> 00:10:40.279
I thought I could ask it live here rather than... Thank you.
-10:40.188 --> 10:41.368
+00:10:40.280 --> 00:10:46.039
I'll go cough a little bit. So here I am. Thanks, Ryota, for
-10:45.050 --> 10:47.190
+00:10:46.040 --> 00:10:50.519
the nice talk. This is great. I loved it. Your attention to
-10:49.531 --> 00:10:50.140
+00:10:50.520 --> 00:10:51.519
detail was awesome.
NOTE Q: Can we have a dark as well as light theme variations made from your theme?
-00:10:51.880 --> 00:10:55.079
+00:10:51.520 --> 00:10:54.959
So I was just looking at the code and I was
-00:10:55.080 --> 00:10:58.839
+00:10:54.960 --> 00:10:58.759
wondering, do you have a dark and a light theme variation
-00:10:58.840 --> 00:11:02.479
+00:10:58.760 --> 00:11:02.599
which can be made from your theme? Or do you have to customize
-00:11:02.480 --> 00:11:05.519
+00:11:02.600 --> 00:11:06.199
it every time? That was my question. And thanks for that.
-00:11:05.520 --> 00:11:07.640
+00:11:06.200 --> 00:11:09.679
Thank you very much. I appreciate your feedback and
-00:11:10.240 --> 00:11:15.079
+00:11:09.680 --> 00:11:15.039
questions. So to answer the question, the short answer is
-00:11:15.080 --> 00:11:18.639
+00:11:15.040 --> 00:11:18.439
that I do have both dark and light themes with some sorts of
-00:11:18.640 --> 00:11:22.199
+00:11:18.440 --> 00:11:22.199
standard colors that I personally liked. And there were a
-00:11:22.200 --> 00:11:26.719
+00:11:22.200 --> 00:11:26.679
few things that I showed in the demo. where I showed, I think,
-00:11:26.720 --> 00:11:30.039
+00:11:26.680 --> 00:11:29.999
three different dark theme colors. So light theme is
-00:11:30.040 --> 00:11:31.440
+00:11:30.000 --> 00:11:31.559
definitely something that I can do.
-00:11:31.800 --> 00:11:33.879
+00:11:31.560 --> 00:11:33.759
And the idea around Hasliberg theme
-00:11:33.880 --> 00:11:36.359
+00:11:33.760 --> 00:11:36.279
and just my theming in general was that
-00:11:36.360 --> 00:11:39.679
+00:11:36.280 --> 00:11:39.599
when I feel like I want to work in dark theme and when I want to
-00:11:39.680 --> 00:11:42.440
+00:11:39.600 --> 00:11:42.159
work in the standard way, I would just use the standard color.
-00:11:42.480 --> 00:11:44.959
+00:11:42.160 --> 00:11:44.919
But when I feel like maybe it's just so cold that I want
-00:11:44.960 --> 00:11:49.399
+00:11:44.920 --> 00:11:48.519
to have a bit of a warm colors near me, I would use the orange
-00:11:49.400 --> 00:11:52.359
+00:11:48.520 --> 00:11:52.279
theme, without changing too much of the kind of general
-00:11:52.360 --> 00:11:55.679
+00:11:52.280 --> 00:11:55.639
feeling and experience. So that can be said for the light
-00:11:55.680 --> 00:11:58.959
+00:11:55.640 --> 00:11:58.959
theme as well. So there is something and the kind of
-00:11:58.960 --> 00:12:04.919
+00:11:58.960 --> 00:12:04.839
customization isn't that difficult to extend. So I do have
-00:12:04.920 --> 00:12:09.079
+00:12:04.840 --> 00:12:09.359
both dark and light, but primarily I'm just looking at the
-00:12:09.080 --> 00:12:10.239
+00:12:09.360 --> 00:12:12.839
dark theme as my main driver. But yeah, they are both
-00:12:10.240 --> 00:12:13.240
+00:12:12.840 --> 00:12:18.239
available. Great. Thank you so much. I will definitely try
-00:12:18.208 --> 12:18.865
+00:12:18.240 --> 00:12:21.719
your theme out. I'm definitely on the lookout for a nice,
-12:19.205 --> 12:22.426
+00:12:21.720 --> 00:12:26.119
friendly theme. Thank you very much. As I said, this is a
-12:25.388 --> 12:27.429
+00:12:26.120 --> 00:12:31.279
personal theme. I'm not sure if it really fits everyone's
-12:29.089 --> 12:42.816
+00:12:31.280 --> 00:12:37.159
need, but it is one inspiration that I hope that can lead to
-12:29.089 --> 12:42.816
+00:12:37.160 --> 00:12:40.639
another nice theming that could work for someone
-12:29.089 --> 12:42.816
+00:12:40.640 --> 00:12:44.199
specifically for some use cases. I don't have to solve
-12:42.996 --> 12:44.977
+00:12:44.200 --> 00:12:48.719
everyone's problem. Yeah, and I mean, it was sufficient to
-12:46.553 --> 12:49.715
+00:12:48.720 --> 00:12:50.719
be inspirational to people. I mean, just Bala just
-12:49.755 --> 12:58.619
+00:12:50.720 --> 00:12:53.759
mentioned it right now, but I'm sure plenty of people who
-12:49.755 --> 12:58.619
+00:12:53.760 --> 00:12:55.999
watched live, but also people will be watching in the
-12:49.755 --> 12:58.619
+00:12:56.000 --> 00:12:58.599
future, will have the interest to speak by what you've done.
-12:58.699 --> 13:00.040
+00:12:58.600 --> 00:13:05.079
So thank you again so much for this. Yep. All right, well, I
-13:04.102 --> 13:06.603
+00:13:05.080 --> 00:13:09.719
don't see any further questions. So I suggest we move
-13:07.083 --> 13:10.525
+00:13:09.720 --> 00:13:14.279
towards closure. Ryota, do you have any last words? No, I
-13:13.775 --> 13:14.175
+00:13:14.280 --> 00:13:17.079
don't. So yeah, thank you very much for attending. And it was
-13:16.577 --> 13:18.979
+00:13:17.080 --> 00:13:20.519
great fun putting this together. And I really didn't think
-13:19.299 --> 13:27.545
+00:13:20.520 --> 00:13:24.759
that I would be talking about my personal colors and
-13:19.299 --> 13:27.545
+00:13:24.760 --> 00:13:27.759
personal favorites, like orange being my favorite color.
-13:27.845 --> 13:31.228
+00:13:27.760 --> 00:13:30.119
This wouldn't be something that I would say out in any
-13:27.845 --> 13:31.228
+00:13:30.120 --> 00:13:34.159
conference, to be honest. But it just came out to be. And
-13:33.890 --> 13:35.491
+00:13:34.160 --> 00:13:37.479
happy that I had a chance. So thank you very much for giving me
-13:35.651 --> 13:39.154
+00:13:37.480 --> 00:13:41.439
the opportunity to talk. in this amazing conference and
-13:39.574 --> 13:52.473
+00:13:41.440 --> 00:13:44.319
yeah I can't just wait to check out other talks which you know
-13:39.574 --> 13:52.473
+00:13:44.320 --> 00:13:46.919
I know that there isn't you know other talks that are
-13:39.574 --> 13:52.473
+00:13:46.920 --> 00:13:50.199
happening right now I was actually wanted to to join them and
-13:39.574 --> 13:52.473
+00:13:50.200 --> 00:13:52.759
check check that out so I will probably do that right now.
-13:53.419 --> 13:53.899
+00:13:52.760 --> 00:13:56.839
Well, sure. Well, I won't hold you any longer then. Thank
-13:56.401 --> 13:56.741
+00:13:56.840 --> 00:13:59.759
you. For me, it was just amazing to, you know, generally when
-13:57.682 --> 14:03.285
+00:13:59.760 --> 00:14:01.639
you ask someone what their favorite color, you know, they
-13:57.682 --> 14:03.285
+00:14:01.640 --> 00:14:04.399
just tell you orange or blue or whatever. They don't go then
-14:03.586 --> 14:10.690
+00:14:04.400 --> 00:14:07.039
to chat about 20 minutes about their favorite color and how
-14:03.586 --> 14:10.690
+00:14:07.040 --> 00:14:10.079
they tuned their entire editor to work exactly around their
-14:03.586 --> 14:10.690
+00:14:10.080 --> 00:14:14.759
favorite colors. So it was inspiring. And I also want to try
-14:12.912 --> 14:21.057
+00:14:14.760 --> 00:14:17.999
it out, frankly, because my theme has been utterly bad for
-14:12.912 --> 14:21.057
+00:14:18.000 --> 00:14:20.639
the last five years and I need some change into my life. All
-14:21.497 --> 14:21.677
+00:14:20.640 --> 00:14:24.319
right. Thank you so much for your time. Thank you very much,
-14:23.629 --> 14:24.654
+00:14:24.320 --> 00:14:30.640
everyone. Cheers. Bye-bye.
+
diff --git a/2024/captions/emacsconf-2024-emacs30--emacs-30-highlights--philip-kaludercic--main--chapters.vtt b/2024/captions/emacsconf-2024-emacs30--emacs-30-highlights--philip-kaludercic--main--chapters.vtt
index 89190453..57ef14d3 100644
--- a/2024/captions/emacsconf-2024-emacs30--emacs-30-highlights--philip-kaludercic--main--chapters.vtt
+++ b/2024/captions/emacsconf-2024-emacs30--emacs-30-highlights--philip-kaludercic--main--chapters.vtt
@@ -1,35 +1,35 @@
WEBVTT
-00:00:00.000 --> 00:01:41.800
+00:00:00.000 --> 00:01:41.759
Introduction
-00:01:41.800 --> 00:07:45.719
+00:01:41.760 --> 00:07:44.699
Android
-00:07:45.720 --> 00:09:27.320
+00:07:44.700 --> 00:09:30.239
EditorConfig
-00:09:27.310 --> 00:13:11.559
+00:09:30.240 --> 00:13:11.399
use-package integration with package-vc
-00:13:11.560 --> 00:15:56.679
+00:13:11.400 --> 00:15:56.839
JSON
-00:15:56.680 --> 00:17:29.639
+00:15:56.840 --> 00:17:30.719
Native compilation
-00:17:29.640 --> 00:18:16.779
+00:17:30.720 --> 00:18:16.819
Tree-sitter
-00:18:16.780 --> 00:19:34.200
+00:18:16.820 --> 00:19:34.219
Completion preview mode
-00:19:34.233 --> 00:21:16.919
+00:19:34.220 --> 00:21:16.779
package-isolate
-00:21:16.920 --> 00:23:17.939
+00:21:16.780 --> 00:23:17.879
Reindenting
-00:23:17.940 --> 00:24:43.766
+00:23:17.880 --> 00:24:43.120
Wrapping up
diff --git a/2024/captions/emacsconf-2024-emacs30--emacs-30-highlights--philip-kaludercic--main.vtt b/2024/captions/emacsconf-2024-emacs30--emacs-30-highlights--philip-kaludercic--main.vtt
index f0d08f0b..feebc2ed 100644
--- a/2024/captions/emacsconf-2024-emacs30--emacs-30-highlights--philip-kaludercic--main.vtt
+++ b/2024/captions/emacsconf-2024-emacs30--emacs-30-highlights--philip-kaludercic--main.vtt
@@ -1,1361 +1,1361 @@
-WEBVTT captioned by anush and sachac, checked by anush and bhavin
+WEBVTT captioned by anush
NOTE Introduction
-00:00.000 --> 00:06.066
+00:00:00.000 --> 00:00:06.119
Hello, and welcome to Emacs 30 Highlights at EmacsConf 2024.
-00:06.100 --> 00:08.833
+00:00:06.120 --> 00:00:08.839
Before I begin, I'd like to thank the organizers
-00:08.866 --> 00:11.800
+00:00:08.840 --> 00:00:11.799
and everyone involved for putting this all together.
-00:11.800 --> 00:13.733
+00:00:11.800 --> 00:00:13.759
While this talk is being pre-recorded,
-00:13.766 --> 00:15.233
+00:00:13.760 --> 00:00:15.239
my experience from the last few years
-00:15.266 --> 00:19.100
+00:00:15.240 --> 00:00:19.159
assures me that it will be a great experience for everyone.
-00:19.133 --> 00:21.300
+00:00:19.160 --> 00:00:21.359
My name is Philip Kaludercic.
-00:21.333 --> 00:24.466
+00:00:21.360 --> 00:00:24.479
I am a core contributor and ELPA co-maintainer.
-00:24.500 --> 00:26.066
+00:00:24.480 --> 00:00:26.079
I was honored when Sacha asked me
-00:26.100 --> 00:28.333
+00:00:26.080 --> 00:00:28.359
to take over the slot for this year.
-00:28.366 --> 00:29.866
+00:00:28.360 --> 00:00:29.879
In the past few iterations,
-00:29.900 --> 00:32.133
+00:00:29.880 --> 00:00:32.199
John Wiegley has filled a similar presentation
-00:32.166 --> 00:35.666
+00:00:32.200 --> 00:00:35.679
focusing on more general Emacs development updates.
-00:35.700 --> 00:00:38.501
+00:00:35.680 --> 00:00:38.519
This year, I will specifically focus on
-00:00:38.502 --> 00:00:41.900
+00:00:38.520 --> 00:00:41.919
highlight features from the upcoming Emacs 30 release,
-00:41.933 --> 00:44.200
+00:00:41.920 --> 00:00:43.919
which might or might not have been released
-00:44.200 --> 00:00:48.059
+00:00:43.920 --> 00:00:48.079
by the time you are seeing this.
-00:00:48.060 --> 00:51.266
+00:00:48.080 --> 00:00:51.079
As you can imagine, everything new about Emacs
-00:51.300 --> 00:55.133
+00:00:51.080 --> 00:00:55.059
can always be found in the Emacs NEWS file.
-00:55.166 --> 00:57.100
+00:00:55.060 --> 00:00:57.079
Or, alternatively,
-00:57.133 --> 01:01.800
+00:00:57.080 --> 00:01:01.919
if one doesn't want to read through the 3,000 lines here,
-01:01.800 --> 01:05.233
+00:01:01.920 --> 00:01:05.279
one can also take a look at the Emacs FAQ
-01:05.266 --> 01:08.000
+00:01:05.280 --> 00:01:07.999
and then go to the what's new about
-01:08.000 --> 01:12.300
+00:01:08.000 --> 00:01:12.219
or what's different about Emacs 30 node.
-01:12.333 --> 01:14.700
+00:01:12.220 --> 00:01:14.759
Next to these two official options,
-01:14.733 --> 01:18.200
+00:01:14.760 --> 00:01:18.599
I also have a page on Emacs Wiki
-01:18.200 --> 01:21.300
+00:01:18.600 --> 00:01:21.439
called EmacsThirtyHighlights,
-01:21.333 --> 01:24.266
+00:01:21.440 --> 00:01:24.279
highlighting some of the interesting features
-01:24.300 --> 01:28.433
+00:01:24.280 --> 00:01:28.439
with some context and suggestions on how to try them out.
-01:28.466 --> 01:30.033
+00:01:28.440 --> 00:01:30.039
This is more of a collaborative effort.
-01:30.066 --> 01:32.733
+00:01:30.040 --> 00:01:32.719
So if you see this and think something is missing,
-01:32.766 --> 01:34.500
+00:01:32.720 --> 00:01:34.519
feel free to add it.
-01:34.533 --> 01:36.833
+00:01:34.520 --> 00:01:36.839
So without further ado,
-01:36.866 --> 01:41.800
+00:01:36.840 --> 00:01:41.759
let's begin taking a look at new features in Emacs 30.
NOTE Android
-01:41.800 --> 01:44.700
+00:01:41.760 --> 00:01:44.679
The biggest one, and the one I want to mention first,
-01:44.733 --> 01:49.033
+00:01:44.680 --> 00:01:49.039
is Android support, native Android support.
-01:49.066 --> 01:51.833
+00:01:49.040 --> 00:01:51.879
As you can see here, Emacs has been ported
-01:51.866 --> 01:53.666
+00:01:51.880 --> 00:01:53.639
to the Android operating system.
-01:53.700 --> 01:56.500
+00:01:53.640 --> 00:01:56.479
What this means is that from Emacs 30 onwards,
-01:56.533 --> 02:01.066
+00:01:56.480 --> 00:02:01.279
you can build Android to target Android devices natively
-02:01.100 --> 02:06.733
+00:02:01.280 --> 00:02:06.759
and using a graphical interface.
-02:06.766 --> 02:08.433
+00:02:06.760 --> 00:02:08.799
While it has been possible to run Emacs
-02:08.466 --> 02:11.133
+00:02:08.800 --> 00:02:11.159
inside of terminal emulators on Android for a while,
-02:11.166 --> 02:13.900
+00:02:11.160 --> 00:02:13.919
this actually means that you can use Emacs
-02:13.933 --> 02:17.533
+00:02:13.920 --> 00:02:17.519
on an Android device, a phone or a tablet,
-02:17.566 --> 02:20.933
+00:02:17.520 --> 00:02:20.959
and have all the usual advantages from GUI Emacs,
-02:20.966 --> 02:23.466
+00:02:20.960 --> 00:02:23.479
such as the ability to bind all commands
-02:23.500 --> 02:25.466
+00:02:23.480 --> 00:02:25.479
without having to worry about--
-02:25.500 --> 02:27.266
+00:02:25.480 --> 00:02:27.279
all keys without having to worry
-02:27.300 --> 02:29.033
+00:02:27.280 --> 00:02:29.359
about terminal compatibility issues,
-02:29.066 --> 02:32.733
+00:02:29.360 --> 00:02:32.759
displaying images and multiple fonts
-02:32.766 --> 02:35.333
+00:02:32.760 --> 00:02:35.359
on the same display of different sizes.
-02:35.366 --> 02:37.300
+00:02:35.360 --> 00:02:37.279
I should have a recording
-02:37.333 --> 02:42.200
+00:02:37.280 --> 00:02:42.199
of that somewhere here--here we are--
-02:42.200 --> 02:44.100
+00:02:42.200 --> 00:02:44.439
which I made earlier on my phone,
-02:44.133 --> 02:47.266
+00:02:44.440 --> 00:02:47.319
because I'm recording this on a laptop--
-02:47.300 --> 02:50.466
+00:02:47.320 --> 00:02:50.479
where we can see how touch interaction works
-02:50.500 --> 02:53.333
+00:02:50.480 --> 00:02:53.199
on an Android phone. I can switch between buffers.
-02:53.366 --> 02:56.100
+00:02:53.200 --> 00:02:56.119
Here I've connected an external keyboard,
-02:56.133 --> 02:57.800
+00:02:56.120 --> 00:02:58.559
opening the Emacs website.
-02:57.800 --> 00:03:02.559
+00:02:58.560 --> 00:03:02.679
We have images that we can interact with.
-00:03:02.560 --> 00:03:04.319
+00:03:02.680 --> 00:03:05.319
We could resize them if we wanted to
-00:03:04.320 --> 03:07.400
+00:03:05.320 --> 00:03:07.559
with the image resizing commands.
-03:07.400 --> 03:10.300
+00:03:07.560 --> 00:03:10.359
Pinch-to-zoom works, so it
-03:10.333 --> 03:12.733
+00:03:10.360 --> 00:03:12.759
does realize what touchscreen interactions are.
-03:12.766 --> 03:15.233
+00:03:12.760 --> 00:03:15.239
With an external mouse, and for example,
-03:15.266 --> 03:17.800
+00:03:15.240 --> 00:03:17.799
enabling context menu mode,
-03:17.800 --> 03:23.066
+00:03:17.800 --> 00:03:22.679
I can even pop up little interaction windows,
-03:23.100 --> 00:03:28.139
+00:03:22.680 --> 00:03:27.239
which one you would usually also know from GUI Emacs.
-00:03:28.140 --> 03:33.200
+00:03:27.240 --> 00:03:32.959
TUI Emacs actually also supports them since a while now.
-03:33.200 --> 03:34.600
+00:03:32.960 --> 00:03:34.639
And in this case, I'm demonstrating
-03:34.600 --> 03:36.000
+00:03:34.640 --> 00:03:35.999
how even the touchscreen events
-03:36.000 --> 03:39.133
+00:03:36.000 --> 00:03:39.119
can be inspected using the usual help system,
-03:39.166 --> 03:43.333
+00:03:39.120 --> 00:03:43.359
and how context-mode notices
-03:43.366 --> 03:45.200
+00:03:43.360 --> 00:03:45.239
where we are and allows me to, for example,
-03:45.200 --> 03:47.800
+00:03:45.240 --> 00:03:47.799
evaluate this specific region,
-03:47.800 --> 03:49.300
+00:03:47.800 --> 00:03:49.079
which I've highlighted down there,
-03:49.333 --> 03:58.300
+00:03:49.080 --> 00:03:58.319
binding a command to touch-screen-scroll. Yeah.
-03:58.333 --> 04:00.533
+00:03:58.320 --> 00:04:00.479
One should note that these additions,
-04:00.566 --> 04:02.400
+00:04:00.480 --> 00:04:02.359
for example touchscreen interaction,
-04:02.400 --> 04:03.833
+00:04:02.360 --> 00:04:04.159
are not specific to Android,
-04:03.866 --> 04:07.066
+00:04:04.160 --> 00:04:06.839
but they also are supported in other operating systems,
-04:07.100 --> 04:12.200
+00:04:06.840 --> 00:04:12.279
such as Wayland and Xorg, which are not operating systems,
-04:12.200 --> 04:15.300
+00:04:12.280 --> 00:04:15.279
and Windows, insofar as they have touchscreen,
-04:15.333 --> 00:04:18.419
+00:04:15.280 --> 00:04:18.419
and devices have touchscreen support.
-00:04:18.420 --> 04:21.300
+00:04:18.420 --> 00:04:21.239
One should mention, or I want to mention,
-04:21.333 --> 04:24.666
+00:04:21.240 --> 00:04:24.039
that the main developer behind this feature, Po Lu,
-04:24.700 --> 04:27.500
+00:04:24.040 --> 00:04:27.319
should be complimented for the additional effort he put
-04:27.533 --> 00:04:31.019
+00:04:27.320 --> 00:04:30.979
into making sure that Emacs for Android
-00:04:31.020 --> 04:34.133
+00:04:30.980 --> 00:04:33.719
can be built using only a free software toolchain,
-04:34.166 --> 00:04:36.359
+00:04:33.720 --> 00:04:36.999
which is certainly not something one has come to expect
-00:04:36.360 --> 04:40.700
+00:04:37.000 --> 00:04:40.759
from working on Android applications,
-04:40.733 --> 04:43.833
+00:04:40.760 --> 00:04:43.839
as usually you have to agree to some terms and conditions
-04:43.866 --> 00:04:46.519
+00:04:43.840 --> 00:04:46.479
for Google-specific software.
-00:04:46.520 --> 04:49.633
+00:04:46.480 --> 00:04:49.639
Final note is that if you try and look for this online,
-04:49.666 --> 04:52.133
+00:04:49.640 --> 00:04:52.119
there are APKs you can find,
-04:52.166 --> 04:54.666
+00:04:52.120 --> 00:04:54.679
but some of them might be outdated.
-04:54.700 --> 04:59.333
+00:04:54.680 --> 00:04:59.359
To the best of my knowledge, Po Lu has...
-04:59.366 --> 05:03.400
+00:04:59.360 --> 00:05:02.399
Emacs 30 Android Sourceforge...
-05:03.400 --> 05:06.500
+00:05:02.400 --> 00:05:06.759
He has set up some system where here in Sourceforge,
-05:06.533 --> 05:12.433
+00:05:06.760 --> 00:05:12.799
there are regular and updated
-05:12.466 --> 05:14.500
+00:05:12.800 --> 00:05:14.519
APK files which you can download
-05:14.533 --> 05:16.933
+00:05:14.520 --> 00:05:17.039
to avoid having to build it yourself,
-05:16.966 --> 05:18.866
+00:05:17.040 --> 00:05:18.559
testing out the newest version
-05:18.900 --> 05:24.133
+00:05:18.560 --> 00:05:27.619
in case there are some bugs which you'd like to report.
-05:24.166 --> 05:33.100
+00:05:27.620 --> 00:05:33.119
Which-key is a package which has now been moved
-05:33.133 --> 05:35.266
+00:05:33.120 --> 00:05:34.719
from ELPA to the core.
-05:35.300 --> 00:05:39.179
+00:05:34.720 --> 00:05:38.879
If you haven't heard of which-key before, the idea is,
-00:05:39.180 --> 05:41.633
+00:05:38.880 --> 00:05:41.399
or the general pitch is that which-key
-05:41.666 --> 05:45.233
+00:05:41.400 --> 00:05:45.279
is a additional documentation interface for Emacs
-05:45.266 --> 05:49.700
+00:05:45.280 --> 00:05:49.639
for displaying various keys which you could input,
-05:49.733 --> 00:05:53.439
+00:05:49.640 --> 00:05:53.479
or various keys and key maps
-00:05:53.440 --> 05:54.833
+00:05:53.480 --> 00:05:55.479
that have been partially inputted.
-05:54.866 --> 05:57.633
+00:05:55.480 --> 00:05:57.639
A better way to demonstrate this
-05:57.666 --> 05:59.300
+00:05:57.640 --> 00:05:59.319
or to explain this is just to show it.
-05:59.333 --> 06:03.466
+00:05:59.320 --> 00:06:03.519
If we enable the which-key mode--it's a global minor mode--
-06:03.500 --> 06:06.333
+00:06:03.520 --> 00:06:06.399
then I can press, for example, C-x,
-06:06.366 --> 06:08.700
+00:06:06.400 --> 00:06:08.719
which is a prefix for the C-x keymap.
-06:08.733 --> 06:12.433
+00:06:08.720 --> 00:06:11.719
Then down here in the buffer, in this window down here,
-06:12.466 --> 06:15.333
+00:06:11.720 --> 00:06:15.599
we see various commands which we could invoke
-06:15.366 --> 06:17.900
+00:06:15.600 --> 00:06:17.919
and the keys to invoke them with.
-06:17.933 --> 06:23.000
+00:06:17.920 --> 00:06:23.039
For example, if I wanted to say C-x i for insert-file,
-06:23.000 --> 06:27.233
+00:06:23.040 --> 00:06:27.319
then I just have to press i to highlight it once again.
-06:27.266 --> 06:32.600
+00:06:27.320 --> 00:06:32.559
It should be down here. Pressing i without having to repeat
-06:32.600 --> 06:34.733
+00:06:32.560 --> 00:06:34.759
the entire key code again,
-06:34.766 --> 06:37.200
+00:06:34.760 --> 00:06:37.719
the partial key code again, just works.
-06:37.200 --> 06:41.533
+00:06:37.720 --> 00:06:41.679
This is different from the feature which Emacs has already,
-06:41.566 --> 06:45.400
+00:06:41.680 --> 00:06:45.519
which is if you have input the partial keychord,
-06:45.400 --> 06:47.033
+00:06:45.520 --> 00:06:47.039
you can press C-h
-06:47.066 --> 06:51.000
+00:06:47.040 --> 00:06:50.959
and then a help buffer pops up with a listing
-06:51.000 --> 06:54.066
+00:06:50.960 --> 00:06:54.159
of all keybindings that start with C-x.
-06:54.100 --> 06:56.633
+00:06:54.160 --> 00:06:56.639
The information is the same, the presentation is different,
-06:56.666 --> 06:59.066
+00:06:56.640 --> 00:06:59.159
because now if I wanted to do C-x i,
-06:59.100 --> 00:07:03.339
+00:06:59.160 --> 00:07:03.319
I have to repeat the entire keychord again.
-00:07:03.340 --> 07:09.466
+00:07:03.320 --> 00:07:09.479
So it's a matter of personal preference, which you prefer.
-07:09.500 --> 00:07:10.959
+00:07:09.480 --> 00:07:12.519
This is more of a traditional static approach
-00:07:10.960 --> 07:19.633
+00:07:12.520 --> 00:07:19.639
because I get a help buffer which I can search
-07:19.666 --> 07:20.900
+00:07:19.640 --> 00:07:21.119
using usual key commands,
-07:20.933 --> 07:28.133
+00:07:21.120 --> 00:07:28.159
while which-key is more of a transient and modern.
-07:28.166 --> 07:31.400
+00:07:28.160 --> 00:07:31.299
Some might prefer that approach
-07:31.400 --> 00:07:35.719
+00:07:31.300 --> 00:07:35.519
to solving the same problem.
-00:07:35.720 --> 07:39.100
+00:07:35.520 --> 00:07:39.119
Also, don't forget to check out the customization group
-07:39.133 --> 07:41.933
+00:07:39.120 --> 00:07:41.959
for which-key which has a number of options
-07:41.966 --> 00:07:45.719
+00:07:41.960 --> 00:07:44.699
which you might or might not be interested in.
NOTE EditorConfig
-00:07:45.720 --> 07:50.866
+00:07:44.700 --> 00:07:50.879
Next up, Emacs 30 has built-in EditorConfig support.
-07:50.900 --> 07:53.633
+00:07:50.880 --> 00:07:53.679
If you have not heard of EditorConfig before,
-07:53.666 --> 00:07:56.639
+00:07:53.680 --> 00:07:56.379
I believe I've linked to it down here somewhere.
-00:07:56.640 --> 00:08:00.119
+00:07:56.380 --> 00:08:00.160
Ah, there it is, EditorConfig.
-00:08:00.120 --> 00:08:09.419
+00:08:00.161 --> 00:08:05.260
This is a file format used to specify
-00:08:09.420 --> 08:12.133
+00:08:05.261 --> 00:08:11.959
common formatting rules in an editor-agnostic way.
-08:12.166 --> 08:16.266
+00:08:11.960 --> 00:08:16.319
You might compare it to .dir-locals.el files,
-08:16.300 --> 08:19.333
+00:08:16.320 --> 00:08:19.159
which is a sort of an s-expression
-08:19.366 --> 08:22.233
+00:08:19.160 --> 00:08:22.159
for setting file-local variables in Emacs.
-08:22.266 --> 08:27.266
+00:08:22.160 --> 00:08:26.559
Of course, this is restricted to the common subset
-08:27.300 --> 08:29.400
+00:08:26.560 --> 00:08:29.299
of what all editors should understand.
-08:29.400 --> 08:31.833
+00:08:29.300 --> 00:08:31.839
For example, indentation styles,
-08:31.866 --> 00:08:35.119
+00:08:31.840 --> 00:08:36.699
whether you prefer tabs or spaces,
-00:08:35.120 --> 08:38.733
+00:08:36.700 --> 00:08:38.759
tab width, file encoding, and so on.
-08:38.766 --> 00:08:43.919
+00:08:38.760 --> 00:08:43.959
So it's nothing too advanced, but it's something...
-00:08:43.920 --> 08:48.500
+00:08:43.960 --> 00:08:48.559
It is a file format which one sees popping up more
-08:48.533 --> 08:50.433
+00:08:48.560 --> 00:08:50.439
and more often in lots of projects
-08:50.466 --> 08:53.600
+00:08:50.440 --> 00:08:53.479
which want to enforce a consistent indentation style
-08:53.600 --> 08:56.633
+00:08:53.480 --> 00:08:56.639
or formatting rules for all editors in a project.
-08:56.666 --> 09:00.200
+00:08:56.640 --> 00:09:00.159
Having this built in is certainly useful in Emacs.
-09:00.200 --> 09:03.466
+00:09:00.160 --> 00:09:03.579
Though one should note that it's not enabled by default.
-09:03.500 --> 00:09:10.939
+00:09:03.580 --> 00:09:11.039
You still have to enable the global minor mode,
-00:09:10.940 --> 09:14.200
+00:09:11.040 --> 00:09:14.239
which is simply turning on this one option.
-09:14.200 --> 09:15.500
+00:09:14.240 --> 00:09:15.599
Shouldn't be more than that,
-09:15.533 --> 09:18.633
+00:09:15.600 --> 00:09:18.759
and then Emacs will respect the rules.
-09:18.666 --> 00:09:23.640
+00:09:18.760 --> 00:09:22.999
If it finds a .editorconfig file in the project directory,
-00:09:23.641 --> 00:09:25.320
+00:09:23.000 --> 00:09:25.319
then it will respect those rules
-00:09:25.321 --> 00:09:27.320
+00:09:25.320 --> 00:09:30.239
without having to do anything else.
NOTE use-package integration with package-vc
-00:09:27.310 --> 00:09:33.567
+00:09:30.240 --> 00:09:34.599
Next up, use-package integration with package-vc.
-00:09:33.568 --> 00:09:36.533
+00:09:34.600 --> 00:09:36.519
For those not familiar with either of the two,
-00:09:36.534 --> 00:09:37.533
+00:09:36.520 --> 00:09:38.119
or at least one of the two,
-00:09:37.534 --> 00:09:40.699
+00:09:38.120 --> 00:09:41.079
use-package is a popular configuration macro.
-00:09:40.700 --> 00:09:42.833
+00:09:41.080 --> 00:09:43.119
What it does is it allows
-00:09:42.866 --> 00:09:46.233
+00:09:43.120 --> 00:09:46.274
users to declaratively specify packages
-00:09:46.266 --> 00:09:48.900
+00:09:46.275 --> 00:09:48.879
they would like to have installed and configured
-00:09:48.900 --> 00:09:51.659
+00:09:48.880 --> 00:09:51.539
in their configuration file,
-00:09:51.660 --> 00:09:54.400
+00:09:51.540 --> 00:09:54.359
so that, for example, if you copy your init.el
-00:09:54.433 --> 00:09:55.900
+00:09:54.360 --> 00:09:55.959
from one system to another,
-00:09:55.900 --> 00:09:58.500
+00:09:55.960 --> 00:09:58.519
it could bootstrap the entire configuration,
-00:09:58.500 --> 00:10:00.733
+00:09:58.520 --> 00:10:00.719
downloading all the packages you want
-00:10:00.766 --> 00:10:02.366
+00:10:00.720 --> 00:10:02.239
without having to manually do this
-00:10:02.400 --> 00:10:05.139
+00:10:02.240 --> 00:10:05.039
on every system you'd like to use.
-00:10:05.140 --> 00:10:07.600
+00:10:05.040 --> 00:10:07.559
This allows configurations
-00:10:07.633 --> 00:10:10.859
+00:10:07.560 --> 00:10:11.039
to be self-encapsulated and portable.
-00:10:10.860 --> 00:10:15.059
+00:10:11.040 --> 00:10:15.959
package-vc is an extension of package.el,
-00:10:15.060 --> 00:10:19.400
+00:10:15.960 --> 00:10:19.679
which allows installing packages from an alternative.
-00:10:19.433 --> 00:10:22.366
+00:10:19.680 --> 00:10:22.279
Instead of using the standard way to install packages,
-00:10:22.400 --> 00:10:26.499
+00:10:22.280 --> 00:10:26.239
which is just download tarball and unpack it,
-00:10:26.500 --> 00:10:27.933
+00:10:26.240 --> 00:10:28.359
byte compile, and so on,
-00:10:27.966 --> 00:10:32.399
+00:10:28.360 --> 00:10:32.759
it will fetch the files for a package
-00:10:32.400 --> 00:10:34.966
+00:10:32.760 --> 00:10:35.279
directly from the source code repository
-00:10:35.000 --> 00:10:37.233
+00:10:35.280 --> 00:10:37.239
and initialize it in such a way
-00:10:37.266 --> 00:10:38.800
+00:10:37.240 --> 00:10:39.119
that package.el can work with it.
-00:10:38.833 --> 00:10:44.239
+00:10:39.120 --> 00:10:44.319
So it's just a front-end for installing packages.
-00:10:44.240 --> 00:10:46.500
+00:10:44.320 --> 00:10:46.519
Even though these two were added to Emacs 29,
-00:10:46.500 --> 00:10:48.366
+00:10:46.520 --> 00:10:48.399
we didn't have the time to work on the
-00:10:48.400 --> 00:10:52.500
+00:10:48.400 --> 00:10:52.639
use-package integration of package-vc into use-package,
-00:10:52.500 --> 00:10:54.600
+00:10:52.640 --> 00:10:55.359
which has been changed now.
-00:10:54.633 --> 00:11:00.139
+00:10:55.360 --> 00:11:00.119
What we have with Emacs 30 is that
-00:11:00.140 --> 00:11:02.833
+00:11:00.120 --> 00:11:02.839
there is a :vc keyword for use-package
-00:11:02.866 --> 00:11:05.200
+00:11:02.840 --> 00:11:05.319
with which we can instruct use-package
-00:11:05.233 --> 00:11:10.239
+00:11:05.320 --> 00:11:10.760
to not download a package using tarball,
-00:11:10.240 --> 00:11:12.433
+00:11:10.774 --> 00:11:12.519
but instead to fetch the source code
-00:11:12.466 --> 00:11:13.766
+00:11:12.520 --> 00:11:13.799
from a source code repository.
-00:11:13.800 --> 00:11:15.566
+00:11:13.800 --> 00:11:15.919
This is useful if you, for example,
-00:11:15.600 --> 00:11:18.200
+00:11:15.920 --> 00:11:18.319
have packages which you yourself work on
-00:11:18.233 --> 00:11:19.933
+00:11:18.320 --> 00:11:19.959
and know that you always want to have
-00:11:19.966 --> 00:11:21.900
+00:11:19.960 --> 00:11:21.919
the development version of the package
-00:11:21.900 --> 00:11:26.819
+00:11:21.920 --> 00:11:26.639
where you can directly commit changes you've made
-00:11:26.820 --> 00:11:29.733
+00:11:26.640 --> 00:11:29.159
to the repository and push them upstream.
-00:11:29.766 --> 00:11:32.100
+00:11:29.160 --> 00:11:32.399
Or, if you know that you want to contribute to a package,
-00:11:32.100 --> 00:11:34.966
+00:11:32.400 --> 00:11:35.559
you can use package-vc to download the source code,
-00:11:35.000 --> 00:11:37.366
+00:11:35.560 --> 00:11:37.319
have all the version control information,
-00:11:37.400 --> 00:11:41.739
+00:11:37.320 --> 00:11:41.759
prepare a patch and send it upstream.
-00:11:41.740 --> 00:11:43.800
+00:11:41.760 --> 00:11:44.119
In these examples here,
-00:11:43.833 --> 00:11:49.166
+00:11:44.120 --> 00:11:49.119
the first example Lisp instructs package-vc
-00:11:49.200 --> 00:11:52.366
+00:11:49.120 --> 00:11:52.959
to download the source code from a URL.
-00:11:52.400 --> 00:11:55.400
+00:11:52.960 --> 00:11:55.119
So this is a git URL where it will download
-00:11:55.433 --> 00:11:57.400
+00:11:55.120 --> 00:11:57.399
the source code from, and in this case,
-00:11:57.433 --> 00:12:00.000
+00:11:57.400 --> 00:12:00.399
choose the newest checkout of the source code,
-00:12:00.033 --> 00:12:04.939
+00:12:00.400 --> 00:12:05.680
not the latest release. Down here, we have another example.
-00:12:04.940 --> 00:12:08.766
+00:12:05.060 --> 00:12:09.159
I prefer to consider the following example here.
-00:12:08.800 --> 00:12:10.733
+00:12:09.160 --> 00:12:10.879
If we just had written this,
-00:12:10.766 --> 00:12:13.200
+00:12:10.880 --> 00:12:13.159
then package-vc would use the metadata
-00:12:13.233 --> 00:12:15.000
+00:12:13.160 --> 00:12:16.279
which an ELPA server provides
-00:12:15.033 --> 00:12:20.166
+00:12:16.280 --> 00:12:19.799
to fetch the URL from the official repository of,
-00:12:20.200 --> 00:12:22.833
+00:12:19.800 --> 00:12:22.839
in this case, BBDB, without having to...
-00:12:22.866 --> 00:12:27.733
+00:12:22.840 --> 00:12:28.239
It would be more or less the same like this up here,
-00:12:27.766 --> 00:12:32.700
+00:12:28.240 --> 00:12:32.639
with the simple difference that package-vc integration
-00:12:32.700 --> 00:12:36.300
+00:12:32.640 --> 00:12:36.359
into use-package doesn't check out the latest commit,
-00:12:36.300 --> 00:12:37.766
+00:12:36.360 --> 00:12:38.359
but the latest release,
-00:12:37.800 --> 00:12:44.979
+00:12:38.360 --> 00:12:44.159
just to keep configurations more deterministic by default.
-00:12:44.980 --> 00:12:47.566
+00:12:44.160 --> 00:12:47.879
Of course, if you prefer to use latest commit,
-00:12:47.600 --> 00:12:52.179
+00:12:47.880 --> 00:12:52.439
you can use a package-vc install command
-00:12:52.180 --> 00:12:54.933
+00:12:52.440 --> 00:12:54.879
or just update the package manually yourself,
-00:12:54.966 --> 00:13:01.779
+00:12:54.880 --> 00:13:01.739
which you can use using package-vc-upgrade.
-00:13:01.780 --> 00:13:04.366
+00:13:01.740 --> 00:13:04.319
Next, I'd like to focus on a few features
-00:13:04.400 --> 00:13:07.000
+00:13:04.320 --> 00:13:07.740
which one might not necessarily realize directly,
-00:13:07.033 --> 00:13:11.559
+00:13:07.741 --> 00:13:11.399
but will hopefully improve your experience with Emacs.
NOTE JSON
-00:13:11.560 --> 00:13:15.133
+00:13:11.400 --> 00:13:15.119
First up in this list is a new JSON parser.
-00:13:15.166 --> 00:13:21.959
+00:13:15.120 --> 00:13:21.399
Let's maybe show the source code for that one:
-00:13:21.960 --> 00:13:39.533
+00:13:21.400 --> 00:13:39.319
not json.el, json.c. The history of JSON parsing in Emacs
-00:13:39.566 --> 00:13:43.366
+00:13:39.320 --> 00:13:43.279
started with Emacs 23 with the addition of json.el.
-00:13:43.400 --> 00:13:46.766
+00:13:43.280 --> 00:13:46.919
This was the file which we had just opened a moment ago.
-00:13:46.800 --> 00:13:50.366
+00:13:46.920 --> 00:13:50.959
This is a JSON parser in Emacs Lisp.
-00:13:50.400 --> 00:13:53.233
+00:13:50.960 --> 00:13:53.199
It's fine, it does the job, but it can get slow
-00:13:53.266 --> 00:13:55.000
+00:13:53.200 --> 00:13:55.479
if we have a situation like where
-00:13:55.033 --> 00:14:00.319
+00:13:55.480 --> 00:14:00.479
Eglot uses a LSP server to communicate with
-00:14:00.320 --> 00:14:02.999
+00:14:00.480 --> 00:14:02.959
and the LSP server can get a bit chatty,
-00:14:03.000 --> 00:14:05.133
+00:14:02.960 --> 00:14:05.479
sending a lot of JSON data,
-00:14:05.166 --> 00:14:07.966
+00:14:05.480 --> 00:14:08.199
which all has to be parsed and garbage collected,
-00:14:08.000 --> 00:14:09.933
+00:14:08.200 --> 00:14:10.199
which can slow down Emacs a bit.
-00:14:09.966 --> 00:14:13.733
+00:14:10.200 --> 00:14:14.119
The situation was improved upon in Emacs 29
-00:14:13.766 --> 00:14:18.000
+00:14:14.120 --> 00:14:17.959
when JSON parsing was added to the core.
-00:14:18.033 --> 00:14:21.000
+00:14:17.960 --> 00:14:21.039
This was the json.c file, which we see on this side,
-00:14:21.033 --> 00:14:22.733
+00:14:21.040 --> 00:14:23.279
the old version of the json.c file,
-00:14:22.766 --> 00:14:26.700
+00:14:23.280 --> 00:14:27.119
which employed the Jansson library (it's the C library)
-00:14:26.700 --> 00:14:31.899
+00:14:27.120 --> 00:14:33.159
for parsing and accelerating JSON parsing in Emacs.
-00:14:31.900 --> 00:14:33.966
+00:14:33.160 --> 00:14:33.999
This was good enough,
-00:14:34.000 --> 00:14:36.200
+00:14:34.000 --> 00:14:36.159
or it certainly improved the situation
-00:14:36.233 --> 00:14:38.300
+00:14:36.160 --> 00:14:38.559
for a lot of LSP clients.
-00:14:38.300 --> 00:14:44.766
+00:14:38.560 --> 00:14:45.479
But in Emacs 30, the situation has been improved once more
-00:14:44.800 --> 00:14:49.800
+00:14:45.480 --> 00:14:50.359
with the addition of a JSON parser directly in Emacs.
-00:14:49.833 --> 00:14:53.566
+00:14:50.360 --> 00:14:52.999
So instead of using an external library,
-00:14:53.600 --> 00:14:57.400
+00:14:53.000 --> 00:14:57.719
there's a custom JSON parser written in C in the Emacs core,
-00:14:57.433 --> 00:15:01.539
+00:14:57.720 --> 00:15:01.559
which directly generates Elisp objects.
-00:15:01.540 --> 00:15:05.033
+00:15:01.560 --> 00:15:04.999
The advantage to this approach
-00:15:05.066 --> 00:15:06.433
+00:15:05.000 --> 00:15:06.359
compared to the Jansson approach
-00:15:06.466 --> 00:15:07.933
+00:15:06.360 --> 00:15:07.919
is that there's no intermediate format
-00:15:07.966 --> 00:15:09.200
+00:15:07.920 --> 00:15:09.199
which has to be allocated
-00:15:09.233 --> 00:15:11.500
+00:15:09.200 --> 00:15:11.559
and memory managed and freed again,
-00:15:11.500 --> 00:15:19.539
+00:15:11.560 --> 00:15:19.479
which of course incurs an additional performance overhead.
-00:15:19.540 --> 00:15:22.433
+00:15:19.480 --> 00:15:22.659
Next to this, there's also a custom serializer
-00:15:22.466 --> 00:15:29.239
+00:15:22.660 --> 00:15:27.119
for JSON contents translating a JSON object into a string.
-00:15:29.240 --> 00:15:30.640
+00:15:27.120 --> 00:15:30.279
... The consequence of this is that
-00:15:30.641 --> 00:15:35.519
+00:15:30.280 --> 00:15:35.600
there is absolutely no dependency on Jansson anymore.
-00:15:35.520 --> 00:15:38.533
+00:15:35.640 --> 00:15:38.559
This in turn means that now all Emacs users
-00:15:38.566 --> 00:15:39.800
+00:15:38.560 --> 00:15:39.799
from Emacs 30 onwards
-00:15:39.833 --> 00:15:42.733
+00:15:39.800 --> 00:15:43.119
can take advantage of this new JSON parser
-00:15:42.766 --> 00:15:44.933
+00:15:43.120 --> 00:15:44.879
and don't have to worry about whether
-00:15:44.966 --> 00:15:47.633
+00:15:44.880 --> 00:15:47.799
or not they have Jansson, this JSON parsing library,
-00:15:47.666 --> 00:15:50.433
+00:15:47.800 --> 00:15:50.999
installed on their system or not when they want
-00:15:50.466 --> 00:15:56.679
+00:15:51.000 --> 00:15:56.839
to take advantage of this accelerated JSON parsing.
NOTE Native compilation
-00:15:56.680 --> 00:16:00.366
+00:15:56.840 --> 00:16:00.639
Next up, another behind-the-scenes feature
-00:16:00.400 --> 00:16:06.406
+00:16:00.640 --> 00:16:04.559
is that if you build Emacs on your own from source,
-00:16:06.407 --> 00:16:07.766
+00:16:04.560 --> 00:16:07.879
you might know that if you wanted
-00:16:07.800 --> 00:16:09.533
+00:16:07.880 --> 00:16:09.559
to use native compilation,
-00:16:09.566 --> 00:16:12.379
+00:16:09.560 --> 00:16:12.319
so the translation of Elisp bytecodes
-00:16:12.380 --> 00:16:15.533
+00:16:12.320 --> 00:16:15.559
to whatever the native assembly
-00:16:15.566 --> 00:16:19.133
+00:16:15.560 --> 00:16:19.319
or native instruction set is on your system,
-00:16:19.166 --> 00:16:24.339
+00:16:19.320 --> 00:16:24.359
you have to specify with native compilation.
-00:16:24.340 --> 00:16:25.933
+00:16:24.360 --> 00:16:25.879
when invoking the configure script,
-00:16:25.966 --> 00:16:28.366
+00:16:25.880 --> 00:16:28.879
otherwise it would not have been enabled at all.
-00:16:28.400 --> 00:16:32.479
+00:16:28.880 --> 00:16:34.119
With Emacs 30, this step is not necessary anymore.
-00:16:32.480 --> 00:16:36.233
+00:16:34.120 --> 00:16:36.719
The configure script will automatically check
-00:16:36.266 --> 00:16:41.700
+00:16:36.720 --> 00:16:41.759
if you have the libgccjit library installed on your system,
-00:16:41.700 --> 00:16:42.766
+00:16:41.760 --> 00:16:42.879
and if that is so,
-00:16:42.800 --> 00:16:45.566
+00:16:42.880 --> 00:16:45.999
then native compilation will be enabled by default.
-00:16:45.600 --> 00:16:49.400
+00:16:46.000 --> 00:16:49.559
In other words, if you have an issue with native compilation
-00:16:49.433 --> 00:16:52.500
+00:16:49.560 --> 00:16:52.799
or prefer not to use it for whatever reason,
-00:16:52.500 --> 00:16:55.533
+00:16:52.800 --> 00:16:55.559
you now have to type --without-native-compilation
-00:16:55.566 --> 00:16:58.433
+00:16:55.560 --> 00:16:58.199
when compiling Emacs to prevent this from happening.
-00:16:58.466 --> 00:17:02.433
+00:16:58.200 --> 00:17:02.279
But native compilation was added in Emacs 28
-00:17:02.466 --> 00:17:04.333
+00:17:02.280 --> 00:17:04.399
and has proven to be a very stable
-00:17:04.366 --> 00:17:06.233
+00:17:04.400 --> 00:17:06.199
and useful feature for most people,
-00:17:06.266 --> 00:17:09.400
+00:17:06.200 --> 00:17:10.199
so there's probably no reason to do this
-00:17:09.433 --> 00:17:11.133
+00:17:10.200 --> 00:17:10.939
and you can just invoke the configure script
-00:17:11.166 --> 00:17:16.300
+00:17:10.940 --> 00:17:16.239
with one argument less. Right, and I'd like to finish up
-00:17:16.300 --> 00:17:19.500
+00:17:16.240 --> 00:17:19.399
with a few smaller features, a few smaller highlights.
-00:17:19.500 --> 00:17:29.639
+00:17:19.400 --> 00:17:30.719
Maybe we can go back to the listing here. Here we have it.
NOTE Tree-sitter
-00:17:29.640 --> 00:17:32.833
+00:17:30.720 --> 00:17:32.839
There are a few new major modes
-00:17:32.866 --> 00:17:34.333
+00:17:32.840 --> 00:17:34.239
based on the tree-sitter library.
-00:17:34.366 --> 00:17:37.939
+00:17:34.240 --> 00:17:37.739
tree-sitter is this parser library
-00:17:37.940 --> 00:17:39.933
+00:17:37.740 --> 00:17:42.879
which has been integrated into Emacs 29.
-00:17:39.966 --> 00:17:44.100
+00:17:42.880 --> 00:17:44.079
It allows the integration
-00:17:44.100 --> 00:17:48.400
+00:17:44.080 --> 00:17:48.359
of external, specialized, and quick parsers into Emacs,
-00:17:48.433 --> 00:17:52.133
+00:17:48.360 --> 00:17:52.119
which improve stuff like syntax highlighting, indentation,
-00:17:52.166 --> 00:17:55.233
+00:17:52.120 --> 00:17:55.279
structural navigation, imenu support,
-00:17:55.266 --> 00:18:01.033
+00:17:55.280 --> 00:18:00.839
by simply having a better understanding of, for example,
-00:18:01.066 --> 00:18:03.900
+00:18:00.840 --> 00:18:03.919
a HTML file, or a Lua file, a PHP file,
-00:18:03.900 --> 00:18:06.233
+00:18:03.920 --> 00:18:06.239
than what people usually implement
-00:18:06.266 --> 00:18:10.366
+00:18:06.240 --> 00:18:10.319
using regular expressions in traditional major modes.
-00:18:10.400 --> 00:18:16.779
+00:18:10.320 --> 00:18:16.819
So, a few new major modes which you can try out here.
NOTE Completion preview mode
-00:18:16.780 --> 00:18:20.033
+00:18:16.820 --> 00:18:19.959
Another interesting feature is the completion-preview-mode.
-00:18:20.066 --> 00:18:22.966
+00:18:19.960 --> 00:18:23.319
We can maybe try it out here in the scratch buffer.
-00:18:23.000 --> 00:18:28.300
+00:18:23.320 --> 00:18:28.199
If I enable completion-preview-mode...
-00:18:28.300 --> 00:18:32.033
+00:18:28.200 --> 00:18:32.719
This is a non-global minor mode,
-00:18:32.066 --> 00:18:38.600
+00:18:32.720 --> 00:18:38.479
which will display completion options inline using overlays.
-00:18:38.633 --> 00:18:43.133
+00:18:38.480 --> 00:18:43.199
For example, if I start typing a longer symbol like define,
-00:18:43.166 --> 00:18:48.200
+00:18:43.200 --> 00:18:48.119
now we have a derived mode. It suggests me to...
-00:18:48.233 --> 00:18:51.133
+00:18:48.120 --> 00:18:51.039
I can just press TAB and then it completes the option here,
-00:18:51.166 --> 00:18:51.933
+00:18:51.040 --> 00:18:51.839
but it didn't actually...
-00:18:51.966 --> 00:18:55.333
+00:18:51.840 --> 00:18:55.279
It's not actually modifying the buffer, it's not pressing,
-00:18:55.366 --> 00:18:57.100
+00:18:55.280 --> 00:18:57.039
these are just overlays,
-00:18:57.100 --> 00:18:59.533
+00:18:57.040 --> 00:18:59.519
so if I move around, it gets deleted.
-00:18:59.566 --> 00:19:02.619
+00:18:59.520 --> 00:19:02.539
It wouldn't get saved if I were to save the buffer.
-00:19:02.620 --> 00:19:04.966
+00:19:02.540 --> 00:19:04.999
The same also should work in a shell buffer.
-00:19:05.000 --> 00:19:08.366
+00:19:05.000 --> 00:19:09.239
If I enable completion preview mode here and start...
-00:19:08.400 --> 00:19:12.800
+00:19:09.240 --> 00:19:12.759
In this case, I'm using the bash completion package,
-00:19:12.833 --> 00:19:15.000
+00:19:12.760 --> 00:19:15.199
which provides additional completion information.
-00:19:15.033 --> 00:19:17.933
+00:19:15.200 --> 00:19:17.839
This is not only limited to programming systems,
-00:19:17.966 --> 00:19:22.900
+00:19:17.840 --> 00:19:22.919
but anywhere where you have completion at point in Emacs.
-00:19:22.900 --> 00:19:26.159
+00:19:22.920 --> 00:19:26.059
I can start typing here, ignore, and put ignore-backups,
-00:19:26.160 --> 00:19:30.000
+00:19:26.060 --> 00:19:29.919
and it hints to the options which I have
-00:19:30.033 --> 00:19:34.200
+00:19:29.920 --> 00:19:34.219
and allows me to complete them quickly.
NOTE package-isolate
-00:19:34.233 --> 00:19:37.966
+00:19:34.220 --> 00:19:37.879
Another small feature is the package-isolate command.
-00:19:38.000 --> 00:19:40.000
+00:19:37.880 --> 00:19:39.959
What this does is it will start
-00:19:40.033 --> 00:19:42.800
+00:19:39.960 --> 00:19:42.759
or it will prompt me for packages
-00:19:42.833 --> 00:19:44.333
+00:19:42.760 --> 00:19:44.119
I have installed in my system
-00:19:44.366 --> 00:19:46.500
+00:19:44.120 --> 00:19:46.439
and will start an isolated
-00:19:46.500 --> 00:19:51.133
+00:19:46.440 --> 00:19:51.079
or like "emacs -Q"-ish instance of emacs
-00:19:51.166 --> 00:19:53.333
+00:19:51.080 --> 00:19:53.639
with only these packages installed.
-00:19:53.366 --> 00:20:00.439
+00:19:53.640 --> 00:20:00.279
So for example, if I said I want slime and I want diff-hl,
-00:20:00.440 --> 00:20:02.700
+00:20:00.280 --> 00:20:02.279
then this is a new Emacs window.
-00:20:02.700 --> 00:20:04.533
+00:20:02.280 --> 00:20:04.439
It's unrelated to the one around.
-00:20:04.566 --> 00:20:06.500
+00:20:04.440 --> 00:20:06.839
It uses the same executable, of course,
-00:20:06.500 --> 00:20:09.939
+00:20:06.840 --> 00:20:09.939
but will not load your configuration file
-00:20:09.940 --> 00:20:13.679
+00:20:09.940 --> 00:20:13.619
or any other further customizations on your system.
-00:20:13.680 --> 00:20:15.533
+00:20:13.620 --> 00:20:15.159
All it does, it will ensure
-00:20:15.566 --> 00:20:17.933
+00:20:15.160 --> 00:20:17.919
that these packages, which are listed here,
-00:20:17.966 --> 00:20:24.599
+00:20:17.920 --> 00:20:24.499
so in our case SLIME and dependencies of SLIME and diff-hl,
-00:20:24.600 --> 00:20:25.300
+00:20:24.500 --> 00:20:25.239
in the system
-00:20:25.300 --> 00:20:29.100
+00:20:25.240 --> 00:20:29.039
so that I could, for example, as you can see here,
-00:20:29.100 --> 00:20:32.139
+00:20:29.040 --> 00:20:31.959
diff-hl-mode works.
-00:20:32.140 --> 00:20:34.766
+00:20:31.960 --> 00:20:35.479
Okay, this is not a version-controlled file.
-00:20:34.800 --> 00:20:41.200
+00:20:35.480 --> 00:20:41.119
Maybe if we take a look at, have I enabled diff-hl-mode?
-00:20:41.233 --> 00:20:44.600
+00:20:41.120 --> 00:20:44.559
It's enabled in this case. What diff-hl-mode does
-00:20:44.633 --> 00:20:48.300
+00:20:44.560 --> 00:20:48.479
is it displays these version control changes
-00:20:48.300 --> 00:20:49.566
+00:20:48.480 --> 00:20:49.999
in the fringe of a buffer.
-00:20:49.600 --> 00:20:54.133
+00:20:50.000 --> 00:20:54.079
And even though this is a uncustomized version of Emacs,
-00:20:54.166 --> 00:20:56.333
+00:20:54.080 --> 00:20:56.319
or an uncustomized instance of Emacs,
-00:20:56.366 --> 00:20:59.000
+00:20:56.320 --> 00:20:58.959
it was easy for me to load this one package,
-00:20:59.033 --> 00:21:02.033
+00:20:58.960 --> 00:21:01.959
or these two packages and all the dependencies necessary.
-00:21:02.066 --> 00:21:05.300
+00:21:01.960 --> 00:21:05.319
As you can imagine, the main purpose for this
-00:21:05.300 --> 00:21:07.733
+00:21:05.320 --> 00:21:07.719
is to make debugging issues easier.
-00:21:07.766 --> 00:21:10.566
+00:21:07.720 --> 00:21:10.519
If you want to report about an issue
-00:21:10.600 --> 00:21:14.900
+00:21:10.520 --> 00:21:14.519
you have with a package. And if I close this, it's closed
-00:21:14.900 --> 00:21:16.919
+00:21:14.520 --> 00:21:16.779
and everything's thrown away.
NOTE Reindenting
-00:21:16.920 --> 00:21:19.000
+00:21:16.780 --> 00:21:18.959
Last up, a nice feature I think
-00:21:19.033 --> 00:21:20.933
+00:21:18.960 --> 00:21:21.199
a lot of people will appreciate is,
-00:21:20.966 --> 00:21:24.300
+00:21:21.200 --> 00:21:24.239
if you are familiar with... Let's open a text buffer.
-00:21:24.300 --> 00:21:30.279
+00:21:24.240 --> 00:21:30.079
The M-q key is traditionally bound to fill-paragraph.
-00:21:30.280 --> 00:21:32.200
+00:21:30.080 --> 00:21:32.119
What this means is that...
-00:21:32.233 --> 00:21:35.000
+00:21:32.120 --> 00:21:34.999
Let's, for example, copy this text from here
-00:21:35.033 --> 00:21:40.366
+00:21:35.000 --> 00:21:40.359
and squash it all into one line. If I press M-q here,
-00:21:40.400 --> 00:21:42.719
+00:21:40.360 --> 00:21:42.399
then the lines will be broken
-00:21:42.720 --> 00:21:49.879
+00:21:42.400 --> 00:21:49.479
according to the fill column indicator up here.
-00:21:49.880 --> 00:21:52.600
+00:21:49.480 --> 00:21:52.399
This is the traditional usage of M-q,
-00:21:52.633 --> 00:21:54.200
+00:21:52.400 --> 00:21:54.119
and it still works in text-mode buffers,
-00:21:54.233 --> 00:21:55.859
+00:21:54.120 --> 00:21:56.639
but in prog-mode buffers--
-00:21:55.860 --> 00:22:00.100
+00:21:56.640 --> 00:22:00.079
so any major mode inheriting prog-mode--
-00:22:00.100 --> 00:22:02.233
+00:22:00.080 --> 00:22:02.199
M-q will now by default be bound
-00:22:02.266 --> 00:22:09.779
+00:22:02.200 --> 00:22:09.719
to prog-fill-reindent-defun. To summarize the point,
-00:22:09.780 --> 00:22:13.433
+00:22:09.720 --> 00:22:13.479
if you are editing a string or a comment,
-00:22:13.466 --> 00:22:16.039
+00:22:13.480 --> 00:22:15.919
then the comment will be filled.
-00:22:16.040 --> 00:22:19.100
+00:22:15.920 --> 00:22:19.159
But if you are outside of a comment or outside of a string,
-00:22:19.100 --> 00:22:23.166
+00:22:19.160 --> 00:22:22.919
then the defun or the top-level construct
-00:22:23.200 --> 00:22:26.159
+00:22:22.920 --> 00:22:26.119
in the programming language will be re-indented.
-00:22:26.160 --> 00:22:34.099
+00:22:26.120 --> 00:22:33.859
Let's try that out with maybe some file I have open here.
-00:22:34.100 --> 00:22:38.800
+00:22:33.860 --> 00:22:38.819
If I'm in this... Let's choose some function,
-00:22:38.833 --> 00:22:40.733
+00:22:38.820 --> 00:22:41.279
let's take this for example.
-00:22:40.766 --> 00:22:43.959
+00:22:41.280 --> 00:22:43.879
If we followed all of this again,
-00:22:43.960 --> 00:22:47.400
+00:22:43.880 --> 00:22:47.619
and I press M-q in on this paragraph,
-00:22:47.433 --> 00:22:49.433
+00:22:47.620 --> 00:22:50.039
then the paragraph gets re-indented.
-00:22:49.466 --> 00:22:55.800
+00:22:50.040 --> 00:22:54.859
But if I'm down here and I choose to break the indentation
-00:22:55.833 --> 00:22:58.166
+00:22:54.860 --> 00:22:56.180
and then press M-q,
-00:22:58.200 --> 00:23:02.333
+00:22:56.181 --> 00:23:02.399
then as you see, it practically selected the defun
-00:23:02.366 --> 00:23:03.566
+00:23:02.400 --> 00:23:03.559
and re-indented everything
-00:23:03.600 --> 00:23:06.959
-without having me to move the point around in the buffer.
+00:23:03.560 --> 00:23:05.959
+without having need to move the point around in the buffer.
-00:23:06.960 --> 00:23:08.633
+00:23:06.800 --> 00:23:08.679
So I think that's a really nice feature,
-00:23:08.666 --> 00:23:11.100
+00:23:08.680 --> 00:23:11.039
which a lot of people can appreciate.
-00:23:11.100 --> 00:23:17.939
+00:23:11.040 --> 00:23:17.879
It's one of those niceties which comes from time to time.
NOTE Wrapping up
-00:23:17.940 --> 00:23:20.633
+00:23:17.880 --> 00:23:20.679
Right, so that was my overview
-00:23:20.666 --> 00:23:22.600
+00:23:20.680 --> 00:23:22.559
of what's going to be new in Emacs 30.
-00:23:22.633 --> 00:23:24.400
+00:23:22.560 --> 00:23:24.359
I hope that most people could take away
-00:23:24.433 --> 00:23:25.579
+00:23:24.360 --> 00:23:25.659
something from this presentation
-00:23:25.580 --> 00:23:28.900
+00:23:25.660 --> 00:23:29.419
and have something to look forward
-00:23:28.900 --> 00:23:31.133
+00:23:29.420 --> 00:23:31.599
to try out after upgrading.
-00:23:31.166 --> 00:23:33.833
+00:23:31.600 --> 00:23:33.839
As mentioned initially, as of recording,
-00:23:33.866 --> 00:23:36.566
+00:23:33.840 --> 00:23:36.939
this release has not been completed yet.
-00:23:36.600 --> 00:23:38.833
+00:23:36.940 --> 00:23:38.879
If this is still not the case
-00:23:38.866 --> 00:23:40.233
+00:23:38.880 --> 00:23:40.199
when you're seeing this video,
-00:23:40.266 --> 00:23:43.833
+00:23:40.200 --> 00:23:43.799
please consider downloading and building Emacs 30 yourself.
-00:23:43.866 --> 00:23:48.200
+00:23:43.800 --> 00:23:48.319
If you have any issues, which is always the case,
-00:23:48.233 --> 00:23:56.439
+00:23:48.320 --> 00:23:56.339
please report them to using report-emacs-bug.
-00:23:56.440 --> 00:23:57.907
+00:23:56.340 --> 00:23:57.740
That will pop up a mail buffer,
-00:23:57.908 --> 00:23:59.600
+00:23:57.741 --> 00:23:59.519
and then you can describe your issue and send them out.
-00:23:59.633 --> 00:24:01.800
+00:23:59.520 --> 00:24:01.839
All bug reports are valuable,
-00:24:01.833 --> 00:24:04.433
+00:24:01.840 --> 00:24:03.999
even if they are false positives or duplicates--
-00:24:04.466 --> 00:24:05.233
+00:24:04.000 --> 00:24:05.239
it doesn't matter--
-00:24:05.266 --> 00:24:08.533
+00:24:05.240 --> 00:24:08.919
because when you take the time to submit a bug report,
-00:24:08.566 --> 00:24:12.233
+00:24:08.920 --> 00:24:12.359
which describes something that's specific to your setup,
-00:24:12.266 --> 00:24:16.700
+00:24:12.360 --> 00:24:16.839
which the developers might not have noticed or known about,
-00:24:16.700 --> 00:24:19.133
+00:24:16.840 --> 00:24:19.079
then you are certainly helping out a lot of other people
-00:24:19.166 --> 00:24:21.766
+00:24:19.080 --> 00:24:21.679
which might run into the same issue in the future.
-00:24:21.800 --> 00:24:23.200
+00:24:21.680 --> 00:24:23.359
Especially with upgrades,
-00:24:23.233 --> 00:24:26.566
+00:24:23.360 --> 00:24:26.559
it would be nice to figure out small problems
-00:24:26.600 --> 00:24:30.800
+00:24:26.560 --> 00:24:30.879
which make upgrading difficult for some people.
-00:24:30.833 --> 00:24:34.700
+00:24:30.880 --> 00:24:34.559
The ideal is, of course, to have no issues
-00:24:34.700 --> 00:24:37.199
+00:24:34.560 --> 00:24:37.199
when upgrading from one version to another.
-00:24:37.200 --> 00:24:39.566
+00:24:37.200 --> 00:24:41.939
Having said that, I thank you for your attention,
-00:24:39.600 --> 00:24:43.766
+00:24:41.940 --> 00:24:43.120
and I'm saying goodbye.
diff --git a/2024/captions/emacsconf-2024-gypsum--gypsum-my-clone-of-emacs-and-elisp-written-in-scheme--ramin-honary--answers.vtt b/2024/captions/emacsconf-2024-gypsum--gypsum-my-clone-of-emacs-and-elisp-written-in-scheme--ramin-honary--answers.vtt
index 0142a879..7c2708d9 100644
--- a/2024/captions/emacsconf-2024-gypsum--gypsum-my-clone-of-emacs-and-elisp-written-in-scheme--ramin-honary--answers.vtt
+++ b/2024/captions/emacsconf-2024-gypsum--gypsum-my-clone-of-emacs-and-elisp-written-in-scheme--ramin-honary--answers.vtt
@@ -1,725 +1,725 @@
WEBVTT
-00:00.069 --> 00:01.850
-Troy Hinckley's project that I'm talking about. I was going
+00:00:00.000 --> 00:00:02.999
+...Troy Hinckley's project that I'm talking about. I was going
-00:02.350 --> 00:22.139
+00:00:03.000 --> 00:00:08.799
to mention this in my presentation, but it's possible,
-00:02.350 --> 00:22.139
+00:00:08.800 --> 00:00:16.359
theoretically, that Troy Hinckley, his project could be
-00:02.350 --> 00:22.139
+00:00:16.360 --> 00:00:18.559
used as a scheme of limitation that actually runs my own
-00:02.350 --> 00:22.139
+00:00:18.560 --> 00:00:23.759
version of Emacs. And although, you know, This is
-00:25.478 --> 00:29.380
+00:00:23.760 --> 00:00:30.719
completely theoretical, and I don't know how difficult
-00:25.478 --> 00:29.380
+00:00:30.720 --> 00:00:34.079
that would be. But if Troy Hinckley implemented enough of
-00:30.781 --> 00:47.029
+00:00:34.080 --> 00:00:39.879
the R7-RS standard in Rust, it would theoretically be
-00:30.781 --> 00:47.029
+00:00:39.880 --> 00:00:46.719
possible to run the Gypsum editor in Troy Hinckley's own
-00:30.781 --> 00:47.029
+00:00:46.720 --> 00:00:50.239
editor. I thought that was kind of interesting, and I
-00:48.270 --> 00:53.833
+00:00:50.240 --> 00:00:59.119
thought it was worth mentioning, at least in the questions
-00:48.270 --> 00:53.833
+00:00:59.120 --> 00:01:12.159
and answers.
-01:12.179 --> 01:14.080
+00:01:12.160 --> 00:01:16.199
I also mentioned this in the presentation. I wanted to see
-01:14.940 --> 01:22.364
+00:01:16.200 --> 00:01:20.119
Robin Templeton's project presentation, but
-01:14.940 --> 01:22.364
+00:01:20.120 --> 00:01:22.399
unfortunately it's going to be at like four in the morning
-01:14.940 --> 01:22.364
+00:01:22.400 --> 00:01:26.239
for me. So I'm going to try and watch that tomorrow, but
-01:22.984 --> 01:31.428
+00:01:26.240 --> 00:01:29.559
that's also going to be a very interesting project to keep an
-01:22.984 --> 01:31.428
+00:01:29.560 --> 00:01:34.039
eye on if you're interested in Scheme. That's the project
-01:33.149 --> 01:38.051
+00:01:34.040 --> 00:01:37.519
where you've got the Guylain interpreter running inside of
-01:33.149 --> 01:38.051
+00:01:37.520 --> 00:02:04.679
the Emacs process. It's dynamically linked as a library.
-02:04.699 --> 02:06.748
+00:02:04.680 --> 00:02:08.759
I'm ready for questions from anybody. You can ask or you can
-02:07.431 --> 02:09.079
+00:02:08.760 --> 00:02:32.079
type. It's up to you.
-02:32.319 --> 02:34.521
+00:02:32.080 --> 00:02:37.319
Okay, let me check the etherpad.
-02:37.304 --> 02:38.245
+00:02:37.320 --> 00:02:41.159
Let's see here.
-02:41.208 --> 02:42.830
+00:02:41.160 --> 00:02:42.719
I'm not sure if I'm doing that right.
-02:46.373 --> 02:47.554
+00:02:42.720 --> 00:02:54.199
Let me check one more time. Oh, there it goes.
-02:54.221 --> 02:55.702
+00:02:54.200 --> 00:03:00.079
Let's see, so this is...
-03:00.151 --> 03:02.072
+00:03:00.080 --> 00:03:02.239
I didn't know about that first bit of history. Oh, I've heard
-03:02.332 --> 00:03:09.369
+00:03:02.240 --> 00:03:06.119
RMS say that Scheme Guile is just a nicer Lisp, but I didn't
-03:02.332 --> 03:09.776
+00:03:06.120 --> 00:03:09.079
know there were concrete talks attempts to use Guile for
-03:02.332 --> 03:09.776
+00:03:09.080 --> 00:03:14.319
Emacs that early. Let's see, that was from janneke.
NOTE Q: I'm curious to know how the hell guile-emacs deals with all of the dynamically scoped modules out there. Is there any effort to automatically modularize and namespace stuff?
-00:03:09.370 --> 00:03:19.241
+00:03:14.320 --> 00:03:17.439
I'm curious to know how the hell Guile Emacs deals with all the
-03:14.318 --> 03:19.241
+00:03:17.440 --> 00:03:21.359
dynamically scoped modules out there. Is there any effort
-03:20.181 --> 03:24.943
+00:03:21.360 --> 00:03:29.759
to automatically modularize and name? Let's see.
-03:30.523 --> 03:35.806
+00:03:29.760 --> 00:03:40.919
That might be a better question for Robin Templeton. In my
-03:36.727 --> 03:46.573
+00:03:40.920 --> 00:03:44.639
own project,
-03:36.727 --> 03:46.573
+00:03:44.640 --> 00:03:49.399
there's no module system for Emacs Lisp. There is a module
-03:46.693 --> 03:48.234
+00:03:49.400 --> 00:03:55.559
system for Scheme. And the Emacs Lisp interpreter runs in
-03:49.695 --> 03:55.158
+00:03:55.560 --> 00:04:01.599
its own environment. the require system or whatever module
-03:57.068 --> 04:11.736
+00:04:01.600 --> 00:04:06.359
system that Emacs has, once it's implemented, all of that
-03:57.068 --> 04:11.736
+00:04:06.360 --> 00:04:09.759
would just happen inside of the Emacs Lisp environment,
-03:57.068 --> 04:11.736
+00:04:09.760 --> 00:04:12.399
which is inside of the Scheme environment. And
-04:12.437 --> 04:15.898
+00:04:12.400 --> 00:04:21.479
environments are objects in Scheme.
-04:21.522 --> 04:24.103
+00:04:21.480 --> 00:04:26.399
I think a more difficult question is how to handle
-04:26.420 --> 04:31.942
+00:04:26.400 --> 00:04:33.279
threading, and Scheme has very good threading built in, in
-04:26.420 --> 04:31.942
+00:04:33.280 --> 00:04:34.839
Serphe-18[??].
-04:34.283 --> 04:48.028
+00:04:34.840 --> 00:04:43.399
But I don't think it will be easy to write Emacs Lisp form
-04:34.283 --> 04:48.028
+00:04:43.400 --> 00:04:48.479
bindings to the Scheme multi-threading implementation.
-04:48.548 --> 04:50.749
+00:04:48.480 --> 00:04:52.279
Emacs Lisp was just not cut out for that kind of thing. So I
-04:51.710 --> 04:59.894
+00:04:52.280 --> 00:04:56.559
think each Emacs Lisp, you could, I suppose, have multiple
-04:51.710 --> 04:59.894
+00:04:56.560 --> 00:05:00.039
threads each running their own Emacs Lisp environment.
-05:01.375 --> 05:02.956
+00:05:00.040 --> 00:05:04.999
Scheme would make that very simple to do.
-05:06.018 --> 05:16.744
+00:05:05.000 --> 00:05:08.759
And then there'd just be a question of how you would get those
-05:06.018 --> 05:16.744
+00:05:08.760 --> 00:05:11.679
different interpreters to communicate with each other,
-05:06.018 --> 05:16.744
+00:05:11.680 --> 00:05:16.279
perhaps using the same protocol that's used by the Emacs
-05:06.018 --> 05:16.744
+00:05:16.280 --> 00:05:23.639
server. But I haven't thought that far ahead yet.
NOTE Q: Would it be possible to support a GUI toolkit other than GTK?
-05:23.646 --> 05:28.709
+00:05:23.640 --> 00:05:26.839
Would it be possible to support a GUI toolkit other than the
-05:23.646 --> 05:28.709
+00:05:26.840 --> 00:05:31.319
GTK? Like, how is it still supports Lucid? Yes, this is
-05:31.291 --> 05:33.232
+00:05:31.320 --> 00:05:36.999
absolutely a goal of the project. I'm trying to keep the back
-05:33.873 --> 05:38.416
+00:05:37.000 --> 00:05:41.599
end separate as possible. The scheme has what you call
-05:39.817 --> 05:42.478
+00:05:41.600 --> 00:05:45.239
parameters. And these are like global variables that are
-05:43.199 --> 05:46.221
+00:05:45.240 --> 00:05:50.519
still somewhat thread safe. And every call to the GUI goes
-05:47.484 --> 05:51.225
+00:05:50.520 --> 00:05:58.199
through a parameter. So the Emacs, the interpreter and the
-05:52.125 --> 05:59.367
+00:05:58.200 --> 00:06:01.679
editor logic is all in one module. And then that module calls
-05:59.987 --> 06:04.309
+00:06:01.680 --> 00:06:06.319
out into a separate GUI module. And then you can implement
-06:04.989 --> 06:07.690
+00:06:06.320 --> 00:06:11.599
different GUI modules. So you could have one for GTK3, one
-06:08.430 --> 06:13.171
+00:06:11.600 --> 00:06:16.879
for GTK4, if you want to write the extern C bindings around Qt
-06:13.843 --> 06:20.725
+00:06:16.880 --> 00:06:21.199
or full tick, that would certainly be possible as well. It
-06:21.185 --> 06:32.168
+00:06:21.200 --> 00:06:25.919
would be nice maybe to have an SDL implementation based
-06:21.185 --> 06:32.168
+00:06:25.920 --> 00:06:30.999
maybe on Chikiti or some kind of immediate mode GUI,
-06:21.185 --> 06:32.168
+00:06:31.000 --> 00:06:37.399
something like that. But definitely GTK3 through Guile GI
-06:33.808 --> 06:38.750
+00:06:37.400 --> 00:06:41.319
is the reference implementation. Things start there. But
-06:41.298 --> 06:43.959
+00:06:41.320 --> 00:06:43.999
I'm very interested in supporting other GUIs, yes. Let's
-06:45.199 --> 00:06:45.256
+00:06:44.000 --> 00:06:46.039
see.
NOTE Q: Do you plan to provide improvements to Elisp as a language, or is the focus on a compatibility layer to facilitate doing all new extensions, etc. in Scheme?
-00:06:45.257 --> 00:06:45.879
+00:06:46.040 --> 00:06:50.759
Question, do you plan to provide improvements to ELisp
-06:47.540 --> 06:56.342
+00:06:50.760 --> 00:06:54.519
as a language or focus on a compatibility layer to
-06:47.540 --> 06:56.342
+00:06:54.520 --> 00:06:57.999
facilitate all new extensions in Scheme? Yeah, the second
-06:57.142 --> 06:57.962
+00:06:58.000 --> 00:07:04.719
one. I want to move off to Scheme. I would like for this
-07:03.384 --> 07:05.264
+00:07:04.720 --> 00:07:08.999
project to try and keep up to date with each new release of
-07:05.666 --> 07:10.789
+00:07:09.000 --> 00:07:13.799
Emacs and Emacs Lisp. That's a difficult moving target to
-07:11.850 --> 07:14.552
+00:07:13.800 --> 00:07:18.639
follow, I realize. But to the greatest extent possible, any
-07:15.152 --> 07:23.397
+00:07:18.640 --> 00:07:25.239
new features to Emacs Lisp will be pulled in from GNU Emacs.
-07:25.419 --> 07:29.041
+00:07:25.240 --> 00:07:28.599
If we happen to be able to implement something cool in
-07:25.419 --> 07:29.041
+00:07:28.600 --> 00:07:31.639
Scheme, and be able to port it over to Emacs Lisp, then sure,
-07:29.437 --> 07:36.543
+00:07:31.640 --> 00:07:35.799
it'd be nice to be able to upload or to submit that upstream to
-07:29.437 --> 07:36.543
+00:07:35.800 --> 00:07:43.079
the GNU Emacs. But I think I would prefer to have new features
-07:38.584 --> 07:43.708
+00:07:43.080 --> 00:07:47.799
written in Scheme. I would like this gypsum to be more of a
-07:43.989 --> 07:52.075
+00:07:47.800 --> 00:07:51.479
Scheme app platform that just happens to be able to also run
-07:43.989 --> 07:52.075
+00:07:51.480 --> 00:07:56.199
Emacs Lisp. That's how I see it. Of course, this will be a
-07:54.577 --> 07:56.699
+00:07:56.200 --> 00:08:00.799
community project. I'm open to debate about that if anybody
-07:58.809 --> 08:02.012
+00:08:00.800 --> 00:08:02.079
wants to convince me otherwise.
-08:08.439 --> 08:11.683
+00:08:02.080 --> 00:08:11.759
Why is being able to interpret all of that EL a useful goal?
-08:12.464 --> 08:14.626
+00:08:11.760 --> 00:08:15.519
Sure, there is a lot of code written in Elisp. Can we
-08:15.206 --> 08:17.749
+00:08:15.520 --> 00:08:18.959
consider... Oh, it's still being written. Please go ahead
-08:18.390 --> 08:19.491
+00:08:18.960 --> 00:08:19.439
and finish writing.
NOTE Q: Can we consider a translator like utility to convert elisp to scheme, once guile-emacs becomes a reality?
-08:29.673 --> 08:35.576
+00:08:19.440 --> 00:08:32.519
Can we consider a translator like utility to convert eLisp
-08:29.673 --> 08:35.576
+00:08:32.520 --> 00:08:37.519
to Scheme once Guile-Emacs has become a reality?
-08:36.716 --> 08:37.076
+00:08:37.520 --> 00:08:42.119
Certainly. For the time being, I just wanted to get the
-08:38.717 --> 08:42.639
+00:08:42.120 --> 00:08:47.559
interpreter running. So the actual, the Guile-Emacs Lisp,
-08:44.520 --> 08:58.666
+00:08:47.560 --> 00:08:51.919
the one that was written in 2011 that I didn't write, that
-08:44.520 --> 08:58.666
+00:08:51.920 --> 00:08:57.599
actually does compile to, I think it's the tree
-08:44.520 --> 08:58.666
+00:08:57.600 --> 00:08:59.239
intermediate representation It's one of the intermediate
-08:59.076 --> 09:03.697
+00:08:59.240 --> 00:09:03.759
languages that Guile uses to compile Guile scheme itself.
-09:04.817 --> 09:09.299
+00:09:03.760 --> 00:09:09.079
So the Emacs lisp that was written before actually does
-09:04.817 --> 09:09.299
+00:09:09.080 --> 00:09:13.119
that. It actually compiles and makes use of the entire Guile
-09:09.339 --> 09:20.761
+00:09:13.120 --> 00:09:17.479
compiler tool chain and actually produces like JIT
-09:09.339 --> 09:20.761
+00:09:17.480 --> 00:09:21.719
compilable binaries, which is really cool. Like I said,
-09:23.342 --> 09:25.943
+00:09:21.720 --> 00:09:27.519
that's the one that I had trouble getting to work properly.
-09:29.209 --> 09:30.890
+00:09:27.520 --> 00:09:34.399
Maybe we can follow that architecture. I'm not sure how to do
-09:33.052 --> 09:45.102
+00:09:34.400 --> 00:09:37.919
that, but I would like to be able to do some kind of
-09:33.052 --> 09:45.102
+00:09:37.920 --> 00:09:41.999
translating, keeping in mind that we want to have this be
-09:33.052 --> 09:45.102
+00:09:42.000 --> 00:09:48.919
portable, do various schemes. And so Guile makes this very
-09:45.988 --> 09:50.289
+00:09:48.920 --> 00:09:52.719
easy, but other schemes don't. Gambit might do this pretty
-09:51.549 --> 09:53.530
+00:09:52.720 --> 00:09:57.919
well as well. It compiles to C and then compiles C down to a
-09:53.950 --> 10:01.471
+00:09:57.920 --> 00:10:06.159
dynamically linkable library. So yeah, I think probably
-10:03.372 --> 10:09.373
+00:10:06.160 --> 00:10:09.559
the most portable, I'm just thinking out loud right now,
-10:10.652 --> 10:21.715
+00:10:09.560 --> 00:10:13.239
most portable implementation will just be able to
-10:10.652 --> 10:21.715
+00:10:13.240 --> 00:10:17.119
translate Emacs Lisp directly to Scheme, which is not what
-10:10.652 --> 10:21.715
+00:10:17.120 --> 00:10:22.439
the old Guile Emacs Lisp implementation does. That goes to
-10:21.755 --> 10:26.777
+00:10:22.440 --> 00:10:26.439
TreeIL, so it's very, very Guile-specific, can't be
-10:21.755 --> 10:26.777
+00:10:26.440 --> 00:10:30.799
ported. But yeah, if we could somehow get Emacs Lisp
-10:28.359 --> 10:42.045
+00:10:30.800 --> 00:10:36.999
translated to Scheme and then compiled, say, in Shea Scheme
-10:28.359 --> 10:42.045
+00:10:37.000 --> 00:10:40.879
or Gambit or MIT Scheme or one of those other compilers, that
-10:28.359 --> 10:42.045
+00:10:40.880 --> 00:10:44.919
would be very cool. And I would absolutely love to do that.
-10:44.906 --> 10:49.948
+00:10:44.920 --> 00:10:49.279
And I would very quickly accept any code into the code base
-10:44.906 --> 10:49.948
+00:10:49.280 --> 00:10:50.599
that would do that.
NOTE Q: Why is being able to interpret all of \`init.el\` an useful goal?
-10:54.390 --> 10:56.291
+00:10:50.600 --> 00:10:59.119
Oh, and to answer the question about init.el,
-10:59.207 --> 11:17.215
+00:10:59.120 --> 00:11:02.839
It's just because people spend a lot of time on their configs
-10:59.207 --> 11:17.215
+00:11:02.840 --> 00:11:06.959
and it would be nice if, you know, you're starting to use this
-10:59.207 --> 11:17.215
+00:11:06.960 --> 00:11:14.079
new editor and want it to be similar to Emacs users, just the
-10:59.207 --> 11:17.215
+00:11:14.080 --> 00:11:16.519
Emacs community in general and people who are familiar with
-10:59.207 --> 11:17.215
+00:11:16.520 --> 00:11:20.879
using Emacs. It would be more useful to everybody in the
-11:17.715 --> 11:25.379
+00:11:20.880 --> 00:11:25.119
Emacs community if this were more compatible with GNU
-11:17.715 --> 11:25.379
+00:11:25.120 --> 00:11:35.999
Emacs. And so that's why that's, I think that's an important
-11:25.679 --> 11:27.960
+00:11:36.000 --> 00:11:38.559
goal.
-11:34.465 --> 11:35.467
+00:11:38.560 --> 00:12:01.839
Question is not yet. Great. Oh, here comes another
-11:38.471 --> 11:39.613
+00:12:01.840 --> 00:12:02.279
question.
NOTE Q: What is the plan to handle elisp packages that depend on 3rd party/external libraries? (libgit/magit or rg/ripgrep)?
-12:08.539 --> 12:17.742
+00:12:02.280 --> 00:12:11.879
Okay, what is the plan to handle elisp packages that depend
-12:08.539 --> 12:17.742
+00:12:11.880 --> 00:12:16.119
on third-party or external libraries like git or magit
-12:08.539 --> 12:17.742
+00:12:16.120 --> 00:12:22.719
or ripgrep? So that's going to be tricky. It depends on how
-12:21.523 --> 12:26.224
+00:12:22.720 --> 00:12:27.079
these external packages are linked into emacs. If it's
-12:26.844 --> 12:33.646
+00:12:27.080 --> 00:12:32.879
going to be a dynamic library like Robin Templeton's
-12:26.844 --> 12:33.646
+00:12:32.880 --> 00:12:38.039
project which you load the libgit library into the Emacs
-12:35.289 --> 12:41.931
+00:12:38.040 --> 00:12:43.159
process, that is going to be extremely difficult. So if you
-12:44.032 --> 12:52.975
+00:12:43.160 --> 00:12:49.359
have an external library like, I don't know, libgit or
-12:44.032 --> 12:52.975
+00:12:49.360 --> 00:12:59.279
what's the GUI thing? Cabal. No, not Cabal. Cairo, libcairo
-12:57.736 --> 13:01.398
+00:12:59.280 --> 00:13:01.439
to do SVG graphics and so on.
-13:04.483 --> 13:17.480
+00:13:01.440 --> 00:13:09.719
You can do that very easily with Guile, but then on top of
-13:04.483 --> 13:17.480
+00:13:09.720 --> 00:13:14.719
that, implementing Emacs list bindings to it, I mean,
-13:04.483 --> 13:17.480
+00:13:14.720 --> 00:13:17.199
you've got two layers there, and that makes things pretty
-13:04.483 --> 13:17.480
+00:13:17.200 --> 00:13:23.119
difficult. So it's possible. And to some degree, maybe
-13:21.935 --> 13:30.842
+00:13:23.120 --> 00:13:27.799
necessary for example, Cairo, if we want to do SVG graphics
-13:21.935 --> 13:30.842
+00:13:27.800 --> 00:13:30.599
the way that Emacs Lisp does, we're going to have to have
-13:21.935 --> 13:30.842
+00:13:30.600 --> 00:13:33.959
that. So that would be necessary. We would have to have those
-13:32.643 --> 13:33.944
+00:13:33.960 --> 00:13:39.199
two layers. Yes, let's do that. But if it's like for Magit,
-13:38.047 --> 13:50.596
+00:13:39.200 --> 00:13:45.479
you can just call out to your git process, and then you're
-13:38.047 --> 13:50.596
+00:13:45.480 --> 00:13:50.719
just using the regular process APIs that Emacs Lisp has. And
-13:51.451 --> 13:58.475
+00:13:50.720 --> 00:13:57.119
that can be, already we, like Guile has some very good
-13:51.451 --> 13:58.475
+00:13:57.120 --> 00:14:08.079
implementations for process management. And so it would
-13:59.055 --> 14:05.438
+00:14:08.080 --> 00:14:12.439
just be a matter of wrapping up those in the Emacs lisp form
-13:59.055 --> 14:05.438
+00:14:12.440 --> 00:14:24.919
bindings. So yeah, dynamic libraries, I wanna try to avoid.
-14:12.222 --> 14:20.366
+00:14:24.920 --> 00:14:32.799
And I would prefer to do things more through, you know,
-14:12.222 --> 14:20.366
+00:14:32.800 --> 00:14:40.399
launching a child process in the Emacs process. and then
-14:20.956 --> 14:24.798
+00:14:40.400 --> 00:14:47.239
communicating over the standard in, standard out
-14:20.956 --> 14:24.798
+00:14:47.240 --> 00:14:47.959
channels.
-14:29.460 --> 14:40.386
+00:14:47.960 --> 00:14:52.799
That's the easier way to do things, I think, because then you
-14:29.460 --> 14:40.386
+00:14:52.800 --> 00:14:58.519
can just use the process library that Emacs already has, and
-14:29.460 --> 14:40.386
+00:14:58.520 --> 00:15:03.239
you can just reuse all of that code.
-14:43.969 --> 14:49.912
+00:15:03.240 --> 00:15:09.079
I'm not sure how ripgrep works, unfortunately, but I
-14:43.969 --> 14:49.912
+00:15:09.080 --> 00:15:15.279
believe that's also a process, a child process. So, we can
-14:50.412 --> 14:53.774
+00:15:15.280 --> 00:15:23.479
just reuse all of the Emacs Lisp code that does that already.
-14:54.014 --> 15:05.979
+00:15:23.480 --> 00:15:30.399
We just need to make sure that the process management
-14:54.014 --> 15:05.979
+00:15:30.400 --> 00:15:35.119
implementation and scheme is properly bound to Emacs Lisp,
-14:54.014 --> 15:05.979
+00:15:35.120 --> 00:15:43.359
and it works the same as GNU Emacs does. Once that's all set,
-15:06.360 --> 15:13.383
+00:15:43.360 --> 00:15:48.399
then these porcelains, like around git, should fall into
-15:06.360 --> 15:13.383
+00:15:48.400 --> 00:15:55.279
place. without too much difficulty, hopefully.
NOTE Q: Not really a question, but how about Schemacs as a name?
-15:21.112 --> 15:22.593
+00:15:55.280 --> 00:15:59.199
How about Schemax as a name? I like the name. I like that name.
-15:28.937 --> 15:32.920
+00:15:59.200 --> 00:16:03.119
I haven't really looked into like, is that already used or is
-15:28.937 --> 15:32.920
+00:16:03.120 --> 00:16:09.759
that going to be confusing? But certainly something we can
-15:33.380 --> 15:35.021
+00:16:09.760 --> 00:16:10.959
discuss.
-15:38.243 --> 15:39.264
+00:16:10.960 --> 00:16:13.039
Another thing I should mention,
-15:42.157 --> 15:48.278
+00:16:13.040 --> 00:16:18.759
I should probably set up a server or something like Discord
-15:42.157 --> 15:48.278
+00:16:18.760 --> 00:16:25.359
or something like that. Discourse, not Discord.
-15:51.619 --> 15:56.220
+00:16:25.360 --> 00:16:31.599
Discourse, the open source one, where we could actually
-15:51.619 --> 15:56.220
+00:16:31.600 --> 00:16:49.239
chat about this stuff. For the time being, ActivityPub,
-15:56.540 --> 16:05.562
+00:16:49.240 --> 00:16:52.399
mostly Mastodon, is how I communicate with people in real
-15:56.540 --> 16:05.562
+00:16:52.400 --> 00:16:57.279
time, that or email. So if you want to get a hold of me, check
-16:09.809 --> 16:15.571
+00:16:57.280 --> 00:17:02.439
the notes for this presentation and just send me an email.
-16:16.752 --> 16:18.012
+00:17:02.440 --> 00:17:09.039
Any question at all is fine. If you want to contribute code,
-16:19.633 --> 16:25.495
+00:17:09.040 --> 00:17:12.799
if you want to just learn how to contribute code, send me any
-16:19.633 --> 16:25.495
+00:17:12.800 --> 00:17:22.199
questions. It's fine. I'm happy to answer them. And we can
-16:30.256 --> 16:31.757
+00:17:22.200 --> 00:17:25.879
talk about the name as well.
NOTE Q: Why is it not feasible for the Emacs layer that interprets Emacs Lisp (the core in C) ot have a Scheme interpreter, instead of using Guile?
-16:45.931 --> 16:54.215
+00:17:25.880 --> 00:17:30.239
Okay, why is it not feasible for the Emacs layer that
-16:45.931 --> 16:54.215
+00:17:30.240 --> 00:17:34.319
interprets Emacs Lisp, the core in C, have a Scheme
-16:45.931 --> 16:54.215
+00:17:34.320 --> 00:17:39.799
interpreter instead of using Guile? Let's see, I have to,
-16:55.496 --> 16:57.257
+00:17:39.800 --> 00:17:48.799
okay. Emacs layer interprets Emacs Lisp, the core in C, have
-16:57.737 --> 17:05.942
+00:17:48.800 --> 00:17:54.079
a Scheme interpreter instead of using Guile. Okay, so that,
-17:07.362 --> 17:13.906
+00:17:54.080 --> 00:17:59.959
the question xlarsx is asking, xlars, x, So Lars is asking,
-17:14.744 --> 17:28.093
+00:17:59.960 --> 00:18:02.319
is it not feasible for there to be an
-17:14.744 --> 17:28.093
+00:18:02.320 --> 00:18:06.839
Emacs layer that interprets Emacs Lisp have a scheme
-17:14.744 --> 17:28.093
+00:18:06.840 --> 00:18:33.079
interpreter? This is Robin Templeton's project. And
-17:30.815 --> 17:32.156
+00:18:33.080 --> 00:18:39.839
they're presenting later today. So check the roster and be
-17:32.697 --> 17:41.303
+00:18:39.840 --> 00:18:45.199
sure to see that presentation because that's exactly what
-17:32.697 --> 17:41.303
+00:18:45.200 --> 00:18:52.119
Robin Templeton is doing. That's not what I'm doing though.
-17:44.419 --> 17:46.459
+00:18:52.120 --> 00:18:57.239
I'm trying to create something in Scheme. But yes, there is
-17:48.280 --> 17:54.921
+00:18:57.240 --> 00:19:02.959
an attempt to get an Scheme interpreter to run inside of
-17:48.280 --> 17:54.921
+00:19:02.960 --> 00:19:07.159
Emacs itself. And it has its own method of binding to Emacs
-17:55.181 --> 18:05.323
+00:19:07.160 --> 00:19:11.199
Lisp functions and translating data like Lisp structures
-17:55.181 --> 18:05.323
+00:19:11.200 --> 00:19:14.439
between Guile Scheme and Emacs Lisp. Robin will explain all
-18:05.943 --> 18:08.284
+00:19:14.440 --> 00:19:15.799
of that in their presentation.
-18:28.519 --> 18:33.020
+00:19:15.800 --> 00:19:18.919
OK, I think I've got through all the questions on Etherpad.
-18:33.620 --> 18:35.500
+00:19:18.920 --> 00:19:23.879
But I'm going to hang out here for a bit longer. And yeah, feel
-18:37.621 --> 18:46.182
+00:19:23.880 --> 00:19:28.239
free to do a video chat with me or send me more questions on
-18:37.621 --> 18:46.182
+00:19:28.240 --> 00:19:33.839
Etherpad or here in the big blue button. And so I'm just going
-18:47.002 --> 18:48.082
+00:19:33.840 --> 00:21:49.119
to hang out. And thanks for asking all your questions. And
-18:51.663 --> 18:56.024
+00:21:49.120 --> 00:21:50.839
yeah, I look forward to working with all of you if you're
-18:51.663 --> 18:56.024
+00:21:50.840 --> 00:21:51.799
interested. take it easy. Thanks so much for the talk and
-18:59.935 --> 19:08.180
+00:21:51.800 --> 00:21:53.199
looking forward to seeing some of your progress as this
-18:59.935 --> 19:08.180
+00:21:53.200 --> 00:21:54.359
moves forward, exciting space. We'll go ahead and leave the
-19:09.261 --> 19:14.925
+00:21:54.360 --> 00:21:54.879
room open for you and thanks for offering to hang out and chat
-19:09.261 --> 19:14.925
+00:21:54.880 --> 00:21:55.639
with other people that come by. Feel free to throw something
-19:15.025 --> 19:18.287
+00:21:55.640 --> 00:21:56.719
in the chat if you want to remind people you're still here.
-19:19.557 --> 19:25.143
+00:21:56.720 --> 00:21:57.919
Meanwhile, on the stream, we have moved along to our next
-19:19.557 --> 19:25.143
+00:21:57.920 --> 00:21:59.599
talk on Rust, and that is just getting started. But again,
-19:25.283 --> 19:30.549
+00:21:59.600 --> 00:22:00.479
we're continuing to record this, and I'll just keep an eye on
-19:25.283 --> 19:30.549
+00:22:00.480 --> 00:22:01.239
it to stop the recording. Thank you. Thank you. It was
-19:33.352 --> 19:33.853
+00:22:01.240 --> 00:22:01.559
awesome.
-21:47.935 --> 21:50.558
+00:22:01.560 --> 00:22:03.959
So it seems like it's slowed down here for the Q&A. I don't see
-21:50.638 --> 21:53.741
+00:22:03.960 --> 00:22:05.439
anybody else on BBB, so I'm going to go ahead and stop the
-21:50.638 --> 21:53.741
+00:22:05.440 --> 00:22:08.479
recording. We can start it back up. I would say, yes, there's
-21:55.282 --> 21:58.906
+00:22:08.480 --> 00:22:09.519
a lot of things you can do with this. You can handle
-21:58.926 --> 22:00.627
+00:22:09.520 --> 00:22:11.239
processing. Yeah, I'm going to try and join over the chat for
-22:02.029 --> 22:07.614
+00:22:11.240 --> 00:22:14.679
the next talk. I'm not sure if I can do both big blue buttons at
-22:08.635 --> 22:11.538
+00:22:14.680 --> 00:22:15.759
the same time. You should be able to just watch your mute
-22:13.206 --> 22:19.998
+00:22:15.760 --> 00:22:19.159
settings and mute tab settings and whatever all you have to
-22:13.206 --> 22:19.998
+00:22:19.160 --> 00:23:37.800
avoid bleed through. Okay.
diff --git a/2024/captions/emacsconf-2024-julia--exploring-shared-philosophies-in-julia-and-emacs--gabriele-bozzola--answers.vtt b/2024/captions/emacsconf-2024-julia--exploring-shared-philosophies-in-julia-and-emacs--gabriele-bozzola--answers.vtt
index d37f80ef..5f0d3fc5 100644
--- a/2024/captions/emacsconf-2024-julia--exploring-shared-philosophies-in-julia-and-emacs--gabriele-bozzola--answers.vtt
+++ b/2024/captions/emacsconf-2024-julia--exploring-shared-philosophies-in-julia-and-emacs--gabriele-bozzola--answers.vtt
@@ -2,345 +2,345 @@ WEBVTT
NOTE Q: Do you have any suggestions for interactive debugging of Julia code in Emacs?
-00:00.089 --> 00:00.829
+00:00:00.000 --> 00:00:05.319
... answer to that. I, I think the infrastructure for an
-00:01.509 --> 00:14.192
+00:00:05.320 --> 00:00:08.599
ecosystem in Julia in general is as mature as other
-00:01.509 --> 00:14.192
+00:00:08.600 --> 00:00:12.559
languages, and even debugger infiltrator themselves are
-00:01.509 --> 00:14.192
+00:00:12.560 --> 00:00:17.519
not particularly well developed. And so I don't think
-00:15.853 --> 00:19.214
+00:00:17.520 --> 00:00:21.519
there's much we can do about that right now. I think that it's
-00:21.570 --> 00:28.057
+00:00:21.520 --> 00:00:25.999
unfortunate that most of the development for these type of
-00:21.570 --> 00:28.057
+00:00:26.000 --> 00:00:31.759
tools is tightly linked to VS code. But even there, I don't
-00:29.218 --> 00:36.225
+00:00:31.760 --> 00:00:35.719
think that there's much done in terms of interactive
-00:29.218 --> 00:36.225
+00:00:35.720 --> 00:00:42.359
debugging. So I, yeah, I think this has to be worked on mostly
-00:36.866 --> 00:43.213
+00:00:42.360 --> 00:00:47.519
on the Julia side first. And then probably Emacs can get
-00:43.820 --> 00:48.303
+00:00:47.520 --> 00:00:51.239
something out of that. I know that there's development in
-00:49.183 --> 00:57.728
+00:00:51.240 --> 00:00:55.559
debugger.jl itself for future releases to make it at least
-00:49.183 --> 00:57.728
+00:00:55.560 --> 00:01:01.839
faster and more stable. But yeah, I think we're not there as
-00:58.809 --> 01:03.852
+00:01:01.840 --> 00:01:06.879
Julia community itself. So let alone Emacs, integration
-01:04.192 --> 01:07.234
+00:01:06.880 --> 00:01:11.239
with Emacs. The way I personally debug is mostly using,
-01:08.286 --> 01:15.508
+00:01:11.240 --> 00:01:15.199
well, debugger and infiltrator with Julia REPL mode in
NOTE Q: Can you call out something that Julia has that Emacs does not, and which could benefit Emacs?
-01:08.286 --> 01:15.508
+00:01:15.200 --> 00:01:21.679
Emacs. The second question, can you call out something that
-01:18.009 --> 01:24.891
+00:01:21.680 --> 00:01:26.839
Julia has that Emacs does not and which could benefit Emacs?
-01:26.852 --> 01:27.852
+00:01:26.840 --> 00:01:31.879
Nothing stands out to me except the usual multi-threading
-01:28.848 --> 01:32.552
+00:01:31.880 --> 00:01:36.119
and things like this. I don't necessarily see something
-01:33.432 --> 01:46.783
+00:01:36.120 --> 00:01:42.479
that Julia has going on that DMX doesn't have, but I see some
-01:33.432 --> 01:46.783
+00:01:42.480 --> 00:01:45.839
differences and approaches that I think are important,
-01:33.432 --> 01:46.783
+00:01:45.840 --> 00:01:49.759
like the community. I think Julia is a very active and tight
-01:47.384 --> 01:50.266
+00:01:49.760 --> 00:01:54.159
community. Julia uses Slack and is very, very active. I
-01:54.093 --> 01:57.736
+00:01:54.160 --> 00:01:56.559
think he might say something like that, but it's maybe more
-01:54.093 --> 01:57.736
+00:01:56.560 --> 00:02:01.799
on Reddit, IRC. JuliaCon is big and brings together lots and
-01:59.078 --> 02:02.381
+00:02:01.800 --> 00:02:05.159
lots of people. And I think the sense of community is really
-02:03.221 --> 02:05.263
+00:02:05.160 --> 00:02:10.479
powerful. It's very easy to essentially meet people that
-02:06.364 --> 02:16.834
+00:02:10.480 --> 00:02:12.919
are interested in what we're building and interested in
-02:06.364 --> 02:16.834
+00:02:12.920 --> 00:02:15.999
what we're doing and interested in Julian, our, you know,
-02:06.364 --> 02:16.834
+00:02:16.000 --> 00:02:21.239
hacker spirit. I think Emacs is a very strong community.
-02:21.228 --> 02:26.151
+00:02:21.240 --> 00:02:24.279
We're here on a Saturday talking about Emacs, which again
-02:21.228 --> 02:26.151
+00:02:24.280 --> 00:02:29.679
proves that we are doing this. But I'd like to emphasize that
-02:27.192 --> 02:35.696
+00:02:29.680 --> 00:02:33.639
the community is a really important aspect in Julia that I
-02:27.192 --> 02:35.696
+00:02:33.640 --> 00:02:38.159
think we should double down on our side. The next question is
NOTE Q: Is there a way to use lisp syntax with Julia, like hy for python or lisp flavoured erlang?
-02:36.797 --> 02:44.841
+00:02:38.160 --> 00:02:46.519
about Lisp syntax with Julia, like what we can do in Python.
-02:48.038 --> 02:53.180
+00:02:46.520 --> 00:02:52.359
I don't think that's, I don't, I am not aware of any package
-02:48.038 --> 02:53.180
+00:02:52.360 --> 00:02:56.879
that does that. I would bet that there's something there. I
-02:56.722 --> 02:58.063
+00:02:56.880 --> 00:03:01.519
think that that's possible. Indeed, there used to be a Lisp
-02:59.243 --> 03:07.027
+00:03:01.520 --> 00:03:08.079
interpreter in Julia itself until the latest release. The
-03:07.647 --> 03:12.229
+00:03:08.080 --> 00:03:12.039
syntax parsing was done with a Lisp, it was called TemtoList
-03:07.647 --> 03:12.229
+00:03:12.040 --> 00:03:18.679
indeed. I think this got rid, get rid of this for our more
-03:16.124 --> 03:23.489
+00:03:18.680 --> 00:03:23.039
Julia-based solution that is faster and with better code
-03:16.124 --> 03:23.489
+00:03:23.040 --> 00:03:28.599
provenance. I think that it should be possible to use the
-03:25.430 --> 03:35.437
+00:03:28.600 --> 00:03:33.319
metaprogramming features in Julia to change the structure
-03:25.430 --> 03:35.437
+00:03:33.320 --> 00:03:38.159
of your syntax to be a Lispy syntax. I do want to emphasize
-03:36.238 --> 00:03:44.664
+00:03:38.160 --> 00:03:43.879
that Julia is heavily inspired by Lisp, so I wouldn't be
-03:36.238 --> 03:44.664
+00:03:43.880 --> 00:03:49.239
surprised if if something like this were possible.
-03:49.309 --> 00:03:51.167
+00:03:49.240 --> 00:03:51.239
I have tried Julia Snail.
NOTE Q: Have you tried the Julia Snail package for Emacs? It tries to be like SLY/SLIME for Common Lisp.
-00:03:51.168 --> 00:03:51.070
+00:03:51.240 --> 00:03:54.399
So the next question is about Julia
-03:51.270 --> 03:52.712
+00:03:54.400 --> 00:03:58.199
Snail. I found Julia REPL to be a little bit easier to set up
-03:53.312 --> 03:58.436
+00:03:58.200 --> 00:04:02.839
and use. So I just settled on that. I should maybe revisit
-04:00.918 --> 04:03.480
+00:04:02.840 --> 00:04:05.999
that. In particular, I use the Julia REPL with the vterm
-04:03.720 --> 04:11.406
+00:04:06.000 --> 00:04:10.959
backend, which essentially makes a companion REPL to my
-04:03.720 --> 04:11.406
+00:04:10.960 --> 00:04:15.439
scripts. And that works for me. I do think that the tooling
-04:15.638 --> 04:16.518
+00:04:15.440 --> 00:04:19.239
uh, could be improved. I think there is definitely much room
-04:17.399 --> 04:22.040
+00:04:19.240 --> 00:04:26.079
and I would like to see improvement in that area. Um, and, uh,
NOTE Q: Is there a data inspector for a Julia REPL available that you can use in Emacs?
-04:22.940 --> 04:28.322
+00:04:26.080 --> 00:04:31.639
so we have data inspector for Julia REPL.
-04:32.043 --> 04:34.784
+00:04:31.640 --> 00:04:37.279
I don't think so. I don't, is there any data inspector
-04:34.804 --> 04:39.826
+00:04:37.280 --> 00:04:40.439
in for, for the Julia REPL that we can use in Emacs?
-04:43.223 --> 00:04:43.489
+00:04:40.440 --> 00:04:44.839
I'm not sure. I don't think so.
-00:04:44.840 --> 00:04:47.839
+00:04:44.840 --> 00:04:47.799
I think the way I look at data is
-00:04:47.840 --> 00:04:50.519
+00:04:47.800 --> 00:04:50.519
essentially ignoring Emacs when encoded. It's just using the
-00:04:50.520 --> 00:04:54.759
+00:04:50.520 --> 00:04:56.839
REPL. And again, with Julia REPL. So I'm not aware of any
-00:04:54.760 --> 00:04:57.720
+00:04:56.840 --> 00:05:00.479
specialized tool And again, maybe this is, again, a good
-04:58.652 --> 05:05.595
+00:05:00.480 --> 00:05:04.279
moment to emphasize that tooling, the Julia community
-04:58.652 --> 05:05.595
+00:05:04.280 --> 00:05:09.079
clusters around VS Code. And there is tools like the, pretty
-05:06.315 --> 05:11.578
+00:05:09.080 --> 00:05:14.199
much all the work with VS Code, unfortunately. And while
-05:12.578 --> 05:21.242
+00:05:14.200 --> 00:05:17.759
there's a very, very decent Julia mode and Julia repo mode
-05:12.578 --> 05:21.242
+00:05:17.760 --> 00:05:21.439
and Julia snail, there's definitely, definitely room for
-05:12.578 --> 05:21.242
+00:05:21.440 --> 00:05:24.359
improvement.
NOTE Q: Have you tried literate programming Julia (using Org babel or some other means) in Emacs?
-05:24.443 --> 05:28.145
+00:05:24.360 --> 00:05:27.759
Next, we have a question about literate programming in
-05:24.443 --> 05:28.145
+00:05:27.760 --> 00:05:32.439
Julia. I haven't done much of it with Org Babel or
-05:29.505 --> 05:32.906
+00:05:32.440 --> 00:05:37.079
anything else. I haven't done much of it. I can say that Julia
-05:35.827 --> 05:46.070
+00:05:37.080 --> 00:05:40.719
has developed a new iteration of notebooks called Pluto.
-05:46.090 --> 05:48.471
+00:05:40.720 --> 00:05:47.119
Here I'm thinking about Jupyter notebooks. The Pluto
-05:51.021 --> 06:02.988
+00:05:47.120 --> 00:05:55.359
notebooks for Julia try to remove a bunch of the pain points
-05:51.021 --> 06:02.988
+00:05:55.360 --> 00:06:00.439
that Jupyter notebooks have, meaning you cannot easily
-05:51.021 --> 06:02.988
+00:06:00.440 --> 00:06:03.639
commit them to Git or things like this.
-06:06.450 --> 06:09.152
+00:06:03.640 --> 00:06:09.279
I haven't used them, but I know some people are very fond of
-06:06.450 --> 06:09.152
+00:06:09.280 --> 00:06:13.559
them. And so I think that that's what some of the Julia
-06:09.872 --> 06:15.195
+00:06:13.560 --> 00:06:16.879
community would use for notebooks. And I think they can
-06:15.315 --> 06:19.298
+00:06:16.880 --> 00:06:22.239
interact with Emacs with no problem. And that would be a form
-06:20.974 --> 06:23.035
+00:06:22.240 --> 00:06:26.879
of later programming. But if you can do it in Python, you can
-06:24.015 --> 06:27.696
+00:06:26.880 --> 00:06:32.119
do it in Julia. I think there is no reason. And actually, you
-06:30.617 --> 06:38.719
+00:06:32.120 --> 00:06:35.839
can take advantage of all this just-in-time or
-06:30.617 --> 06:38.719
+00:06:35.840 --> 00:06:38.239
just-out-of-time compilation by keeping the same
-06:30.617 --> 06:38.719
+00:06:38.240 --> 00:06:45.199
session. So I think it will be definitely a nice use case. So
-06:44.681 --> 06:47.222
+00:06:45.200 --> 00:06:49.199
these are the questions that I see here. I'm going to scroll
-06:48.561 --> 06:54.486
+00:06:49.200 --> 00:06:52.759
through the comments and see if there's something that I
-06:48.561 --> 06:54.486
+00:06:52.760 --> 00:06:57.319
should say about comments. I'm excited people want to learn
-06:56.228 --> 06:57.669
+00:06:57.320 --> 00:07:02.519
Julia. I have to say that if I want to do GPU computing
-06:58.990 --> 07:06.757
+00:07:02.520 --> 00:07:06.399
nowadays, I find it much easier to do it with Julia than with
-06:58.990 --> 07:06.757
+00:07:06.400 --> 00:07:11.759
CUDA. So I encourage people to look into that. And I do,
-07:11.758 --> 07:26.807
+00:07:11.760 --> 00:07:19.359
again, I would like to share what makes me excited about
-07:11.758 --> 07:26.807
+00:07:19.360 --> 00:07:23.799
Emacs, about this being open, being collaborative, being
-07:11.758 --> 07:26.807
+00:07:23.800 --> 00:07:26.399
respectable with documentation is something that I find in
-07:11.758 --> 07:26.807
+00:07:26.400 --> 00:07:30.999
Julia. So I think people that are excited about the same
-07:27.367 --> 07:35.192
+00:07:31.000 --> 00:07:35.279
features will find a little bit of joy in working with Julia.
-07:38.214 --> 07:39.675
+00:07:35.280 --> 00:07:41.999
I think I addressed what I have here. I don't know if there's
-07:40.189 --> 07:43.532
+00:07:42.000 --> 00:07:43.559
anything else that I should add.
-07:51.718 --> 07:54.000
+00:07:43.560 --> 00:07:52.879
It took me a minute to unmute there.
-00:07:54.040 --> 00:07:58.399
+00:07:52.880 --> 00:07:57.519
No, I think that was awesome. And thank you so much.
-00:07:58.400 --> 00:08:00.399
+00:07:57.520 --> 00:08:00.119
I guess I thought it would
-00:08:00.400 --> 00:08:06.559
+00:08:00.120 --> 00:08:06.279
collapse that shared area on BBB, my mistake, on the stream,
-00:08:06.560 --> 00:08:12.399
+00:08:06.280 --> 00:08:12.359
or I would have left it open. But in any case, no, I thought
-00:08:12.400 --> 00:08:15.079
+00:08:12.360 --> 00:08:15.079
that was great. You did a great job of responding to all the
-00:08:15.080 --> 00:08:17.879
+00:08:15.080 --> 00:08:17.839
questions and comments. And thank you again so much for your
-00:08:17.880 --> 00:08:20.920
+00:08:17.840 --> 00:08:23.199
talk and getting us all excited to learn Julia. Thank you.
-08:24.094 --> 08:25.275
+00:08:23.200 --> 00:08:27.759
Enjoy EmacsConf. And again, thanks so much for attending,
-08:25.335 --> 08:30.220
+00:08:27.760 --> 00:08:42.400
for being EmacsConf. Thank you.
diff --git a/2024/captions/emacsconf-2024-org-update--the-future-of-org--ihor-radchenko--main.vtt b/2024/captions/emacsconf-2024-org-update--the-future-of-org--ihor-radchenko--main.vtt
index 6b092bd1..9a13366b 100644
--- a/2024/captions/emacsconf-2024-org-update--the-future-of-org--ihor-radchenko--main.vtt
+++ b/2024/captions/emacsconf-2024-org-update--the-future-of-org--ihor-radchenko--main.vtt
@@ -1810,7 +1810,7 @@ participate in the mailing list, it's not ideal, but I can
still work with this. I am on IRC, I am on Matrix,
00:35:16.006 --> 00:35:19.799
-you can ping me, it's yantar2.
+you can ping me, it's yantar92.
00:35:19.800 --> 00:35:22.347
We also have monthly meetup,
diff --git a/2024/captions/emacsconf-2024-transducers--transducers-finally-ergonomic-data-processing-for-emacs--colin-woodbury--answers.vtt b/2024/captions/emacsconf-2024-transducers--transducers-finally-ergonomic-data-processing-for-emacs--colin-woodbury--answers.vtt
index 375cad2a..e8cb84c4 100644
--- a/2024/captions/emacsconf-2024-transducers--transducers-finally-ergonomic-data-processing-for-emacs--colin-woodbury--answers.vtt
+++ b/2024/captions/emacsconf-2024-transducers--transducers-finally-ergonomic-data-processing-for-emacs--colin-woodbury--answers.vtt
@@ -10,7 +10,7 @@ morning here in Tokyo.
Are we connected all right?
00:00:37.880 --> 00:00:40.879
-Okay, I seem to be struggling still with my audio. 1 2nd
+Okay, I seem to be struggling still with my audio. One second...
00:00:40.880 --> 00:00:44.519
calling. Yeah, you were muted for a moment there. Okay,
diff --git a/2024/info/blee-before.md b/2024/info/blee-before.md
index 1c53259d..e96b5b09 100644
--- a/2024/info/blee-before.md
+++ b/2024/info/blee-before.md
@@ -26,7 +26,7 @@ Status: TO_CAPTION_QA
42:54.267 Economics and Business Dimmensions of ByStar Digital Ecosystem
43:38.433 Pointers for Digging Deeper
-"""]]<div></div>Duration: 45:30 minutes<div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2024-blee">Open Etherpad</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-blee--about-blee-towards-an-integrated-emacs-environment-for-enveloping-our-own-autonomy-directed-digital-ecosystem--mohsen-banan--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-blee--about-blee-towards-an-integrated-emacs-environment-for-enveloping-our-own-autonomy-directed-digital-ecosystem--mohsen-banan--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-blee--about-blee-towards-an-integrated-emacs-environment-for-enveloping-our-own-autonomy-directed-digital-ecosystem--mohsen-banan--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-blee--about-blee-towards-an-integrated-emacs-environment-for-enveloping-our-own-autonomy-directed-digital-ecosystem--mohsen-banan--main.webm">Download --main.webm (110MB)</a></li><li><a href="https://toobnix.org/w/4VywQEXSoLARtG1JZf9hoo">View on Toobnix</a></li></ul></div></div>
+"""]]<div></div>Duration: 45:30 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-blee--about-blee-towards-an-integrated-emacs-environment-for-enveloping-our-own-autonomy-directed-digital-ecosystem--mohsen-banan--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-blee--about-blee-towards-an-integrated-emacs-environment-for-enveloping-our-own-autonomy-directed-digital-ecosystem--mohsen-banan--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-blee--about-blee-towards-an-integrated-emacs-environment-for-enveloping-our-own-autonomy-directed-digital-ecosystem--mohsen-banan--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-blee--about-blee-towards-an-integrated-emacs-environment-for-enveloping-our-own-autonomy-directed-digital-ecosystem--mohsen-banan--main.webm">Download --main.webm (110MB)</a></li><li><a href="https://toobnix.org/w/4VywQEXSoLARtG1JZf9hoo">View on Toobnix</a></li><li><a href="https://youtu.be/wa6tjBXZiTU">View on Youtube</a></li></ul></div></div>
# Q&A
@@ -37,6 +37,6 @@ Status: TO_CAPTION_QA
09:40.053 Q: As a specific example of how "ownership is not clean" ...
15:05.278 Q: Do you have any recommended reading materials designed for such an audience?
-"""]]<div>Listen to just the audio:<br /><audio controls preload="none" id="qanda-blee-audio" src="https://media.emacsconf.org/2024/emacsconf-2024-blee--about-blee-towards-an-integrated-emacs-environment-for-enveloping-our-own-autonomy-directed-digital-ecosystem--mohsen-banan--answers.opus"></audio></div><div></div>Duration: 18:11 minutes<div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2024-blee">Open Etherpad</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-blee--about-blee-towards-an-integrated-emacs-environment-for-enveloping-our-own-autonomy-directed-digital-ecosystem--mohsen-banan--answers--chapters.vtt">Download --answers--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-blee--about-blee-towards-an-integrated-emacs-environment-for-enveloping-our-own-autonomy-directed-digital-ecosystem--mohsen-banan--answers.opus">Download --answers.opus (8.9MB)</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-blee--about-blee-towards-an-integrated-emacs-environment-for-enveloping-our-own-autonomy-directed-digital-ecosystem--mohsen-banan--answers.vtt">Download --answers.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-blee--about-blee-towards-an-integrated-emacs-environment-for-enveloping-our-own-autonomy-directed-digital-ecosystem--mohsen-banan--answers.webm">Download --answers.webm (41MB)</a></li></ul></div></div>
+"""]]<div>Listen to just the audio:<br /><audio controls preload="none" id="qanda-blee-audio" src="https://media.emacsconf.org/2024/emacsconf-2024-blee--about-blee-towards-an-integrated-emacs-environment-for-enveloping-our-own-autonomy-directed-digital-ecosystem--mohsen-banan--answers.opus"></audio></div><div></div>Duration: 18:11 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-blee--about-blee-towards-an-integrated-emacs-environment-for-enveloping-our-own-autonomy-directed-digital-ecosystem--mohsen-banan--answers--chapters.vtt">Download --answers--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-blee--about-blee-towards-an-integrated-emacs-environment-for-enveloping-our-own-autonomy-directed-digital-ecosystem--mohsen-banan--answers.opus">Download --answers.opus (8.9MB)</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-blee--about-blee-towards-an-integrated-emacs-environment-for-enveloping-our-own-autonomy-directed-digital-ecosystem--mohsen-banan--answers.vtt">Download --answers.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-blee--about-blee-towards-an-integrated-emacs-environment-for-enveloping-our-own-autonomy-directed-digital-ecosystem--mohsen-banan--answers.webm">Download --answers.webm (41MB)</a></li><li><a href="https://toobnix.org/w/1kJVXirsko1Q6eUNXGQkwQ">View on Toobnix</a></li><li><a href="https://www.youtube.com/watch?v=dtTwQfMGGeg">View on Youtube</a></li></ul></div></div>
# Description
<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2024/info/casual-before.md b/2024/info/casual-before.md
index 6751ca43..c580fe70 100644
--- a/2024/info/casual-before.md
+++ b/2024/info/casual-before.md
@@ -29,7 +29,7 @@ Status: TO_CAPTION_QA
17:02.640 Casual has transformed my user experience with Emacs
17:34.451 Thanks and acknowledgements
-"""]]<div></div>Duration: 18:24 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-casual--reimagining-the-emacs-user-experience-with-casual-suite--charles-choi--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-casual--reimagining-the-emacs-user-experience-with-casual-suite--charles-choi--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-casual--reimagining-the-emacs-user-experience-with-casual-suite--charles-choi--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-casual--reimagining-the-emacs-user-experience-with-casual-suite--charles-choi--main.webm">Download --main.webm (32MB)</a></li><li><a href="https://toobnix.org/w/5vCCqXFtWJ3EK7W3HKPRUD">View on Toobnix</a></li></ul></div></div>
+"""]]<div></div>Duration: 18:24 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-casual--reimagining-the-emacs-user-experience-with-casual-suite--charles-choi--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-casual--reimagining-the-emacs-user-experience-with-casual-suite--charles-choi--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-casual--reimagining-the-emacs-user-experience-with-casual-suite--charles-choi--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-casual--reimagining-the-emacs-user-experience-with-casual-suite--charles-choi--main.webm">Download --main.webm (32MB)</a></li><li><a href="https://toobnix.org/w/5vCCqXFtWJ3EK7W3HKPRUD">View on Toobnix</a></li><li><a href="https://youtu.be/-eMmmAKcFR4">View on Youtube</a></li></ul></div></div>
# Q&A
@@ -42,6 +42,6 @@ Status: TO_CAPTION_QA
14:40.282 Q: What modes are you working on at the moment for casual / are excited to explore?
18:14.280 Getting older
-"""]]<div>Listen to just the audio:<br /><audio controls preload="none" id="qanda-casual-audio" src="https://media.emacsconf.org/2024/emacsconf-2024-casual--reimagining-the-emacs-user-experience-with-casual-suite--charles-choi--answers.opus"></audio></div><div></div>Duration: 22:12 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-casual--reimagining-the-emacs-user-experience-with-casual-suite--charles-choi--answers--chapters.vtt">Download --answers--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-casual--reimagining-the-emacs-user-experience-with-casual-suite--charles-choi--answers.opus">Download --answers.opus (12MB)</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-casual--reimagining-the-emacs-user-experience-with-casual-suite--charles-choi--answers.vtt">Download --answers.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-casual--reimagining-the-emacs-user-experience-with-casual-suite--charles-choi--answers.webm">Download --answers.webm (44MB)</a></li></ul></div></div>
+"""]]<div>Listen to just the audio:<br /><audio controls preload="none" id="qanda-casual-audio" src="https://media.emacsconf.org/2024/emacsconf-2024-casual--reimagining-the-emacs-user-experience-with-casual-suite--charles-choi--answers.opus"></audio></div><div></div>Duration: 22:12 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-casual--reimagining-the-emacs-user-experience-with-casual-suite--charles-choi--answers--chapters.vtt">Download --answers--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-casual--reimagining-the-emacs-user-experience-with-casual-suite--charles-choi--answers.opus">Download --answers.opus (12MB)</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-casual--reimagining-the-emacs-user-experience-with-casual-suite--charles-choi--answers.vtt">Download --answers.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-casual--reimagining-the-emacs-user-experience-with-casual-suite--charles-choi--answers.webm">Download --answers.webm (44MB)</a></li><li><a href="https://toobnix.org/w/bNSTtnXSKU3neu6Cpts6YZ">View on Toobnix</a></li><li><a href="https://www.youtube.com/watch?v=x9wPkqNlwrc">View on Youtube</a></li></ul></div></div>
# Description
<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2024/info/color-after.md b/2024/info/color-after.md
index fd9b31fd..a6726801 100644
--- a/2024/info/color-after.md
+++ b/2024/info/color-after.md
@@ -192,256 +192,256 @@ Captioner: sachac
<div class="transcript transcript-qanda"><a name="color-qanda-transcript"></a><h1>Q&A transcript (unedited)</h1>
-[[!template text="""... Org mode and kind of note taking. And that meant that it wasn't""" start="00:00:00.169" video="qanda-color" id="subtitle"]]
-[[!template text="""too difficult to get started with. But when I started more on""" start="00:00:02.810" video="qanda-color" id="subtitle"]]
-[[!template text="""the coding side, because I'm a software engineer, you know,""" start="00:00:08.972" video="qanda-color" id="subtitle"]]
-[[!template text="""on the day job. That kind of got me to think that the colors and""" start="00:00:08.972" video="qanda-color" id="subtitle"]]
-[[!template text="""how themes look, how Emacs looks, was affecting. And that's""" start="00:00:16.366" video="qanda-color" id="subtitle"]]
-[[!template text="""how it kind of came to picture. So I could have kind of gone""" start="00:00:25.331" video="qanda-color" id="subtitle"]]
-[[!template text="""into a little bit more coding side of things, but I didn't""" start="00:00:29.073" video="qanda-color" id="subtitle"]]
-[[!template text="""want to stress too much on the talk. So that's why I kind of""" start="00:00:29.073" video="qanda-color" id="subtitle"]]
-[[!template text="""stuck to a very small bits of Org Mode and Elisp. And yeah, I""" start="00:00:36.957" video="qanda-color" id="subtitle"]]
-[[!template text="""think that's how it came about. Yeah, but that's perfectly""" start="00:00:42.319" video="qanda-color" id="subtitle"]]
-[[!template text="""fine. That's one of the chief reasons why we have two tracks""" start="00:00:46.536" video="qanda-color" id="subtitle"]]
-[[!template text="""for Emacs content. We've had those for the last four years, I""" start="00:00:49.437" video="qanda-color" id="subtitle"]]
-[[!template text="""think. It's because we have a general track, which is more""" start="00:00:52.798" video="qanda-color" id="subtitle"]]
-[[!template text="""geared towards people who want a general... well,""" start="00:00:55.119" video="qanda-color" id="subtitle"]]
-[[!template text="""generally people who are highly interested into org mode""" start="00:00:55.119" video="qanda-color" id="subtitle"]]
-[[!template text="""and not necessarily into coding, but just to whet their""" start="00:00:55.119" video="qanda-color" id="subtitle"]]
-[[!template text="""appetite to what can be done. And on the DevTrack, we have,""" start="00:00:55.119" video="qanda-color" id="subtitle"]]
-[[!template text="""well, this year we have talked about Rust and about other""" start="00:01:06.082" video="qanda-color" id="subtitle"]]
-[[!template text="""fancy things that people can do with Emacs. But, you know,""" start="00:01:06.082" video="qanda-color" id="subtitle"]]
-[[!template text="""I'm also a software engineer, you know, we do this all the""" start="00:01:13.006" video="qanda-color" id="subtitle"]]
-[[!template text="""time. Sometimes it's just fine to just chat about colors and""" start="00:01:13.006" video="qanda-color" id="subtitle"]]
-[[!template text="""just the results of what we develop rather than how the""" start="00:01:15.808" video="qanda-color" id="subtitle"]]
-[[!template text="""sausage is made. So that's completely fine too. I'm not sure""" start="00:01:15.808" video="qanda-color" id="subtitle"]]
+[[!template text="""... Org mode and kind of note taking. And that meant that it wasn't""" start="00:00:00.000" video="qanda-color" id="subtitle"]]
+[[!template text="""too difficult to get started with. But when I started more on""" start="00:00:06.040" video="qanda-color" id="subtitle"]]
+[[!template text="""the coding side, because I'm a software engineer, you know,""" start="00:00:10.680" video="qanda-color" id="subtitle"]]
+[[!template text="""on the day job. That kind of got me to think that the colors and""" start="00:00:14.960" video="qanda-color" id="subtitle"]]
+[[!template text="""how themes look, how Emacs looks, was affecting. And that's""" start="00:00:20.680" video="qanda-color" id="subtitle"]]
+[[!template text="""how it kind of came to picture. So I could have kind of gone""" start="00:00:26.480" video="qanda-color" id="subtitle"]]
+[[!template text="""into a little bit more coding side of things, but I didn't""" start="00:00:30.720" video="qanda-color" id="subtitle"]]
+[[!template text="""want to stress too much on the talk. So that's why I kind of""" start="00:00:34.920" video="qanda-color" id="subtitle"]]
+[[!template text="""stuck to a very small bits of Org Mode and Elisp. And yeah, I""" start="00:00:38.320" video="qanda-color" id="subtitle"]]
+[[!template text="""think that's how it came about. Yeah, but that's perfectly""" start="00:00:43.440" video="qanda-color" id="subtitle"]]
+[[!template text="""fine. That's one of the chief reasons why we have two tracks""" start="00:00:48.160" video="qanda-color" id="subtitle"]]
+[[!template text="""for Emacs content. We've had those for the last four years, I""" start="00:00:52.120" video="qanda-color" id="subtitle"]]
+[[!template text="""think. It's because we have a general track, which is more""" start="00:00:54.800" video="qanda-color" id="subtitle"]]
+[[!template text="""geared towards people who want a general... well,""" start="00:00:57.280" video="qanda-color" id="subtitle"]]
+[[!template text="""generally people who are highly interested into org mode""" start="00:00:59.240" video="qanda-color" id="subtitle"]]
+[[!template text="""and not necessarily into coding, but just to whet their""" start="00:01:01.800" video="qanda-color" id="subtitle"]]
+[[!template text="""appetite to what can be done. And on the DevTrack, we have,""" start="00:01:04.000" video="qanda-color" id="subtitle"]]
+[[!template text="""well, this year we have talked about Rust and about other""" start="00:01:08.400" video="qanda-color" id="subtitle"]]
+[[!template text="""fancy things that people can do with Emacs. But, you know,""" start="00:01:11.520" video="qanda-color" id="subtitle"]]
+[[!template text="""I'm also a software engineer, you know, we do this all the""" start="00:01:13.560" video="qanda-color" id="subtitle"]]
+[[!template text="""time. Sometimes it's just fine to just chat about colors and""" start="00:01:15.560" video="qanda-color" id="subtitle"]]
+[[!template text="""just the results of what we develop rather than how the""" start="00:01:18.080" video="qanda-color" id="subtitle"]]
+[[!template text="""sausage is made. So that's completely fine too. I'm not sure""" start="00:01:20.960" video="qanda-color" id="subtitle"]]
-<div class="transcript-heading">[[!template new="1" text="""Why colour?""" start="00:01:23.733" video="qanda-color" id="subtitle"]]</div>[[!template text="""if you mentioned it in your presentation, but why color, out""" start="00:01:23.733" video="qanda-color" id="subtitle"]]
-[[!template text="""of all the things you could be ricing on your setup, why were""" start="00:01:23.733" video="qanda-color" id="subtitle"]]
-[[!template text="""you so interested about colors? I think it was just that""" start="00:01:23.733" video="qanda-color" id="subtitle"]]
-[[!template text="""mainly that I had to do a lot of context switch between""" start="00:01:34.870" video="qanda-color" id="subtitle"]]
-[[!template text="""different languages. Elisp is not the one because Elisp is""" start="00:01:34.870" video="qanda-color" id="subtitle"]]
-[[!template text="""something that I would do for Emacs editing. But for day job,""" start="00:01:41.576" video="qanda-color" id="subtitle"]]
-[[!template text="""I had to use mainly Go as I work with Kubernetes quite a bit. So""" start="00:01:47.061" video="qanda-color" id="subtitle"]]
-[[!template text="""Go and also web languages like TypeScript, JavaScript, you""" start="00:01:52.525" video="qanda-color" id="subtitle"]]
-[[!template text="""know, those languages, where I felt that whenever I was""" start="00:01:58.090" video="qanda-color" id="subtitle"]]
-[[!template text="""switching context to a different language, I felt that it's""" start="00:01:58.090" video="qanda-color" id="subtitle"]]
-[[!template text="""kind of annoying to see all the different colors in""" start="00:01:58.090" video="qanda-color" id="subtitle"]]
-[[!template text="""languages like TypeScript, where, you know, VS Code way""" start="00:01:58.090" video="qanda-color" id="subtitle"]]
-[[!template text="""would be very full of colors. which I felt that, okay, like,""" start="00:01:58.090" video="qanda-color" id="subtitle"]]
-[[!template text="""why do I have to have that many different colors on let and""" start="00:02:14.262" video="qanda-color" id="subtitle"]]
-[[!template text="""constant or the keywords where it could be just a white text?""" start="00:02:14.262" video="qanda-color" id="subtitle"]]
-[[!template text="""It didn't have to be that colorful. So that was the bit, the""" start="00:02:23.789" video="qanda-color" id="subtitle"]]
-[[!template text="""most annoying bit when it came to context switching. And I""" start="00:02:25.890" video="qanda-color" id="subtitle"]]
-[[!template text="""felt that that just didn't happen in the Org Mode or writing""" start="00:02:30.974" video="qanda-color" id="subtitle"]]
-[[!template text="""in general. So I had to find a way to make it work, make more""" start="00:02:30.974" video="qanda-color" id="subtitle"]]
-[[!template text="""coding make my coding more kind of friendly to me and that's""" start="00:02:36.017" video="qanda-color" id="subtitle"]]
-[[!template text="""when I thought maybe just the colors are something that's""" start="00:02:42.173" video="qanda-color" id="subtitle"]]
-[[!template text="""bothering me and it actually was the case and that's how I got""" start="00:02:42.173" video="qanda-color" id="subtitle"]]
-[[!template text="""to more into the color kind of journey and got too much into it""" start="00:02:42.173" video="qanda-color" id="subtitle"]]
-[[!template text="""I guess. Right, and was it what eventually motivated you to""" start="00:02:42.173" video="qanda-color" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Why colour?""" start="00:01:24.840" video="qanda-color" id="subtitle"]]</div>[[!template text="""if you mentioned it in your presentation, but why color, out""" start="00:01:24.840" video="qanda-color" id="subtitle"]]
+[[!template text="""of all the things you could be ricing on your setup, why were""" start="00:01:28.880" video="qanda-color" id="subtitle"]]
+[[!template text="""you so interested about colors? I think it was just that""" start="00:01:31.480" video="qanda-color" id="subtitle"]]
+[[!template text="""mainly that I had to do a lot of context switch between""" start="00:01:37.560" video="qanda-color" id="subtitle"]]
+[[!template text="""different languages. Elisp is not the one because Elisp is""" start="00:01:40.240" video="qanda-color" id="subtitle"]]
+[[!template text="""something that I would do for Emacs editing. But for day job,""" start="00:01:44.120" video="qanda-color" id="subtitle"]]
+[[!template text="""I had to use mainly Go as I work with Kubernetes quite a bit. So""" start="00:01:48.080" video="qanda-color" id="subtitle"]]
+[[!template text="""Go and also web languages like TypeScript, JavaScript, you""" start="00:01:53.000" video="qanda-color" id="subtitle"]]
+[[!template text="""know, those languages, where I felt that whenever I was""" start="00:01:58.120" video="qanda-color" id="subtitle"]]
+[[!template text="""switching context to a different language, I felt that it's""" start="00:02:01.520" video="qanda-color" id="subtitle"]]
+[[!template text="""kind of annoying to see all the different colors in""" start="00:02:05.360" video="qanda-color" id="subtitle"]]
+[[!template text="""languages like TypeScript, where, you know, VS Code way""" start="00:02:08.840" video="qanda-color" id="subtitle"]]
+[[!template text="""would be very full of colors. which I felt that, okay, like,""" start="00:02:12.000" video="qanda-color" id="subtitle"]]
+[[!template text="""why do I have to have that many different colors on let and""" start="00:02:15.800" video="qanda-color" id="subtitle"]]
+[[!template text="""constant or the keywords where it could be just a white text?""" start="00:02:18.760" video="qanda-color" id="subtitle"]]
+[[!template text="""It didn't have to be that colorful. So that was the bit, the""" start="00:02:23.760" video="qanda-color" id="subtitle"]]
+[[!template text="""most annoying bit when it came to context switching. And I""" start="00:02:27.680" video="qanda-color" id="subtitle"]]
+[[!template text="""felt that that just didn't happen in the Org Mode or writing""" start="00:02:31.400" video="qanda-color" id="subtitle"]]
+[[!template text="""in general. So I had to find a way to make it work, make more""" start="00:02:34.760" video="qanda-color" id="subtitle"]]
+[[!template text="""coding make my coding more kind of friendly to me and that's""" start="00:02:40.800" video="qanda-color" id="subtitle"]]
+[[!template text="""when I thought maybe just the colors are something that's""" start="00:02:46.200" video="qanda-color" id="subtitle"]]
+[[!template text="""bothering me and it actually was the case and that's how I got""" start="00:02:50.040" video="qanda-color" id="subtitle"]]
+[[!template text="""to more into the color kind of journey and got too much into it""" start="00:02:54.040" video="qanda-color" id="subtitle"]]
+[[!template text="""I guess. Right, and was it what eventually motivated you to""" start="00:02:59.360" video="qanda-color" id="subtitle"]]
-<div class="transcript-heading">[[!template new="1" text="""What motivated you to learn Elisp and get into the Emacs core?""" start="00:03:00.535" video="qanda-color" id="subtitle"]]</div>[[!template text="""learn Elisp and to get into the Emacs core? Because it's""" start="00:03:00.535" video="qanda-color" id="subtitle"]]
-[[!template text="""funny how you find plenty of people using Emacs in Org Mode""" start="00:03:05.798" video="qanda-color" id="subtitle"]]
-[[!template text="""and then they find something that they take particular""" start="00:03:05.798" video="qanda-color" id="subtitle"]]
-[[!template text="""issue with, for you it's the color, and then they just go all""" start="00:03:05.798" video="qanda-color" id="subtitle"]]
-[[!template text="""in trying to pull the rope as far as they can to try to""" start="00:03:05.798" video="qanda-color" id="subtitle"]]
-[[!template text="""understand as much as possible about what code is managing""" start="00:03:05.798" video="qanda-color" id="subtitle"]]
-[[!template text="""this part of the application. Like for you it was color, for""" start="00:03:05.798" video="qanda-color" id="subtitle"]]
-[[!template text="""me it was the org agenda, I desperately wanted to make Org""" start="00:03:22.786" video="qanda-color" id="subtitle"]]
-[[!template text="""Agenda do something that it wasn't able to do. And five""" start="00:03:25.367" video="qanda-color" id="subtitle"]]
-[[!template text="""years, well, actually, no, 10 years later, I find myself""" start="00:03:31.433" video="qanda-color" id="subtitle"]]
-[[!template text="""hosting Emacs Cons. So, you never know just how far you're""" start="00:03:31.433" video="qanda-color" id="subtitle"]]
-[[!template text="""going to be pulling this rope. So, it's really interesting""" start="00:03:36.598" video="qanda-color" id="subtitle"]]
-[[!template text="""for me that my call was this. But back to the question, is this""" start="00:03:39.561" video="qanda-color" id="subtitle"]]
-[[!template text="""what eventually motivated you to get into Elisp and the core""" start="00:03:42.464" video="qanda-color" id="subtitle"]]
-[[!template text="""of Emacs? I think that the original journey to move to Emacs""" start="00:03:42.464" video="qanda-color" id="subtitle"]]
-[[!template text="""was around keybindings that I got annoyed with with other""" start="00:03:49.798" video="qanda-color" id="subtitle"]]
-[[!template text="""solutions, not just, you know, not speaking of Emacs""" start="00:03:49.798" video="qanda-color" id="subtitle"]]
-[[!template text="""keybinding or anything, like anything in general. The main""" start="00:03:49.798" video="qanda-color" id="subtitle"]]
-[[!template text="""reason was that I used Dovrak keyboard layout, and that""" start="00:04:02.870" video="qanda-color" id="subtitle"]]
-[[!template text="""meant that all the C-c, C-v, C-p, whatever, It just is""" start="00:04:02.870" video="qanda-color" id="subtitle"]]
-[[!template text="""all over the place. So I had to find something that could work""" start="00:04:10.257" video="qanda-color" id="subtitle"]]
-[[!template text="""for me. And Emacs was a solution that allowed me to do""" start="00:04:11.577" video="qanda-color" id="subtitle"]]
-[[!template text="""anything. And that's the kind of the journey that it""" start="00:04:14.898" video="qanda-color" id="subtitle"]]
-[[!template text="""originally started. And from there, started tweaking org""" start="00:04:18.019" video="qanda-color" id="subtitle"]]
-[[!template text="""mode and writing experience to be tuned to my liking. Color""" start="00:04:21.599" video="qanda-color" id="subtitle"]]
-[[!template text="""was another thing that I thought, OK, maybe I could do it""" start="00:04:29.101" video="qanda-color" id="subtitle"]]
-[[!template text="""easily with org mode. And when I started to use more of the""" start="00:04:29.101" video="qanda-color" id="subtitle"]]
-[[!template text="""coding side of things on Emacs, I felt that, okay, that was""" start="00:04:34.262" video="qanda-color" id="subtitle"]]
-[[!template text="""something I needed to solve. So Elisp was always kind of""" start="00:04:39.355" video="qanda-color" id="subtitle"]]
-[[!template text="""just a toolkit that, you know, I knew that it was available. I""" start="00:04:41.877" video="qanda-color" id="subtitle"]]
-[[!template text="""knew that it would be something that I want to be able to use.""" start="00:04:48.322" video="qanda-color" id="subtitle"]]
-[[!template text="""So I think in a way color was a good segue to understand how I""" start="00:04:52.646" video="qanda-color" id="subtitle"]]
-[[!template text="""can kind of work out more of a complex logic with the editor""" start="00:04:52.646" video="qanda-color" id="subtitle"]]
-[[!template text="""without having to write JavaScript or things that I don't""" start="00:04:59.136" video="qanda-color" id="subtitle"]]
-[[!template text="""particularly like. So yeah, I think the journey around the""" start="00:04:59.136" video="qanda-color" id="subtitle"]]
-[[!template text="""functional languages, functional kind of programming was""" start="00:05:07.440" video="qanda-color" id="subtitle"]]
-[[!template text="""always something that I was keen about. And yeah, the whole""" start="00:05:07.440" video="qanda-color" id="subtitle"]]
-[[!template text="""journey kind of made sense for me. And then moving on to the""" start="00:05:13.943" video="qanda-color" id="subtitle"]]
-[[!template text="""color was just one way to get more involved in. So I can""" start="00:05:16.984" video="qanda-color" id="subtitle"]]
-[[!template text="""totally see that this journey kind of making to a little bit""" start="00:05:21.406" video="qanda-color" id="subtitle"]]
-[[!template text="""different angle But yeah, we shall see how that really turns""" start="00:05:21.406" video="qanda-color" id="subtitle"]]
-[[!template text="""out. But for now, I think I'm happy with the color setup. Now I""" start="00:05:27.669" video="qanda-color" id="subtitle"]]
-[[!template text="""can really focus on the coding. Well, that's all good. And""" start="00:05:33.514" video="qanda-color" id="subtitle"]]
-[[!template text="""I'm sure plenty of people listening to you now, you know,""" start="00:05:37.156" video="qanda-color" id="subtitle"]]
-[[!template text="""find this relatable, how they eventually got into""" start="00:05:37.156" video="qanda-color" id="subtitle"]]
-[[!template text="""programming. Like for you, you did say that you were a""" start="00:05:37.156" video="qanda-color" id="subtitle"]]
-[[!template text="""software engineer now. But I found plenty of people,""" start="00:05:44.222" video="qanda-color" id="subtitle"]]
-[[!template text="""especially doing workshops, that just started you know,""" start="00:05:48.705" video="qanda-color" id="subtitle"]]
-[[!template text="""their software engineering journey just with Emacs and""" start="00:05:54.339" video="qanda-color" id="subtitle"]]
-[[!template text="""they just realized they were doing something completely""" start="00:05:54.339" video="qanda-color" id="subtitle"]]
-[[!template text="""different, like I was studying humanities. But then you""" start="00:05:54.339" video="qanda-color" id="subtitle"]]
-[[!template text="""touch Emacs and you realize, yeah, this whole programming""" start="00:06:01.787" video="qanda-color" id="subtitle"]]
-[[!template text="""shtick is actually pretty damn cool.""" start="00:06:01.787" video="qanda-color" id="subtitle"]]
-[[!template text="""And then you find yourself again,""" start="00:06:07.280" video="qanda-color" id="subtitle"]]
-[[!template text="""five to 10 years later, becoming a software""" start="00:06:09.400" video="qanda-color" id="subtitle"]]
-[[!template text="""engineer. So yeah, that's all good.""" start="00:06:11.040" video="qanda-color" id="subtitle"]]
-[[!template text="""So we do have a couple of""" start="00:06:12.920" video="qanda-color" id="subtitle"]]
-[[!template text="""questions and I'd like to move into them so that I, I mean,""" start="00:06:14.520" video="qanda-color" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""What motivated you to learn Elisp and get into the Emacs core?""" start="00:03:04.040" video="qanda-color" id="subtitle"]]</div>[[!template text="""learn Elisp and to get into the Emacs core? Because it's""" start="00:03:04.040" video="qanda-color" id="subtitle"]]
+[[!template text="""funny how you find plenty of people using Emacs in Org Mode""" start="00:03:07.000" video="qanda-color" id="subtitle"]]
+[[!template text="""and then they find something that they take particular""" start="00:03:09.400" video="qanda-color" id="subtitle"]]
+[[!template text="""issue with, for you it's the color, and then they just go all""" start="00:03:11.400" video="qanda-color" id="subtitle"]]
+[[!template text="""in trying to pull the rope as far as they can to try to""" start="00:03:15.040" video="qanda-color" id="subtitle"]]
+[[!template text="""understand as much as possible about what code is managing""" start="00:03:18.040" video="qanda-color" id="subtitle"]]
+[[!template text="""this part of the application. Like for you it was color, for""" start="00:03:21.360" video="qanda-color" id="subtitle"]]
+[[!template text="""me it was the org agenda, I desperately wanted to make Org""" start="00:03:23.880" video="qanda-color" id="subtitle"]]
+[[!template text="""Agenda do something that it wasn't able to do. And five""" start="00:03:28.000" video="qanda-color" id="subtitle"]]
+[[!template text="""years, well, actually, no, 10 years later, I find myself""" start="00:03:32.440" video="qanda-color" id="subtitle"]]
+[[!template text="""hosting Emacs Cons. So, you never know just how far you're""" start="00:03:35.200" video="qanda-color" id="subtitle"]]
+[[!template text="""going to be pulling this rope. So, it's really interesting""" start="00:03:38.200" video="qanda-color" id="subtitle"]]
+[[!template text="""for me that my call was this. But back to the question, is this""" start="00:03:40.400" video="qanda-color" id="subtitle"]]
+[[!template text="""what eventually motivated you to get into Elisp and the core""" start="00:03:44.680" video="qanda-color" id="subtitle"]]
+[[!template text="""of Emacs? I think that the original journey to move to Emacs""" start="00:03:47.760" video="qanda-color" id="subtitle"]]
+[[!template text="""was around keybindings that I got annoyed with with other""" start="00:03:53.440" video="qanda-color" id="subtitle"]]
+[[!template text="""solutions, not just, you know, not speaking of Emacs""" start="00:03:56.960" video="qanda-color" id="subtitle"]]
+[[!template text="""keybinding or anything, like anything in general. The main""" start="00:03:59.840" video="qanda-color" id="subtitle"]]
+[[!template text="""reason was that I used Dovrak keyboard layout, and that""" start="00:04:02.880" video="qanda-color" id="subtitle"]]
+[[!template text="""meant that all the C-c, C-v, C-p, whatever, It just is""" start="00:04:07.520" video="qanda-color" id="subtitle"]]
+[[!template text="""all over the place. So I had to find something that could work""" start="00:04:10.800" video="qanda-color" id="subtitle"]]
+[[!template text="""for me. And Emacs was a solution that allowed me to do""" start="00:04:13.920" video="qanda-color" id="subtitle"]]
+[[!template text="""anything. And that's the kind of the journey that it""" start="00:04:17.040" video="qanda-color" id="subtitle"]]
+[[!template text="""originally started. And from there, started tweaking org""" start="00:04:20.480" video="qanda-color" id="subtitle"]]
+[[!template text="""mode and writing experience to be tuned to my liking. Color""" start="00:04:24.040" video="qanda-color" id="subtitle"]]
+[[!template text="""was another thing that I thought, OK, maybe I could do it""" start="00:04:28.440" video="qanda-color" id="subtitle"]]
+[[!template text="""easily with org mode. And when I started to use more of the""" start="00:04:32.560" video="qanda-color" id="subtitle"]]
+[[!template text="""coding side of things on Emacs, I felt that, okay, that was""" start="00:04:36.240" video="qanda-color" id="subtitle"]]
+[[!template text="""something I needed to solve. So Elisp was always kind of""" start="00:04:40.800" video="qanda-color" id="subtitle"]]
+[[!template text="""just a toolkit that, you know, I knew that it was available. I""" start="00:04:45.160" video="qanda-color" id="subtitle"]]
+[[!template text="""knew that it would be something that I want to be able to use.""" start="00:04:48.440" video="qanda-color" id="subtitle"]]
+[[!template text="""So I think in a way color was a good segue to understand how I""" start="00:04:52.200" video="qanda-color" id="subtitle"]]
+[[!template text="""can kind of work out more of a complex logic with the editor""" start="00:04:57.160" video="qanda-color" id="subtitle"]]
+[[!template text="""without having to write JavaScript or things that I don't""" start="00:05:03.360" video="qanda-color" id="subtitle"]]
+[[!template text="""particularly like. So yeah, I think the journey around the""" start="00:05:06.360" video="qanda-color" id="subtitle"]]
+[[!template text="""functional languages, functional kind of programming was""" start="00:05:09.400" video="qanda-color" id="subtitle"]]
+[[!template text="""always something that I was keen about. And yeah, the whole""" start="00:05:11.880" video="qanda-color" id="subtitle"]]
+[[!template text="""journey kind of made sense for me. And then moving on to the""" start="00:05:15.440" video="qanda-color" id="subtitle"]]
+[[!template text="""color was just one way to get more involved in. So I can""" start="00:05:18.480" video="qanda-color" id="subtitle"]]
+[[!template text="""totally see that this journey kind of making to a little bit""" start="00:05:22.000" video="qanda-color" id="subtitle"]]
+[[!template text="""different angle But yeah, we shall see how that really turns""" start="00:05:26.280" video="qanda-color" id="subtitle"]]
+[[!template text="""out. But for now, I think I'm happy with the color setup. Now I""" start="00:05:30.760" video="qanda-color" id="subtitle"]]
+[[!template text="""can really focus on the coding. Well, that's all good. And""" start="00:05:33.800" video="qanda-color" id="subtitle"]]
+[[!template text="""I'm sure plenty of people listening to you now, you know,""" start="00:05:37.600" video="qanda-color" id="subtitle"]]
+[[!template text="""find this relatable, how they eventually got into""" start="00:05:40.840" video="qanda-color" id="subtitle"]]
+[[!template text="""programming. Like for you, you did say that you were a""" start="00:05:43.640" video="qanda-color" id="subtitle"]]
+[[!template text="""software engineer now. But I found plenty of people,""" start="00:05:46.880" video="qanda-color" id="subtitle"]]
+[[!template text="""especially doing workshops, that just started you know,""" start="00:05:50.520" video="qanda-color" id="subtitle"]]
+[[!template text="""their software engineering journey just with Emacs and""" start="00:05:54.680" video="qanda-color" id="subtitle"]]
+[[!template text="""they just realized they were doing something completely""" start="00:05:57.640" video="qanda-color" id="subtitle"]]
+[[!template text="""different, like I was studying humanities. But then you""" start="00:05:59.240" video="qanda-color" id="subtitle"]]
+[[!template text="""touch Emacs and you realize, yeah, this whole programming""" start="00:06:02.000" video="qanda-color" id="subtitle"]]
+[[!template text="""shtick is actually pretty damn cool.""" start="00:06:05.080" video="qanda-color" id="subtitle"]]
+[[!template text="""And then you find yourself again,""" start="00:06:06.680" video="qanda-color" id="subtitle"]]
+[[!template text="""five to 10 years later, becoming a software""" start="00:06:09.080" video="qanda-color" id="subtitle"]]
+[[!template text="""engineer. So yeah, that's all good.""" start="00:06:11.000" video="qanda-color" id="subtitle"]]
+[[!template text="""So we do have a couple of""" start="00:06:13.000" video="qanda-color" id="subtitle"]]
+[[!template text="""questions and I'd like to move into them so that I, I mean,""" start="00:06:13.920" video="qanda-color" id="subtitle"]]
[[!template text="""people have questions and for me it's okay for me to chat with""" start="00:06:18.440" video="qanda-color" id="subtitle"]]
-[[!template text="""you but obviously it's better if people ask you the question""" start="00:06:22.440" video="qanda-color" id="subtitle"]]
+[[!template text="""you but obviously it's better if people ask you the question""" start="00:06:22.400" video="qanda-color" id="subtitle"]]
[[!template text="""themselves. And again, if you want to ask questions to Ryota""" start="00:06:25.120" video="qanda-color" id="subtitle"]]
-[[!template text="""directly, feel free to join us on BBB and whenever we're done""" start="00:06:27.680" video="qanda-color" id="subtitle"]]
-[[!template text="""with the questions on the pad, I'm more than happy""" start="00:06:31.080" video="qanda-color" id="subtitle"]]
+[[!template text="""directly, feel free to join us on BBB and whenever we're done""" start="00:06:27.640" video="qanda-color" id="subtitle"]]
+[[!template text="""with the questions on the pad, I'm more than happy""" start="00:06:31.040" video="qanda-color" id="subtitle"]]
[[!template text="""to let you ask your questions live.""" start="00:06:33.520" video="qanda-color" id="subtitle"]]
-<div class="transcript-heading">[[!template new="1" text="""Q: Is there any intention to create a library for working with more experimental color spaces? Pulling code out of Hasliberg for this purpose, perhaps?""" start="00:06:35.982" video="qanda-color" id="subtitle"]]</div>[[!template text="""All right, so starting with the first question,""" start="00:06:35.982" video="qanda-color" id="subtitle"]]
-[[!template text="""is there any intention to create a library""" start="00:06:37.903" video="qanda-color" id="subtitle"]]
-[[!template text="""for working with more experimental color spaces, pulling""" start="00:06:37.903" video="qanda-color" id="subtitle"]]
-[[!template text="""code out of Hasliberg for this purpose, perhaps? Although I""" start="00:06:35.982" video="qanda-color" id="subtitle"]]
-[[!template text="""do not know. Hasliberg, you might? Yeah, Hasliberg. And to""" start="00:06:45.329" video="qanda-color" id="subtitle"]]
-[[!template text="""answer the question, started the journey just for myself""" start="00:06:49.692" video="qanda-color" id="subtitle"]]
-[[!template text="""and I didn't think that it would be actually useful for other""" start="00:06:52.859" video="qanda-color" id="subtitle"]]
-[[!template text="""use cases and this conference talk just came about kind of""" start="00:06:52.859" video="qanda-color" id="subtitle"]]
-[[!template text="""out of sheer luck really. So the idea I think I can definitely""" start="00:06:52.859" video="qanda-color" id="subtitle"]]
-[[!template text="""work it out and I don't think there will be too, the original""" start="00:07:04.771" video="qanda-color" id="subtitle"]]
-[[!template text="""code that I started with was I had to use some color space and I""" start="00:07:04.771" video="qanda-color" id="subtitle"]]
-[[!template text="""started with sRGB and then went to HSL and then went to LCH. So""" start="00:07:15.931" video="qanda-color" id="subtitle"]]
-[[!template text="""I think there has been quite a bit that I learned from it. At""" start="00:07:21.996" video="qanda-color" id="subtitle"]]
-[[!template text="""the same time, I may be tempted to actually maybe perhaps""" start="00:07:25.458" video="qanda-color" id="subtitle"]]
-[[!template text="""contribute back to ct.el rather than creating my own. I""" start="00:07:25.458" video="qanda-color" id="subtitle"]]
-[[!template text="""think that would make more sense perhaps.""" start="00:07:34.105" video="qanda-color" id="subtitle"]]
-[[!template text="""But for my own kind of taste that I thought""" start="00:07:36.607" video="qanda-color" id="subtitle"]]
-[[!template text="""that it would be something I can work out in my theme,""" start="00:07:39.549" video="qanda-color" id="subtitle"]]
-[[!template text="""but I don't have any I think, you know, making a""" start="00:07:42.892" video="qanda-color" id="subtitle"]]
-[[!template text="""library is definitely something that I can think about, but""" start="00:07:45.813" video="qanda-color" id="subtitle"]]
-[[!template text="""perhaps maybe making it too many packages isn't exactly""" start="00:07:45.813" video="qanda-color" id="subtitle"]]
-[[!template text="""what I want. But for my own use case, I think I just wanted to""" start="00:07:45.813" video="qanda-color" id="subtitle"]]
-[[!template text="""have something that just didn't have any external""" start="00:07:55.175" video="qanda-color" id="subtitle"]]
-[[!template text="""dependency so that I can use the vanilla Emacs with my""" start="00:07:55.175" video="qanda-color" id="subtitle"]]
-[[!template text="""colors. I think that's how it started, but I'm definitely up""" start="00:07:55.175" video="qanda-color" id="subtitle"]]
-[[!template text="""for it if there is interest about it. Yeah, well, thank you""" start="00:08:06.757" video="qanda-color" id="subtitle"]]
-[[!template text="""for this. It's always good to contribute.""" start="00:08:12.622" video="qanda-color" id="subtitle"]]
-[[!template text="""I'm tempted to say""" start="00:08:16.040" video="qanda-color" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Q: Is there any intention to create a library for working with more experimental color spaces? Pulling code out of Hasliberg for this purpose, perhaps?""" start="00:06:35.320" video="qanda-color" id="subtitle"]]</div>[[!template text="""All right, so starting with the first question,""" start="00:06:35.320" video="qanda-color" id="subtitle"]]
+[[!template text="""is there any intention to create a library""" start="00:06:37.800" video="qanda-color" id="subtitle"]]
+[[!template text="""for working with more experimental color spaces, pulling""" start="00:06:40.000" video="qanda-color" id="subtitle"]]
+[[!template text="""code out of Hasliberg for this purpose, perhaps? Although I""" start="00:06:42.560" video="qanda-color" id="subtitle"]]
+[[!template text="""do not know. Hasliberg, you might? Yeah, Hasliberg. And to""" start="00:06:45.680" video="qanda-color" id="subtitle"]]
+[[!template text="""answer the question, started the journey just for myself""" start="00:06:50.480" video="qanda-color" id="subtitle"]]
+[[!template text="""and I didn't think that it would be actually useful for other""" start="00:06:55.120" video="qanda-color" id="subtitle"]]
+[[!template text="""use cases and this conference talk just came about kind of""" start="00:06:58.480" video="qanda-color" id="subtitle"]]
+[[!template text="""out of sheer luck really. So the idea I think I can definitely""" start="00:07:03.320" video="qanda-color" id="subtitle"]]
+[[!template text="""work it out and I don't think there will be too, the original""" start="00:07:08.080" video="qanda-color" id="subtitle"]]
+[[!template text="""code that I started with was I had to use some color space and I""" start="00:07:12.200" video="qanda-color" id="subtitle"]]
+[[!template text="""started with sRGB and then went to HSL and then went to LCH. So""" start="00:07:17.640" video="qanda-color" id="subtitle"]]
+[[!template text="""I think there has been quite a bit that I learned from it. At""" start="00:07:22.480" video="qanda-color" id="subtitle"]]
+[[!template text="""the same time, I may be tempted to actually maybe perhaps""" start="00:07:25.480" video="qanda-color" id="subtitle"]]
+[[!template text="""contribute back to ct.el rather than creating my own. I""" start="00:07:30.000" video="qanda-color" id="subtitle"]]
+[[!template text="""think that would make more sense perhaps.""" start="00:07:34.160" video="qanda-color" id="subtitle"]]
+[[!template text="""But for my own kind of taste that I thought""" start="00:07:36.280" video="qanda-color" id="subtitle"]]
+[[!template text="""that it would be something I can work out in my theme,""" start="00:07:39.480" video="qanda-color" id="subtitle"]]
+[[!template text="""but I don't have any I think, you know, making a""" start="00:07:42.840" video="qanda-color" id="subtitle"]]
+[[!template text="""library is definitely something that I can think about, but""" start="00:07:46.880" video="qanda-color" id="subtitle"]]
+[[!template text="""perhaps maybe making it too many packages isn't exactly""" start="00:07:50.000" video="qanda-color" id="subtitle"]]
+[[!template text="""what I want. But for my own use case, I think I just wanted to""" start="00:07:53.680" video="qanda-color" id="subtitle"]]
+[[!template text="""have something that just didn't have any external""" start="00:07:57.320" video="qanda-color" id="subtitle"]]
+[[!template text="""dependency so that I can use the vanilla Emacs with my""" start="00:07:59.920" video="qanda-color" id="subtitle"]]
+[[!template text="""colors. I think that's how it started, but I'm definitely up""" start="00:08:04.120" video="qanda-color" id="subtitle"]]
+[[!template text="""for it if there is interest about it. Yeah, well, thank you""" start="00:08:09.640" video="qanda-color" id="subtitle"]]
+[[!template text="""for this. It's always good to contribute.""" start="00:08:13.720" video="qanda-color" id="subtitle"]]
+[[!template text="""I'm tempted to say""" start="00:08:15.280" video="qanda-color" id="subtitle"]]
[[!template text="""that's how they get you. You know, you do something really""" start="00:08:16.400" video="qanda-color" id="subtitle"]]
-[[!template text="""cool and you share it with people and they have the, you know,""" start="00:08:18.680" video="qanda-color" id="subtitle"]]
-[[!template text="""they just ask you, oh, do you have your code online? And you""" start="00:08:24.800" video="qanda-color" id="subtitle"]]
-[[!template text="""realize, no, I haven't pushed it. And then they start""" start="00:08:27.166" video="qanda-color" id="subtitle"]]
-[[!template text="""pressing you on. well, you need to do this, this is amazing""" start="00:08:28.707" video="qanda-color" id="subtitle"]]
-[[!template text="""and you need to share it. You know, I had plenty of people ask""" start="00:08:30.287" video="qanda-color" id="subtitle"]]
-[[!template text="""me to share my dot files when I was tackling the org agenda""" start="00:08:33.849" video="qanda-color" id="subtitle"]]
-[[!template text="""issue that I mentioned earlier. And yeah, eventually when""" start="00:08:33.849" video="qanda-color" id="subtitle"]]
-[[!template text="""you get to publishing your stuff, you also feel great""" start="00:08:42.575" video="qanda-color" id="subtitle"]]
-[[!template text="""because you're putting a little bit of your intelligence""" start="00:08:42.575" video="qanda-color" id="subtitle"]]
-[[!template text="""into the world and it can be the start of the journey for""" start="00:08:42.575" video="qanda-color" id="subtitle"]]
-[[!template text="""someone else. You know, maybe someone will find your""" start="00:08:42.575" video="qanda-color" id="subtitle"]]
-[[!template text="""library at some point and realize, yeah, I wanted to do""" start="00:08:54.283" video="qanda-color" id="subtitle"]]
-[[!template text="""something slightly differently. and then they either""" start="00:08:54.283" video="qanda-color" id="subtitle"]]
-[[!template text="""contribute to a library or they make their own but it's a""" start="00:09:00.387" video="qanda-color" id="subtitle"]]
-[[!template text="""complete journey that starts with just people taking the""" start="00:09:00.387" video="qanda-color" id="subtitle"]]
-[[!template text="""time to publish the content of the brain basically. Yeah,""" start="00:09:00.387" video="qanda-color" id="subtitle"]]
-[[!template text="""that's the power of open source now. It's just how we really""" start="00:09:11.894" video="qanda-color" id="subtitle"]]
-[[!template text="""appreciate the open source culture being cultivated""" start="00:09:13.654" video="qanda-color" id="subtitle"]]
-[[!template text="""throughout so many years. And yeah, this is something that""" start="00:09:13.654" video="qanda-color" id="subtitle"]]
-[[!template text="""I'm definitely keen about. So yeah, open for suggestions.""" start="00:09:21.736" video="qanda-color" id="subtitle"]]
-[[!template text="""And exactly, that's how I started with the journey. And""" start="00:09:26.618" video="qanda-color" id="subtitle"]]
-[[!template text="""yeah, while this is very experimental and very personal,""" start="00:09:29.760" video="qanda-color" id="subtitle"]]
-[[!template text="""yeah, I'm not, you know, tied down to one particular way""" start="00:09:33.560" video="qanda-color" id="subtitle"]]
-[[!template text="""only. So yeah we'll be open to suggestions like this one""" start="00:09:38.240" video="qanda-color" id="subtitle"]]
-[[!template text="""which I would definitely think about. Yeah that's amazing""" start="00:09:41.680" video="qanda-color" id="subtitle"]]
-[[!template text="""and just to be clear you know this is not a there's no""" start="00:09:44.840" video="qanda-color" id="subtitle"]]
-[[!template text="""incentive one. I'm not pushing you to publish your library.""" start="00:09:46.880" video="qanda-color" id="subtitle"]]
-[[!template text="""You know it was very personal for you and at the end if you""" start="00:09:51.070" video="qanda-color" id="subtitle"]]
-[[!template text="""believe it might be useful for others it's a nice thing to""" start="00:09:51.070" video="qanda-color" id="subtitle"]]
-[[!template text="""eventually think about publishing it. But just the fact""" start="00:09:51.070" video="qanda-color" id="subtitle"]]
-[[!template text="""that you showed up at EmacsConf... Sorry, I'm""" start="00:09:58.056" video="qanda-color" id="subtitle"]]
-[[!template text="""starting to lose my voice on the morning""" start="00:10:01.278" video="qanda-color" id="subtitle"]]
-[[!template text="""of the first day. That's""" start="00:10:02.699" video="qanda-color" id="subtitle"]]
-[[!template text="""not boding well for the two next days. I mean, just one day.""" start="00:10:03.520" video="qanda-color" id="subtitle"]]
-[[!template text="""But just the""" start="00:10:08.560" video="qanda-color" id="subtitle"]]
-[[!template text="""fact that you're showing up at EmacsConf and sharing about""" start="00:10:10.080" video="qanda-color" id="subtitle"]]
-[[!template text="""all of this, the process, how you got to it eventually, it's""" start="00:10:13.280" video="qanda-color" id="subtitle"]]
-[[!template text="""also a part of sharing. And I think it's also amazing in its""" start="00:10:17.120" video="qanda-color" id="subtitle"]]
-[[!template text="""own way. Absolutely. Okay, I'm going to try to read the next""" start="00:10:19.440" video="qanda-color" id="subtitle"]]
+[[!template text="""cool and you share it with people and they have the, you know,""" start="00:08:18.280" video="qanda-color" id="subtitle"]]
+[[!template text="""they just ask you, oh, do you have your code online? And you""" start="00:08:23.640" video="qanda-color" id="subtitle"]]
+[[!template text="""realize, no, I haven't pushed it. And then they start""" start="00:08:27.240" video="qanda-color" id="subtitle"]]
+[[!template text="""pressing you on. well, you need to do this, this is amazing""" start="00:08:29.400" video="qanda-color" id="subtitle"]]
+[[!template text="""and you need to share it. You know, I had plenty of people ask""" start="00:08:32.360" video="qanda-color" id="subtitle"]]
+[[!template text="""me to share my dot files when I was tackling the org agenda""" start="00:08:35.880" video="qanda-color" id="subtitle"]]
+[[!template text="""issue that I mentioned earlier. And yeah, eventually when""" start="00:08:40.520" video="qanda-color" id="subtitle"]]
+[[!template text="""you get to publishing your stuff, you also feel great""" start="00:08:44.040" video="qanda-color" id="subtitle"]]
+[[!template text="""because you're putting a little bit of your intelligence""" start="00:08:47.480" video="qanda-color" id="subtitle"]]
+[[!template text="""into the world and it can be the start of the journey for""" start="00:08:50.280" video="qanda-color" id="subtitle"]]
+[[!template text="""someone else. You know, maybe someone will find your""" start="00:08:53.680" video="qanda-color" id="subtitle"]]
+[[!template text="""library at some point and realize, yeah, I wanted to do""" start="00:08:56.240" video="qanda-color" id="subtitle"]]
+[[!template text="""something slightly differently. and then they either""" start="00:08:58.680" video="qanda-color" id="subtitle"]]
+[[!template text="""contribute to a library or they make their own but it's a""" start="00:09:01.240" video="qanda-color" id="subtitle"]]
+[[!template text="""complete journey that starts with just people taking the""" start="00:09:04.440" video="qanda-color" id="subtitle"]]
+[[!template text="""time to publish the content of the brain basically. Yeah,""" start="00:09:07.360" video="qanda-color" id="subtitle"]]
+[[!template text="""that's the power of open source now. It's just how we really""" start="00:09:12.040" video="qanda-color" id="subtitle"]]
+[[!template text="""appreciate the open source culture being cultivated""" start="00:09:15.520" video="qanda-color" id="subtitle"]]
+[[!template text="""throughout so many years. And yeah, this is something that""" start="00:09:19.120" video="qanda-color" id="subtitle"]]
+[[!template text="""I'm definitely keen about. So yeah, open for suggestions.""" start="00:09:23.160" video="qanda-color" id="subtitle"]]
+[[!template text="""And exactly, that's how I started with the journey. And""" start="00:09:27.000" video="qanda-color" id="subtitle"]]
+[[!template text="""yeah, while this is very experimental and very personal,""" start="00:09:30.080" video="qanda-color" id="subtitle"]]
+[[!template text="""yeah, I'm not, you know, tied down to one particular way""" start="00:09:33.520" video="qanda-color" id="subtitle"]]
+[[!template text="""only. So yeah we'll be open to suggestions like this one""" start="00:09:38.200" video="qanda-color" id="subtitle"]]
+[[!template text="""which I would definitely think about. Yeah that's amazing""" start="00:09:41.400" video="qanda-color" id="subtitle"]]
+[[!template text="""and just to be clear you know this is not a there's no""" start="00:09:44.720" video="qanda-color" id="subtitle"]]
+[[!template text="""incentive one. I'm not pushing you to publish your library.""" start="00:09:47.000" video="qanda-color" id="subtitle"]]
+[[!template text="""You know it was very personal for you and at the end if you""" start="00:09:50.640" video="qanda-color" id="subtitle"]]
+[[!template text="""believe it might be useful for others it's a nice thing to""" start="00:09:53.800" video="qanda-color" id="subtitle"]]
+[[!template text="""eventually think about publishing it. But just the fact""" start="00:09:56.200" video="qanda-color" id="subtitle"]]
+[[!template text="""that you showed up at EmacsConf... Sorry, I'm""" start="00:09:58.800" video="qanda-color" id="subtitle"]]
+[[!template text="""starting to lose my voice on the morning""" start="00:10:01.440" video="qanda-color" id="subtitle"]]
+[[!template text="""of the first day. That's""" start="00:10:02.640" video="qanda-color" id="subtitle"]]
+[[!template text="""not boding well for the two next days. I mean, just one day.""" start="00:10:03.840" video="qanda-color" id="subtitle"]]
+[[!template text="""But just the""" start="00:10:07.640" video="qanda-color" id="subtitle"]]
+[[!template text="""fact that you're showing up at EmacsConf and sharing about""" start="00:10:09.160" video="qanda-color" id="subtitle"]]
+[[!template text="""all of this, the process, how you got to it eventually, it's""" start="00:10:13.200" video="qanda-color" id="subtitle"]]
+[[!template text="""also a part of sharing. And I think it's also amazing in its""" start="00:10:17.040" video="qanda-color" id="subtitle"]]
+[[!template text="""own way. Absolutely. Okay, I'm going to try to read the next""" start="00:10:19.640" video="qanda-color" id="subtitle"]]
[[!template text="""question and then try to cough a little bit. So can we have...""" start="00:10:26.040" video="qanda-color" id="subtitle"]]
-[[!template text="""Oh, sorry, Bala. Sorry. I was the one who asked the question.""" start="00:10:31.720" video="qanda-color" id="subtitle"]]
-[[!template text="""I thought I could ask it live here rather than... Thank you.""" start="00:10:36.920" video="qanda-color" id="subtitle"]]
-[[!template text="""I'll go cough a little bit. So here I am. Thanks, Ryota, for""" start="00:10:40.188" video="qanda-color" id="subtitle"]]
-[[!template text="""the nice talk. This is great. I loved it. Your attention to""" start="00:10:45.050" video="qanda-color" id="subtitle"]]
-[[!template text="""detail was awesome.""" start="00:10:49.531" video="qanda-color" id="subtitle"]]
+[[!template text="""Oh, sorry, Bala. Sorry. I was the one who asked the question.""" start="00:10:31.640" video="qanda-color" id="subtitle"]]
+[[!template text="""I thought I could ask it live here rather than... Thank you.""" start="00:10:36.760" video="qanda-color" id="subtitle"]]
+[[!template text="""I'll go cough a little bit. So here I am. Thanks, Ryota, for""" start="00:10:40.280" video="qanda-color" id="subtitle"]]
+[[!template text="""the nice talk. This is great. I loved it. Your attention to""" start="00:10:46.040" video="qanda-color" id="subtitle"]]
+[[!template text="""detail was awesome.""" start="00:10:50.520" video="qanda-color" id="subtitle"]]
-<div class="transcript-heading">[[!template new="1" text="""Q: Can we have a dark as well as light theme variations made from your theme?""" start="00:10:51.880" video="qanda-color" id="subtitle"]]</div>[[!template text="""So I was just looking at the code and I was""" start="00:10:51.880" video="qanda-color" id="subtitle"]]
-[[!template text="""wondering, do you have a dark and a light theme variation""" start="00:10:55.080" video="qanda-color" id="subtitle"]]
-[[!template text="""which can be made from your theme? Or do you have to customize""" start="00:10:58.840" video="qanda-color" id="subtitle"]]
-[[!template text="""it every time? That was my question. And thanks for that.""" start="00:11:02.480" video="qanda-color" id="subtitle"]]
-[[!template text="""Thank you very much. I appreciate your feedback and""" start="00:11:05.520" video="qanda-color" id="subtitle"]]
-[[!template text="""questions. So to answer the question, the short answer is""" start="00:11:10.240" video="qanda-color" id="subtitle"]]
-[[!template text="""that I do have both dark and light themes with some sorts of""" start="00:11:15.080" video="qanda-color" id="subtitle"]]
-[[!template text="""standard colors that I personally liked. And there were a""" start="00:11:18.640" video="qanda-color" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Q: Can we have a dark as well as light theme variations made from your theme?""" start="00:10:51.520" video="qanda-color" id="subtitle"]]</div>[[!template text="""So I was just looking at the code and I was""" start="00:10:51.520" video="qanda-color" id="subtitle"]]
+[[!template text="""wondering, do you have a dark and a light theme variation""" start="00:10:54.960" video="qanda-color" id="subtitle"]]
+[[!template text="""which can be made from your theme? Or do you have to customize""" start="00:10:58.760" video="qanda-color" id="subtitle"]]
+[[!template text="""it every time? That was my question. And thanks for that.""" start="00:11:02.600" video="qanda-color" id="subtitle"]]
+[[!template text="""Thank you very much. I appreciate your feedback and""" start="00:11:06.200" video="qanda-color" id="subtitle"]]
+[[!template text="""questions. So to answer the question, the short answer is""" start="00:11:09.680" video="qanda-color" id="subtitle"]]
+[[!template text="""that I do have both dark and light themes with some sorts of""" start="00:11:15.040" video="qanda-color" id="subtitle"]]
+[[!template text="""standard colors that I personally liked. And there were a""" start="00:11:18.440" video="qanda-color" id="subtitle"]]
[[!template text="""few things that I showed in the demo. where I showed, I think,""" start="00:11:22.200" video="qanda-color" id="subtitle"]]
-[[!template text="""three different dark theme colors. So light theme is""" start="00:11:26.720" video="qanda-color" id="subtitle"]]
-[[!template text="""definitely something that I can do.""" start="00:11:30.040" video="qanda-color" id="subtitle"]]
-[[!template text="""And the idea around Hasliberg theme""" start="00:11:31.800" video="qanda-color" id="subtitle"]]
-[[!template text="""and just my theming in general was that""" start="00:11:33.880" video="qanda-color" id="subtitle"]]
-[[!template text="""when I feel like I want to work in dark theme and when I want to""" start="00:11:36.360" video="qanda-color" id="subtitle"]]
-[[!template text="""work in the standard way, I would just use the standard color.""" start="00:11:39.680" video="qanda-color" id="subtitle"]]
-[[!template text="""But when I feel like maybe it's just so cold that I want""" start="00:11:42.480" video="qanda-color" id="subtitle"]]
-[[!template text="""to have a bit of a warm colors near me, I would use the orange""" start="00:11:44.960" video="qanda-color" id="subtitle"]]
-[[!template text="""theme, without changing too much of the kind of general""" start="00:11:49.400" video="qanda-color" id="subtitle"]]
-[[!template text="""feeling and experience. So that can be said for the light""" start="00:11:52.360" video="qanda-color" id="subtitle"]]
-[[!template text="""theme as well. So there is something and the kind of""" start="00:11:55.680" video="qanda-color" id="subtitle"]]
+[[!template text="""three different dark theme colors. So light theme is""" start="00:11:26.680" video="qanda-color" id="subtitle"]]
+[[!template text="""definitely something that I can do.""" start="00:11:30.000" video="qanda-color" id="subtitle"]]
+[[!template text="""And the idea around Hasliberg theme""" start="00:11:31.560" video="qanda-color" id="subtitle"]]
+[[!template text="""and just my theming in general was that""" start="00:11:33.760" video="qanda-color" id="subtitle"]]
+[[!template text="""when I feel like I want to work in dark theme and when I want to""" start="00:11:36.280" video="qanda-color" id="subtitle"]]
+[[!template text="""work in the standard way, I would just use the standard color.""" start="00:11:39.600" video="qanda-color" id="subtitle"]]
+[[!template text="""But when I feel like maybe it's just so cold that I want""" start="00:11:42.160" video="qanda-color" id="subtitle"]]
+[[!template text="""to have a bit of a warm colors near me, I would use the orange""" start="00:11:44.920" video="qanda-color" id="subtitle"]]
+[[!template text="""theme, without changing too much of the kind of general""" start="00:11:48.520" video="qanda-color" id="subtitle"]]
+[[!template text="""feeling and experience. So that can be said for the light""" start="00:11:52.280" video="qanda-color" id="subtitle"]]
+[[!template text="""theme as well. So there is something and the kind of""" start="00:11:55.640" video="qanda-color" id="subtitle"]]
[[!template text="""customization isn't that difficult to extend. So I do have""" start="00:11:58.960" video="qanda-color" id="subtitle"]]
-[[!template text="""both dark and light, but primarily I'm just looking at the""" start="00:12:04.920" video="qanda-color" id="subtitle"]]
-[[!template text="""dark theme as my main driver. But yeah, they are both""" start="00:12:09.080" video="qanda-color" id="subtitle"]]
-[[!template text="""available. Great. Thank you so much. I will definitely try""" start="00:12:10.240" video="qanda-color" id="subtitle"]]
-[[!template text="""your theme out. I'm definitely on the lookout for a nice,""" start="00:12:18.208" video="qanda-color" id="subtitle"]]
-[[!template text="""friendly theme. Thank you very much. As I said, this is a""" start="00:12:19.205" video="qanda-color" id="subtitle"]]
-[[!template text="""personal theme. I'm not sure if it really fits everyone's""" start="00:12:25.388" video="qanda-color" id="subtitle"]]
-[[!template text="""need, but it is one inspiration that I hope that can lead to""" start="00:12:29.089" video="qanda-color" id="subtitle"]]
-[[!template text="""another nice theming that could work for someone""" start="00:12:29.089" video="qanda-color" id="subtitle"]]
-[[!template text="""specifically for some use cases. I don't have to solve""" start="00:12:29.089" video="qanda-color" id="subtitle"]]
-[[!template text="""everyone's problem. Yeah, and I mean, it was sufficient to""" start="00:12:42.996" video="qanda-color" id="subtitle"]]
-[[!template text="""be inspirational to people. I mean, just Bala just""" start="00:12:46.553" video="qanda-color" id="subtitle"]]
-[[!template text="""mentioned it right now, but I'm sure plenty of people who""" start="00:12:49.755" video="qanda-color" id="subtitle"]]
-[[!template text="""watched live, but also people will be watching in the""" start="00:12:49.755" video="qanda-color" id="subtitle"]]
-[[!template text="""future, will have the interest to speak by what you've done.""" start="00:12:49.755" video="qanda-color" id="subtitle"]]
-[[!template text="""So thank you again so much for this. Yep. All right, well, I""" start="00:12:58.699" video="qanda-color" id="subtitle"]]
-[[!template text="""don't see any further questions. So I suggest we move""" start="00:13:04.102" video="qanda-color" id="subtitle"]]
-[[!template text="""towards closure. Ryota, do you have any last words? No, I""" start="00:13:07.083" video="qanda-color" id="subtitle"]]
-[[!template text="""don't. So yeah, thank you very much for attending. And it was""" start="00:13:13.775" video="qanda-color" id="subtitle"]]
-[[!template text="""great fun putting this together. And I really didn't think""" start="00:13:16.577" video="qanda-color" id="subtitle"]]
-[[!template text="""that I would be talking about my personal colors and""" start="00:13:19.299" video="qanda-color" id="subtitle"]]
-[[!template text="""personal favorites, like orange being my favorite color.""" start="00:13:19.299" video="qanda-color" id="subtitle"]]
-[[!template text="""This wouldn't be something that I would say out in any""" start="00:13:27.845" video="qanda-color" id="subtitle"]]
-[[!template text="""conference, to be honest. But it just came out to be. And""" start="00:13:27.845" video="qanda-color" id="subtitle"]]
-[[!template text="""happy that I had a chance. So thank you very much for giving me""" start="00:13:33.890" video="qanda-color" id="subtitle"]]
-[[!template text="""the opportunity to talk. in this amazing conference and""" start="00:13:35.651" video="qanda-color" id="subtitle"]]
-[[!template text="""yeah I can't just wait to check out other talks which you know""" start="00:13:39.574" video="qanda-color" id="subtitle"]]
-[[!template text="""I know that there isn't you know other talks that are""" start="00:13:39.574" video="qanda-color" id="subtitle"]]
-[[!template text="""happening right now I was actually wanted to to join them and""" start="00:13:39.574" video="qanda-color" id="subtitle"]]
-[[!template text="""check check that out so I will probably do that right now.""" start="00:13:39.574" video="qanda-color" id="subtitle"]]
-[[!template text="""Well, sure. Well, I won't hold you any longer then. Thank""" start="00:13:53.419" video="qanda-color" id="subtitle"]]
-[[!template text="""you. For me, it was just amazing to, you know, generally when""" start="00:13:56.401" video="qanda-color" id="subtitle"]]
-[[!template text="""you ask someone what their favorite color, you know, they""" start="00:13:57.682" video="qanda-color" id="subtitle"]]
-[[!template text="""just tell you orange or blue or whatever. They don't go then""" start="00:13:57.682" video="qanda-color" id="subtitle"]]
-[[!template text="""to chat about 20 minutes about their favorite color and how""" start="00:14:03.586" video="qanda-color" id="subtitle"]]
-[[!template text="""they tuned their entire editor to work exactly around their""" start="00:14:03.586" video="qanda-color" id="subtitle"]]
-[[!template text="""favorite colors. So it was inspiring. And I also want to try""" start="00:14:03.586" video="qanda-color" id="subtitle"]]
-[[!template text="""it out, frankly, because my theme has been utterly bad for""" start="00:14:12.912" video="qanda-color" id="subtitle"]]
-[[!template text="""the last five years and I need some change into my life. All""" start="00:14:12.912" video="qanda-color" id="subtitle"]]
-[[!template text="""right. Thank you so much for your time. Thank you very much,""" start="00:14:21.497" video="qanda-color" id="subtitle"]]
-[[!template text="""everyone. Cheers. Bye-bye.""" start="00:14:23.629" video="qanda-color" id="subtitle"]]
+[[!template text="""both dark and light, but primarily I'm just looking at the""" start="00:12:04.840" video="qanda-color" id="subtitle"]]
+[[!template text="""dark theme as my main driver. But yeah, they are both""" start="00:12:09.360" video="qanda-color" id="subtitle"]]
+[[!template text="""available. Great. Thank you so much. I will definitely try""" start="00:12:12.840" video="qanda-color" id="subtitle"]]
+[[!template text="""your theme out. I'm definitely on the lookout for a nice,""" start="00:12:18.240" video="qanda-color" id="subtitle"]]
+[[!template text="""friendly theme. Thank you very much. As I said, this is a""" start="00:12:21.720" video="qanda-color" id="subtitle"]]
+[[!template text="""personal theme. I'm not sure if it really fits everyone's""" start="00:12:26.120" video="qanda-color" id="subtitle"]]
+[[!template text="""need, but it is one inspiration that I hope that can lead to""" start="00:12:31.280" video="qanda-color" id="subtitle"]]
+[[!template text="""another nice theming that could work for someone""" start="00:12:37.160" video="qanda-color" id="subtitle"]]
+[[!template text="""specifically for some use cases. I don't have to solve""" start="00:12:40.640" video="qanda-color" id="subtitle"]]
+[[!template text="""everyone's problem. Yeah, and I mean, it was sufficient to""" start="00:12:44.200" video="qanda-color" id="subtitle"]]
+[[!template text="""be inspirational to people. I mean, just Bala just""" start="00:12:48.720" video="qanda-color" id="subtitle"]]
+[[!template text="""mentioned it right now, but I'm sure plenty of people who""" start="00:12:50.720" video="qanda-color" id="subtitle"]]
+[[!template text="""watched live, but also people will be watching in the""" start="00:12:53.760" video="qanda-color" id="subtitle"]]
+[[!template text="""future, will have the interest to speak by what you've done.""" start="00:12:56.000" video="qanda-color" id="subtitle"]]
+[[!template text="""So thank you again so much for this. Yep. All right, well, I""" start="00:12:58.600" video="qanda-color" id="subtitle"]]
+[[!template text="""don't see any further questions. So I suggest we move""" start="00:13:05.080" video="qanda-color" id="subtitle"]]
+[[!template text="""towards closure. Ryota, do you have any last words? No, I""" start="00:13:09.720" video="qanda-color" id="subtitle"]]
+[[!template text="""don't. So yeah, thank you very much for attending. And it was""" start="00:13:14.280" video="qanda-color" id="subtitle"]]
+[[!template text="""great fun putting this together. And I really didn't think""" start="00:13:17.080" video="qanda-color" id="subtitle"]]
+[[!template text="""that I would be talking about my personal colors and""" start="00:13:20.520" video="qanda-color" id="subtitle"]]
+[[!template text="""personal favorites, like orange being my favorite color.""" start="00:13:24.760" video="qanda-color" id="subtitle"]]
+[[!template text="""This wouldn't be something that I would say out in any""" start="00:13:27.760" video="qanda-color" id="subtitle"]]
+[[!template text="""conference, to be honest. But it just came out to be. And""" start="00:13:30.120" video="qanda-color" id="subtitle"]]
+[[!template text="""happy that I had a chance. So thank you very much for giving me""" start="00:13:34.160" video="qanda-color" id="subtitle"]]
+[[!template text="""the opportunity to talk. in this amazing conference and""" start="00:13:37.480" video="qanda-color" id="subtitle"]]
+[[!template text="""yeah I can't just wait to check out other talks which you know""" start="00:13:41.440" video="qanda-color" id="subtitle"]]
+[[!template text="""I know that there isn't you know other talks that are""" start="00:13:44.320" video="qanda-color" id="subtitle"]]
+[[!template text="""happening right now I was actually wanted to to join them and""" start="00:13:46.920" video="qanda-color" id="subtitle"]]
+[[!template text="""check check that out so I will probably do that right now.""" start="00:13:50.200" video="qanda-color" id="subtitle"]]
+[[!template text="""Well, sure. Well, I won't hold you any longer then. Thank""" start="00:13:52.760" video="qanda-color" id="subtitle"]]
+[[!template text="""you. For me, it was just amazing to, you know, generally when""" start="00:13:56.840" video="qanda-color" id="subtitle"]]
+[[!template text="""you ask someone what their favorite color, you know, they""" start="00:13:59.760" video="qanda-color" id="subtitle"]]
+[[!template text="""just tell you orange or blue or whatever. They don't go then""" start="00:14:01.640" video="qanda-color" id="subtitle"]]
+[[!template text="""to chat about 20 minutes about their favorite color and how""" start="00:14:04.400" video="qanda-color" id="subtitle"]]
+[[!template text="""they tuned their entire editor to work exactly around their""" start="00:14:07.040" video="qanda-color" id="subtitle"]]
+[[!template text="""favorite colors. So it was inspiring. And I also want to try""" start="00:14:10.080" video="qanda-color" id="subtitle"]]
+[[!template text="""it out, frankly, because my theme has been utterly bad for""" start="00:14:14.760" video="qanda-color" id="subtitle"]]
+[[!template text="""the last five years and I need some change into my life. All""" start="00:14:18.000" video="qanda-color" id="subtitle"]]
+[[!template text="""right. Thank you so much for your time. Thank you very much,""" start="00:14:20.640" video="qanda-color" id="subtitle"]]
+[[!template text="""everyone. Cheers. Bye-bye.""" start="00:14:24.320" video="qanda-color" 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%20color%3A%20Colour%20your%20Emacs%20with%20ease)
diff --git a/2024/info/color-before.md b/2024/info/color-before.md
index ca43b9bb..89145fbd 100644
--- a/2024/info/color-before.md
+++ b/2024/info/color-before.md
@@ -17,16 +17,16 @@ Status: TO_CAPTION_QA
08:08.400 Hasliberg theme
11:06.240 Wrap up
-"""]]<div></div>Duration: 11:48 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-color--colour-your-emacs-with-ease--ryota--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-color--colour-your-emacs-with-ease--ryota--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-color--colour-your-emacs-with-ease--ryota--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-color--colour-your-emacs-with-ease--ryota--main.webm">Download --main.webm (39MB)</a></li><li><a href="https://toobnix.org/w/oAGLWntah15B4XHLX19Uqc">View on Toobnix</a></li></ul></div></div>
+"""]]<div></div>Duration: 11:48 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-color--colour-your-emacs-with-ease--ryota--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-color--colour-your-emacs-with-ease--ryota--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-color--colour-your-emacs-with-ease--ryota--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-color--colour-your-emacs-with-ease--ryota--main.webm">Download --main.webm (39MB)</a></li><li><a href="https://toobnix.org/w/oAGLWntah15B4XHLX19Uqc">View on Toobnix</a></li><li><a href="https://youtu.be/w1Khu7G0MFg">View on Youtube</a></li></ul></div></div>
# Q&A
<div class="vid qanda"><video controls preload="none" id="qanda-color"><source src="https://media.emacsconf.org/2024/emacsconf-2024-color--colour-your-emacs-with-ease--ryota--answers.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-color--colour-your-emacs-with-ease--ryota--answers.vtt" default />"""<track kind="chapters" label="Chapters" src="/2024/captions/emacsconf-2024-color--colour-your-emacs-with-ease--ryota--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-color" data="""
-01:23.733 Why colour?
-03:00.535 What motivated you to learn Elisp and get into the Emacs core?
-06:35.982 Q: Is there any intention to create a library for working with more experimental color spaces? Pulling code out of Hasliberg for this purpose, perhaps?
-10:51.880 Q: Can we have a dark as well as light theme variations made from your theme?
+01:24.840 Why colour?
+03:04.040 What motivated you to learn Elisp and get into the Emacs core?
+06:35.320 Q: Is there any intention to create a library for working with more experimental color spaces? Pulling code out of Hasliberg for this purpose, perhaps?
+10:51.520 Q: Can we have a dark as well as light theme variations made from your theme?
-"""]]<div>Listen to just the audio:<br /><audio controls preload="none" id="qanda-color-audio" src="https://media.emacsconf.org/2024/emacsconf-2024-color--colour-your-emacs-with-ease--ryota--answers.opus"></audio></div><div></div>Duration: 14:31 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-color--colour-your-emacs-with-ease--ryota--answers--chapters.vtt">Download --answers--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-color--colour-your-emacs-with-ease--ryota--answers.opus">Download --answers.opus (8.4MB)</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-color--colour-your-emacs-with-ease--ryota--answers.vtt">Download --answers.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-color--colour-your-emacs-with-ease--ryota--answers.webm">Download --answers.webm (25MB)</a></li></ul></div></div>
+"""]]<div>Listen to just the audio:<br /><audio controls preload="none" id="qanda-color-audio" src="https://media.emacsconf.org/2024/emacsconf-2024-color--colour-your-emacs-with-ease--ryota--answers.opus"></audio></div><div></div>Duration: 14:31 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-color--colour-your-emacs-with-ease--ryota--answers--chapters.vtt">Download --answers--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-color--colour-your-emacs-with-ease--ryota--answers.opus">Download --answers.opus (8.4MB)</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-color--colour-your-emacs-with-ease--ryota--answers.vtt">Download --answers.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-color--colour-your-emacs-with-ease--ryota--answers.webm">Download --answers.webm (25MB)</a></li><li><a href="https://toobnix.org/w/6JccKrjCLLxcpRuhqScfn2">View on Toobnix</a></li><li><a href="https://www.youtube.com/watch?v=JJB8mxYEen8">View on Youtube</a></li></ul></div></div>
# Description
<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2024/info/emacs30-after.md b/2024/info/emacs30-after.md
index 1e64a9c4..7c4c24b3 100644
--- a/2024/info/emacs30-after.md
+++ b/2024/info/emacs30-after.md
@@ -5,461 +5,461 @@
<div class="transcript-heading">[[!template new="1" text="""Introduction""" start="00:00:00.000" video="mainVideo-emacs30" id="subtitle"]]</div>[[!template text="""Hello, and welcome to Emacs 30 Highlights at EmacsConf 2024.""" start="00:00:00.000" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""Before I begin, I'd like to thank the organizers""" start="00:00:06.100" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""and everyone involved for putting this all together.""" start="00:00:08.866" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""Before I begin, I'd like to thank the organizers""" start="00:00:06.120" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""and everyone involved for putting this all together.""" start="00:00:08.840" video="mainVideo-emacs30" id="subtitle"]]
[[!template text="""While this talk is being pre-recorded,""" start="00:00:11.800" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""my experience from the last few years""" start="00:00:13.766" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""assures me that it will be a great experience for everyone.""" start="00:00:15.266" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""My name is Philip Kaludercic.""" start="00:00:19.133" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""I am a core contributor and ELPA co-maintainer.""" start="00:00:21.333" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""I was honored when Sacha asked me""" start="00:00:24.500" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""to take over the slot for this year.""" start="00:00:26.100" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""In the past few iterations,""" start="00:00:28.366" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""John Wiegley has filled a similar presentation""" start="00:00:29.900" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""focusing on more general Emacs development updates.""" start="00:00:32.166" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""This year, I will specifically focus on""" start="00:00:35.700" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""highlight features from the upcoming Emacs 30 release,""" start="00:00:38.502" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""which might or might not have been released""" start="00:00:41.933" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""by the time you are seeing this.""" start="00:00:44.200" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""As you can imagine, everything new about Emacs""" start="00:00:48.060" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""can always be found in the Emacs NEWS file.""" start="00:00:51.300" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""Or, alternatively,""" start="00:00:55.166" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""if one doesn't want to read through the 3,000 lines here,""" start="00:00:57.133" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""one can also take a look at the Emacs FAQ""" start="00:01:01.800" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""and then go to the what's new about""" start="00:01:05.266" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""my experience from the last few years""" start="00:00:13.760" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""assures me that it will be a great experience for everyone.""" start="00:00:15.240" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""My name is Philip Kaludercic.""" start="00:00:19.160" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""I am a core contributor and ELPA co-maintainer.""" start="00:00:21.360" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""I was honored when Sacha asked me""" start="00:00:24.480" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""to take over the slot for this year.""" start="00:00:26.080" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""In the past few iterations,""" start="00:00:28.360" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""John Wiegley has filled a similar presentation""" start="00:00:29.880" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""focusing on more general Emacs development updates.""" start="00:00:32.200" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""This year, I will specifically focus on""" start="00:00:35.680" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""highlight features from the upcoming Emacs 30 release,""" start="00:00:38.520" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""which might or might not have been released""" start="00:00:41.920" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""by the time you are seeing this.""" start="00:00:43.920" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""As you can imagine, everything new about Emacs""" start="00:00:48.080" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""can always be found in the Emacs NEWS file.""" start="00:00:51.080" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""Or, alternatively,""" start="00:00:55.060" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""if one doesn't want to read through the 3,000 lines here,""" start="00:00:57.080" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""one can also take a look at the Emacs FAQ""" start="00:01:01.920" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""and then go to the what's new about""" start="00:01:05.280" video="mainVideo-emacs30" id="subtitle"]]
[[!template text="""or what's different about Emacs 30 node.""" start="00:01:08.000" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""Next to these two official options,""" start="00:01:12.333" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""I also have a page on Emacs Wiki""" start="00:01:14.733" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""called EmacsThirtyHighlights,""" start="00:01:18.200" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""highlighting some of the interesting features""" start="00:01:21.333" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""with some context and suggestions on how to try them out.""" start="00:01:24.300" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""This is more of a collaborative effort.""" start="00:01:28.466" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""So if you see this and think something is missing,""" start="00:01:30.066" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""feel free to add it.""" start="00:01:32.766" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""So without further ado,""" start="00:01:34.533" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""let's begin taking a look at new features in Emacs 30.""" start="00:01:36.866" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""Next to these two official options,""" start="00:01:12.220" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""I also have a page on Emacs Wiki""" start="00:01:14.760" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""called EmacsThirtyHighlights,""" start="00:01:18.600" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""highlighting some of the interesting features""" start="00:01:21.440" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""with some context and suggestions on how to try them out.""" start="00:01:24.280" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""This is more of a collaborative effort.""" start="00:01:28.440" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""So if you see this and think something is missing,""" start="00:01:30.040" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""feel free to add it.""" start="00:01:32.720" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""So without further ado,""" start="00:01:34.520" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""let's begin taking a look at new features in Emacs 30.""" start="00:01:36.840" video="mainVideo-emacs30" id="subtitle"]]
-<div class="transcript-heading">[[!template new="1" text="""Android""" start="00:01:41.800" video="mainVideo-emacs30" id="subtitle"]]</div>[[!template text="""The biggest one, and the one I want to mention first,""" start="00:01:41.800" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""is Android support, native Android support.""" start="00:01:44.733" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""As you can see here, Emacs has been ported""" start="00:01:49.066" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""to the Android operating system.""" start="00:01:51.866" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""What this means is that from Emacs 30 onwards,""" start="00:01:53.700" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""you can build Android to target Android devices natively""" start="00:01:56.533" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""and using a graphical interface.""" start="00:02:01.100" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""While it has been possible to run Emacs""" start="00:02:06.766" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""inside of terminal emulators on Android for a while,""" start="00:02:08.466" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""this actually means that you can use Emacs""" start="00:02:11.166" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""on an Android device, a phone or a tablet,""" start="00:02:13.933" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""and have all the usual advantages from GUI Emacs,""" start="00:02:17.566" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""such as the ability to bind all commands""" start="00:02:20.966" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""without having to worry about--""" start="00:02:23.500" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""all keys without having to worry""" start="00:02:25.500" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""about terminal compatibility issues,""" start="00:02:27.300" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""displaying images and multiple fonts""" start="00:02:29.066" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""on the same display of different sizes.""" start="00:02:32.766" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""I should have a recording""" start="00:02:35.366" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""of that somewhere here--here we are--""" start="00:02:37.333" video="mainVideo-emacs30" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Android""" start="00:01:41.760" video="mainVideo-emacs30" id="subtitle"]]</div>[[!template text="""The biggest one, and the one I want to mention first,""" start="00:01:41.760" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""is Android support, native Android support.""" start="00:01:44.680" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""As you can see here, Emacs has been ported""" start="00:01:49.040" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""to the Android operating system.""" start="00:01:51.880" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""What this means is that from Emacs 30 onwards,""" start="00:01:53.640" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""you can build Android to target Android devices natively""" start="00:01:56.480" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""and using a graphical interface.""" start="00:02:01.280" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""While it has been possible to run Emacs""" start="00:02:06.760" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""inside of terminal emulators on Android for a while,""" start="00:02:08.800" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""this actually means that you can use Emacs""" start="00:02:11.160" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""on an Android device, a phone or a tablet,""" start="00:02:13.920" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""and have all the usual advantages from GUI Emacs,""" start="00:02:17.520" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""such as the ability to bind all commands""" start="00:02:20.960" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""without having to worry about--""" start="00:02:23.480" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""all keys without having to worry""" start="00:02:25.480" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""about terminal compatibility issues,""" start="00:02:27.280" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""displaying images and multiple fonts""" start="00:02:29.360" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""on the same display of different sizes.""" start="00:02:32.760" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""I should have a recording""" start="00:02:35.360" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""of that somewhere here--here we are--""" start="00:02:37.280" video="mainVideo-emacs30" id="subtitle"]]
[[!template text="""which I made earlier on my phone,""" start="00:02:42.200" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""because I'm recording this on a laptop--""" start="00:02:44.133" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""where we can see how touch interaction works""" start="00:02:47.300" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""on an Android phone. I can switch between buffers.""" start="00:02:50.500" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""Here I've connected an external keyboard,""" start="00:02:53.366" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""opening the Emacs website.""" start="00:02:56.133" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""We have images that we can interact with.""" start="00:02:57.800" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""We could resize them if we wanted to""" start="00:03:02.560" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""with the image resizing commands.""" start="00:03:04.320" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""Pinch-to-zoom works, so it""" start="00:03:07.400" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""does realize what touchscreen interactions are.""" start="00:03:10.333" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""With an external mouse, and for example,""" start="00:03:12.766" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""enabling context menu mode,""" start="00:03:15.266" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""because I'm recording this on a laptop--""" start="00:02:44.440" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""where we can see how touch interaction works""" start="00:02:47.320" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""on an Android phone. I can switch between buffers.""" start="00:02:50.480" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""Here I've connected an external keyboard,""" start="00:02:53.200" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""opening the Emacs website.""" start="00:02:56.120" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""We have images that we can interact with.""" start="00:02:58.560" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""We could resize them if we wanted to""" start="00:03:02.680" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""with the image resizing commands.""" start="00:03:05.320" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""Pinch-to-zoom works, so it""" start="00:03:07.560" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""does realize what touchscreen interactions are.""" start="00:03:10.360" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""With an external mouse, and for example,""" start="00:03:12.760" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""enabling context menu mode,""" start="00:03:15.240" video="mainVideo-emacs30" id="subtitle"]]
[[!template text="""I can even pop up little interaction windows,""" start="00:03:17.800" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""which one you would usually also know from GUI Emacs.""" start="00:03:23.100" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""TUI Emacs actually also supports them since a while now.""" start="00:03:28.140" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""And in this case, I'm demonstrating""" start="00:03:33.200" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""how even the touchscreen events""" start="00:03:34.600" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""which one you would usually also know from GUI Emacs.""" start="00:03:22.680" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""TUI Emacs actually also supports them since a while now.""" start="00:03:27.240" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""And in this case, I'm demonstrating""" start="00:03:32.960" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""how even the touchscreen events""" start="00:03:34.640" video="mainVideo-emacs30" id="subtitle"]]
[[!template text="""can be inspected using the usual help system,""" start="00:03:36.000" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""and how context-mode notices""" start="00:03:39.166" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""where we are and allows me to, for example,""" start="00:03:43.366" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""evaluate this specific region,""" start="00:03:45.200" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""and how context-mode notices""" start="00:03:39.120" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""where we are and allows me to, for example,""" start="00:03:43.360" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""evaluate this specific region,""" start="00:03:45.240" video="mainVideo-emacs30" id="subtitle"]]
[[!template text="""which I've highlighted down there,""" start="00:03:47.800" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""binding a command to touch-screen-scroll. Yeah.""" start="00:03:49.333" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""One should note that these additions,""" start="00:03:58.333" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""for example touchscreen interaction,""" start="00:04:00.566" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""are not specific to Android,""" start="00:04:02.400" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""but they also are supported in other operating systems,""" start="00:04:03.866" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""such as Wayland and Xorg, which are not operating systems,""" start="00:04:07.100" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""and Windows, insofar as they have touchscreen,""" start="00:04:12.200" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""and devices have touchscreen support.""" start="00:04:15.333" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""binding a command to touch-screen-scroll. Yeah.""" start="00:03:49.080" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""One should note that these additions,""" start="00:03:58.320" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""for example touchscreen interaction,""" start="00:04:00.480" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""are not specific to Android,""" start="00:04:02.360" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""but they also are supported in other operating systems,""" start="00:04:04.160" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""such as Wayland and Xorg, which are not operating systems,""" start="00:04:06.840" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""and Windows, insofar as they have touchscreen,""" start="00:04:12.280" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""and devices have touchscreen support.""" start="00:04:15.280" video="mainVideo-emacs30" id="subtitle"]]
[[!template text="""One should mention, or I want to mention,""" start="00:04:18.420" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""that the main developer behind this feature, Po Lu,""" start="00:04:21.333" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""should be complimented for the additional effort he put""" start="00:04:24.700" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""into making sure that Emacs for Android""" start="00:04:27.533" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""can be built using only a free software toolchain,""" start="00:04:31.020" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""which is certainly not something one has come to expect""" start="00:04:34.166" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""from working on Android applications,""" start="00:04:36.360" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""as usually you have to agree to some terms and conditions""" start="00:04:40.733" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""for Google-specific software.""" start="00:04:43.866" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""Final note is that if you try and look for this online,""" start="00:04:46.520" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""there are APKs you can find,""" start="00:04:49.666" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""but some of them might be outdated.""" start="00:04:52.166" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""To the best of my knowledge, Po Lu has...""" start="00:04:54.700" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""Emacs 30 Android Sourceforge...""" start="00:04:59.366" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""He has set up some system where here in Sourceforge,""" start="00:05:03.400" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""there are regular and updated""" start="00:05:06.533" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""APK files which you can download""" start="00:05:12.466" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""to avoid having to build it yourself,""" start="00:05:14.533" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""testing out the newest version""" start="00:05:16.966" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""in case there are some bugs which you'd like to report.""" start="00:05:18.900" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""Which-key is a package which has now been moved""" start="00:05:24.166" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""from ELPA to the core.""" start="00:05:33.133" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""If you haven't heard of which-key before, the idea is,""" start="00:05:35.300" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""or the general pitch is that which-key""" start="00:05:39.180" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""is a additional documentation interface for Emacs""" start="00:05:41.666" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""for displaying various keys which you could input,""" start="00:05:45.266" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""or various keys and key maps""" start="00:05:49.733" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""that have been partially inputted.""" start="00:05:53.440" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""A better way to demonstrate this""" start="00:05:54.866" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""or to explain this is just to show it.""" start="00:05:57.666" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""If we enable the which-key mode--it's a global minor mode--""" start="00:05:59.333" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""then I can press, for example, C-x,""" start="00:06:03.500" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""which is a prefix for the C-x keymap.""" start="00:06:06.366" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""Then down here in the buffer, in this window down here,""" start="00:06:08.733" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""we see various commands which we could invoke""" start="00:06:12.466" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""and the keys to invoke them with.""" start="00:06:15.366" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""For example, if I wanted to say C-x i for insert-file,""" start="00:06:17.933" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""then I just have to press i to highlight it once again.""" start="00:06:23.000" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""It should be down here. Pressing i without having to repeat""" start="00:06:27.266" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""the entire key code again,""" start="00:06:32.600" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""the partial key code again, just works.""" start="00:06:34.766" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""This is different from the feature which Emacs has already,""" start="00:06:37.200" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""which is if you have input the partial keychord,""" start="00:06:41.566" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""you can press C-h""" start="00:06:45.400" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""and then a help buffer pops up with a listing""" start="00:06:47.066" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""of all keybindings that start with C-x.""" start="00:06:51.000" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""The information is the same, the presentation is different,""" start="00:06:54.100" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""because now if I wanted to do C-x i,""" start="00:06:56.666" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""I have to repeat the entire keychord again.""" start="00:06:59.100" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""So it's a matter of personal preference, which you prefer.""" start="00:07:03.340" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""This is more of a traditional static approach""" start="00:07:09.500" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""because I get a help buffer which I can search""" start="00:07:10.960" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""using usual key commands,""" start="00:07:19.666" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""while which-key is more of a transient and modern.""" start="00:07:20.933" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""Some might prefer that approach""" start="00:07:28.166" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""to solving the same problem.""" start="00:07:31.400" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""Also, don't forget to check out the customization group""" start="00:07:35.720" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""for which-key which has a number of options""" start="00:07:39.133" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""which you might or might not be interested in.""" start="00:07:41.966" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""that the main developer behind this feature, Po Lu,""" start="00:04:21.240" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""should be complimented for the additional effort he put""" start="00:04:24.040" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""into making sure that Emacs for Android""" start="00:04:27.320" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""can be built using only a free software toolchain,""" start="00:04:30.980" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""which is certainly not something one has come to expect""" start="00:04:33.720" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""from working on Android applications,""" start="00:04:37.000" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""as usually you have to agree to some terms and conditions""" start="00:04:40.760" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""for Google-specific software.""" start="00:04:43.840" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""Final note is that if you try and look for this online,""" start="00:04:46.480" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""there are APKs you can find,""" start="00:04:49.640" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""but some of them might be outdated.""" start="00:04:52.120" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""To the best of my knowledge, Po Lu has...""" start="00:04:54.680" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""Emacs 30 Android Sourceforge...""" start="00:04:59.360" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""He has set up some system where here in Sourceforge,""" start="00:05:02.400" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""there are regular and updated""" start="00:05:06.760" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""APK files which you can download""" start="00:05:12.800" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""to avoid having to build it yourself,""" start="00:05:14.520" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""testing out the newest version""" start="00:05:17.040" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""in case there are some bugs which you'd like to report.""" start="00:05:18.560" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""Which-key is a package which has now been moved""" start="00:05:27.620" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""from ELPA to the core.""" start="00:05:33.120" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""If you haven't heard of which-key before, the idea is,""" start="00:05:34.720" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""or the general pitch is that which-key""" start="00:05:38.880" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""is a additional documentation interface for Emacs""" start="00:05:41.400" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""for displaying various keys which you could input,""" start="00:05:45.280" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""or various keys and key maps""" start="00:05:49.640" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""that have been partially inputted.""" start="00:05:53.480" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""A better way to demonstrate this""" start="00:05:55.480" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""or to explain this is just to show it.""" start="00:05:57.640" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""If we enable the which-key mode--it's a global minor mode--""" start="00:05:59.320" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""then I can press, for example, C-x,""" start="00:06:03.520" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""which is a prefix for the C-x keymap.""" start="00:06:06.400" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""Then down here in the buffer, in this window down here,""" start="00:06:08.720" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""we see various commands which we could invoke""" start="00:06:11.720" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""and the keys to invoke them with.""" start="00:06:15.600" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""For example, if I wanted to say C-x i for insert-file,""" start="00:06:17.920" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""then I just have to press i to highlight it once again.""" start="00:06:23.040" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""It should be down here. Pressing i without having to repeat""" start="00:06:27.320" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""the entire key code again,""" start="00:06:32.560" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""the partial key code again, just works.""" start="00:06:34.760" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""This is different from the feature which Emacs has already,""" start="00:06:37.720" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""which is if you have input the partial keychord,""" start="00:06:41.680" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""you can press C-h""" start="00:06:45.520" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""and then a help buffer pops up with a listing""" start="00:06:47.040" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""of all keybindings that start with C-x.""" start="00:06:50.960" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""The information is the same, the presentation is different,""" start="00:06:54.160" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""because now if I wanted to do C-x i,""" start="00:06:56.640" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""I have to repeat the entire keychord again.""" start="00:06:59.160" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""So it's a matter of personal preference, which you prefer.""" start="00:07:03.320" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""This is more of a traditional static approach""" start="00:07:09.480" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""because I get a help buffer which I can search""" start="00:07:12.520" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""using usual key commands,""" start="00:07:19.640" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""while which-key is more of a transient and modern.""" start="00:07:21.120" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""Some might prefer that approach""" start="00:07:28.160" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""to solving the same problem.""" start="00:07:31.300" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""Also, don't forget to check out the customization group""" start="00:07:35.520" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""for which-key which has a number of options""" start="00:07:39.120" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""which you might or might not be interested in.""" start="00:07:41.960" video="mainVideo-emacs30" id="subtitle"]]
-<div class="transcript-heading">[[!template new="1" text="""EditorConfig""" start="00:07:45.720" video="mainVideo-emacs30" id="subtitle"]]</div>[[!template text="""Next up, Emacs 30 has built-in EditorConfig support.""" start="00:07:45.720" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""If you have not heard of EditorConfig before,""" start="00:07:50.900" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""I believe I've linked to it down here somewhere.""" start="00:07:53.666" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""Ah, there it is, EditorConfig.""" start="00:07:56.640" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""This is a file format used to specify""" start="00:08:00.120" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""common formatting rules in an editor-agnostic way.""" start="00:08:09.420" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""You might compare it to .dir-locals.el files,""" start="00:08:12.166" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""which is a sort of an s-expression""" start="00:08:16.300" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""for setting file-local variables in Emacs.""" start="00:08:19.366" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""Of course, this is restricted to the common subset""" start="00:08:22.266" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""of what all editors should understand.""" start="00:08:27.300" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""For example, indentation styles,""" start="00:08:29.400" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""whether you prefer tabs or spaces,""" start="00:08:31.866" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""tab width, file encoding, and so on.""" start="00:08:35.120" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""So it's nothing too advanced, but it's something...""" start="00:08:38.766" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""It is a file format which one sees popping up more""" start="00:08:43.920" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""and more often in lots of projects""" start="00:08:48.533" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""which want to enforce a consistent indentation style""" start="00:08:50.466" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""or formatting rules for all editors in a project.""" start="00:08:53.600" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""Having this built in is certainly useful in Emacs.""" start="00:08:56.666" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""Though one should note that it's not enabled by default.""" start="00:09:00.200" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""You still have to enable the global minor mode,""" start="00:09:03.500" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""which is simply turning on this one option.""" start="00:09:10.940" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""Shouldn't be more than that,""" start="00:09:14.200" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""and then Emacs will respect the rules.""" start="00:09:15.533" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""If it finds a .editorconfig file in the project directory,""" start="00:09:18.666" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""then it will respect those rules""" start="00:09:23.641" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""without having to do anything else.""" start="00:09:25.321" video="mainVideo-emacs30" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""EditorConfig""" start="00:07:44.700" video="mainVideo-emacs30" id="subtitle"]]</div>[[!template text="""Next up, Emacs 30 has built-in EditorConfig support.""" start="00:07:44.700" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""If you have not heard of EditorConfig before,""" start="00:07:50.880" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""I believe I've linked to it down here somewhere.""" start="00:07:53.680" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""Ah, there it is, EditorConfig.""" start="00:07:56.380" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""This is a file format used to specify""" start="00:08:00.161" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""common formatting rules in an editor-agnostic way.""" start="00:08:05.261" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""You might compare it to .dir-locals.el files,""" start="00:08:11.960" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""which is a sort of an s-expression""" start="00:08:16.320" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""for setting file-local variables in Emacs.""" start="00:08:19.160" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""Of course, this is restricted to the common subset""" start="00:08:22.160" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""of what all editors should understand.""" start="00:08:26.560" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""For example, indentation styles,""" start="00:08:29.300" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""whether you prefer tabs or spaces,""" start="00:08:31.840" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""tab width, file encoding, and so on.""" start="00:08:36.700" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""So it's nothing too advanced, but it's something...""" start="00:08:38.760" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""It is a file format which one sees popping up more""" start="00:08:43.960" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""and more often in lots of projects""" start="00:08:48.560" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""which want to enforce a consistent indentation style""" start="00:08:50.440" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""or formatting rules for all editors in a project.""" start="00:08:53.480" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""Having this built in is certainly useful in Emacs.""" start="00:08:56.640" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""Though one should note that it's not enabled by default.""" start="00:09:00.160" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""You still have to enable the global minor mode,""" start="00:09:03.580" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""which is simply turning on this one option.""" start="00:09:11.040" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""Shouldn't be more than that,""" start="00:09:14.240" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""and then Emacs will respect the rules.""" start="00:09:15.600" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""If it finds a .editorconfig file in the project directory,""" start="00:09:18.760" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""then it will respect those rules""" start="00:09:23.000" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""without having to do anything else.""" start="00:09:25.320" video="mainVideo-emacs30" id="subtitle"]]
-<div class="transcript-heading">[[!template new="1" text="""use-package integration with package-vc""" start="00:09:27.310" video="mainVideo-emacs30" id="subtitle"]]</div>[[!template text="""Next up, use-package integration with package-vc.""" start="00:09:27.310" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""For those not familiar with either of the two,""" start="00:09:33.568" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""or at least one of the two,""" start="00:09:36.534" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""use-package is a popular configuration macro.""" start="00:09:37.534" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""What it does is it allows""" start="00:09:40.700" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""users to declaratively specify packages""" start="00:09:42.866" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""they would like to have installed and configured""" start="00:09:46.266" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""in their configuration file,""" start="00:09:48.900" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""so that, for example, if you copy your init.el""" start="00:09:51.660" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""from one system to another,""" start="00:09:54.433" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""it could bootstrap the entire configuration,""" start="00:09:55.900" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""downloading all the packages you want""" start="00:09:58.500" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""without having to manually do this""" start="00:10:00.766" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""on every system you'd like to use.""" start="00:10:02.400" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""This allows configurations""" start="00:10:05.140" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""to be self-encapsulated and portable.""" start="00:10:07.633" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""package-vc is an extension of package.el,""" start="00:10:10.860" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""which allows installing packages from an alternative.""" start="00:10:15.060" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""Instead of using the standard way to install packages,""" start="00:10:19.433" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""which is just download tarball and unpack it,""" start="00:10:22.400" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""byte compile, and so on,""" start="00:10:26.500" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""it will fetch the files for a package""" start="00:10:27.966" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""directly from the source code repository""" start="00:10:32.400" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""and initialize it in such a way""" start="00:10:35.000" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""that package.el can work with it.""" start="00:10:37.266" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""So it's just a front-end for installing packages.""" start="00:10:38.833" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""Even though these two were added to Emacs 29,""" start="00:10:44.240" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""we didn't have the time to work on the""" start="00:10:46.500" video="mainVideo-emacs30" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""use-package integration with package-vc""" start="00:09:30.240" video="mainVideo-emacs30" id="subtitle"]]</div>[[!template text="""Next up, use-package integration with package-vc.""" start="00:09:30.240" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""For those not familiar with either of the two,""" start="00:09:34.600" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""or at least one of the two,""" start="00:09:36.520" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""use-package is a popular configuration macro.""" start="00:09:38.120" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""What it does is it allows""" start="00:09:41.080" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""users to declaratively specify packages""" start="00:09:43.120" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""they would like to have installed and configured""" start="00:09:46.275" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""in their configuration file,""" start="00:09:48.880" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""so that, for example, if you copy your init.el""" start="00:09:51.540" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""from one system to another,""" start="00:09:54.360" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""it could bootstrap the entire configuration,""" start="00:09:55.960" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""downloading all the packages you want""" start="00:09:58.520" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""without having to manually do this""" start="00:10:00.720" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""on every system you'd like to use.""" start="00:10:02.240" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""This allows configurations""" start="00:10:05.040" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""to be self-encapsulated and portable.""" start="00:10:07.560" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""package-vc is an extension of package.el,""" start="00:10:11.040" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""which allows installing packages from an alternative.""" start="00:10:15.960" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""Instead of using the standard way to install packages,""" start="00:10:19.680" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""which is just download tarball and unpack it,""" start="00:10:22.280" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""byte compile, and so on,""" start="00:10:26.240" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""it will fetch the files for a package""" start="00:10:28.360" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""directly from the source code repository""" start="00:10:32.760" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""and initialize it in such a way""" start="00:10:35.280" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""that package.el can work with it.""" start="00:10:37.240" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""So it's just a front-end for installing packages.""" start="00:10:39.120" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""Even though these two were added to Emacs 29,""" start="00:10:44.320" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""we didn't have the time to work on the""" start="00:10:46.520" video="mainVideo-emacs30" id="subtitle"]]
[[!template text="""use-package integration of package-vc into use-package,""" start="00:10:48.400" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""which has been changed now.""" start="00:10:52.500" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""What we have with Emacs 30 is that""" start="00:10:54.633" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""there is a :vc keyword for use-package""" start="00:11:00.140" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""with which we can instruct use-package""" start="00:11:02.866" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""to not download a package using tarball,""" start="00:11:05.233" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""but instead to fetch the source code""" start="00:11:10.240" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""from a source code repository.""" start="00:11:12.466" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""which has been changed now.""" start="00:10:52.640" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""What we have with Emacs 30 is that""" start="00:10:55.360" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""there is a :vc keyword for use-package""" start="00:11:00.120" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""with which we can instruct use-package""" start="00:11:02.840" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""to not download a package using tarball,""" start="00:11:05.320" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""but instead to fetch the source code""" start="00:11:10.774" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""from a source code repository.""" start="00:11:12.520" video="mainVideo-emacs30" id="subtitle"]]
[[!template text="""This is useful if you, for example,""" start="00:11:13.800" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""have packages which you yourself work on""" start="00:11:15.600" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""and know that you always want to have""" start="00:11:18.233" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""the development version of the package""" start="00:11:19.966" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""where you can directly commit changes you've made""" start="00:11:21.900" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""to the repository and push them upstream.""" start="00:11:26.820" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""Or, if you know that you want to contribute to a package,""" start="00:11:29.766" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""you can use package-vc to download the source code,""" start="00:11:32.100" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""have all the version control information,""" start="00:11:35.000" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""prepare a patch and send it upstream.""" start="00:11:37.400" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""In these examples here,""" start="00:11:41.740" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""the first example Lisp instructs package-vc""" start="00:11:43.833" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""to download the source code from a URL.""" start="00:11:49.200" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""So this is a git URL where it will download""" start="00:11:52.400" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""the source code from, and in this case,""" start="00:11:55.433" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""choose the newest checkout of the source code,""" start="00:11:57.433" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""not the latest release. Down here, we have another example.""" start="00:12:00.033" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""I prefer to consider the following example here.""" start="00:12:04.940" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""If we just had written this,""" start="00:12:08.800" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""then package-vc would use the metadata""" start="00:12:10.766" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""which an ELPA server provides""" start="00:12:13.233" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""to fetch the URL from the official repository of,""" start="00:12:15.033" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""in this case, BBDB, without having to...""" start="00:12:20.200" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""It would be more or less the same like this up here,""" start="00:12:22.866" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""with the simple difference that package-vc integration""" start="00:12:27.766" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""into use-package doesn't check out the latest commit,""" start="00:12:32.700" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""but the latest release,""" start="00:12:36.300" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""just to keep configurations more deterministic by default.""" start="00:12:37.800" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""Of course, if you prefer to use latest commit,""" start="00:12:44.980" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""you can use a package-vc install command""" start="00:12:47.600" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""or just update the package manually yourself,""" start="00:12:52.180" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""which you can use using package-vc-upgrade.""" start="00:12:54.966" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""Next, I'd like to focus on a few features""" start="00:13:01.780" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""which one might not necessarily realize directly,""" start="00:13:04.400" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""but will hopefully improve your experience with Emacs.""" start="00:13:07.033" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""have packages which you yourself work on""" start="00:11:15.920" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""and know that you always want to have""" start="00:11:18.320" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""the development version of the package""" start="00:11:19.960" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""where you can directly commit changes you've made""" start="00:11:21.920" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""to the repository and push them upstream.""" start="00:11:26.640" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""Or, if you know that you want to contribute to a package,""" start="00:11:29.160" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""you can use package-vc to download the source code,""" start="00:11:32.400" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""have all the version control information,""" start="00:11:35.560" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""prepare a patch and send it upstream.""" start="00:11:37.320" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""In these examples here,""" start="00:11:41.760" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""the first example Lisp instructs package-vc""" start="00:11:44.120" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""to download the source code from a URL.""" start="00:11:49.120" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""So this is a git URL where it will download""" start="00:11:52.960" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""the source code from, and in this case,""" start="00:11:55.120" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""choose the newest checkout of the source code,""" start="00:11:57.400" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""not the latest release. Down here, we have another example.""" start="00:12:00.400" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""I prefer to consider the following example here.""" start="00:12:05.060" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""If we just had written this,""" start="00:12:09.160" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""then package-vc would use the metadata""" start="00:12:10.880" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""which an ELPA server provides""" start="00:12:13.160" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""to fetch the URL from the official repository of,""" start="00:12:16.280" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""in this case, BBDB, without having to...""" start="00:12:19.800" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""It would be more or less the same like this up here,""" start="00:12:22.840" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""with the simple difference that package-vc integration""" start="00:12:28.240" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""into use-package doesn't check out the latest commit,""" start="00:12:32.640" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""but the latest release,""" start="00:12:36.360" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""just to keep configurations more deterministic by default.""" start="00:12:38.360" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""Of course, if you prefer to use latest commit,""" start="00:12:44.160" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""you can use a package-vc install command""" start="00:12:47.880" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""or just update the package manually yourself,""" start="00:12:52.440" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""which you can use using package-vc-upgrade.""" start="00:12:54.880" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""Next, I'd like to focus on a few features""" start="00:13:01.740" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""which one might not necessarily realize directly,""" start="00:13:04.320" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""but will hopefully improve your experience with Emacs.""" start="00:13:07.741" video="mainVideo-emacs30" id="subtitle"]]
-<div class="transcript-heading">[[!template new="1" text="""JSON""" start="00:13:11.560" video="mainVideo-emacs30" id="subtitle"]]</div>[[!template text="""First up in this list is a new JSON parser.""" start="00:13:11.560" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""Let's maybe show the source code for that one:""" start="00:13:15.166" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""not json.el, json.c. The history of JSON parsing in Emacs""" start="00:13:21.960" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""started with Emacs 23 with the addition of json.el.""" start="00:13:39.566" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""This was the file which we had just opened a moment ago.""" start="00:13:43.400" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""This is a JSON parser in Emacs Lisp.""" start="00:13:46.800" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""It's fine, it does the job, but it can get slow""" start="00:13:50.400" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""if we have a situation like where""" start="00:13:53.266" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""Eglot uses a LSP server to communicate with""" start="00:13:55.033" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""and the LSP server can get a bit chatty,""" start="00:14:00.320" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""sending a lot of JSON data,""" start="00:14:03.000" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""which all has to be parsed and garbage collected,""" start="00:14:05.166" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""which can slow down Emacs a bit.""" start="00:14:08.000" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""The situation was improved upon in Emacs 29""" start="00:14:09.966" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""when JSON parsing was added to the core.""" start="00:14:13.766" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""This was the json.c file, which we see on this side,""" start="00:14:18.033" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""the old version of the json.c file,""" start="00:14:21.033" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""which employed the Jansson library (it's the C library)""" start="00:14:22.766" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""for parsing and accelerating JSON parsing in Emacs.""" start="00:14:26.700" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""This was good enough,""" start="00:14:31.900" video="mainVideo-emacs30" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""JSON""" start="00:13:11.400" video="mainVideo-emacs30" id="subtitle"]]</div>[[!template text="""First up in this list is a new JSON parser.""" start="00:13:11.400" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""Let's maybe show the source code for that one:""" start="00:13:15.120" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""not json.el, json.c. The history of JSON parsing in Emacs""" start="00:13:21.400" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""started with Emacs 23 with the addition of json.el.""" start="00:13:39.320" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""This was the file which we had just opened a moment ago.""" start="00:13:43.280" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""This is a JSON parser in Emacs Lisp.""" start="00:13:46.920" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""It's fine, it does the job, but it can get slow""" start="00:13:50.960" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""if we have a situation like where""" start="00:13:53.200" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""Eglot uses a LSP server to communicate with""" start="00:13:55.480" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""and the LSP server can get a bit chatty,""" start="00:14:00.480" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""sending a lot of JSON data,""" start="00:14:02.960" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""which all has to be parsed and garbage collected,""" start="00:14:05.480" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""which can slow down Emacs a bit.""" start="00:14:08.200" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""The situation was improved upon in Emacs 29""" start="00:14:10.200" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""when JSON parsing was added to the core.""" start="00:14:14.120" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""This was the json.c file, which we see on this side,""" start="00:14:17.960" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""the old version of the json.c file,""" start="00:14:21.040" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""which employed the Jansson library (it's the C library)""" start="00:14:23.280" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""for parsing and accelerating JSON parsing in Emacs.""" start="00:14:27.120" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""This was good enough,""" start="00:14:33.160" video="mainVideo-emacs30" id="subtitle"]]
[[!template text="""or it certainly improved the situation""" start="00:14:34.000" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""for a lot of LSP clients.""" start="00:14:36.233" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""But in Emacs 30, the situation has been improved once more""" start="00:14:38.300" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""with the addition of a JSON parser directly in Emacs.""" start="00:14:44.800" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""So instead of using an external library,""" start="00:14:49.833" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""there's a custom JSON parser written in C in the Emacs core,""" start="00:14:53.600" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""which directly generates Elisp objects.""" start="00:14:57.433" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""The advantage to this approach""" start="00:15:01.540" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""compared to the Jansson approach""" start="00:15:05.066" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""is that there's no intermediate format""" start="00:15:06.466" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""which has to be allocated""" start="00:15:07.966" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""and memory managed and freed again,""" start="00:15:09.233" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""which of course incurs an additional performance overhead.""" start="00:15:11.500" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""Next to this, there's also a custom serializer""" start="00:15:19.540" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""for JSON contents translating a JSON object into a string.""" start="00:15:22.466" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""... The consequence of this is that""" start="00:15:29.240" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""there is absolutely no dependency on Jansson anymore.""" start="00:15:30.641" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""This in turn means that now all Emacs users""" start="00:15:35.520" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""from Emacs 30 onwards""" start="00:15:38.566" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""can take advantage of this new JSON parser""" start="00:15:39.833" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""and don't have to worry about whether""" start="00:15:42.766" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""or not they have Jansson, this JSON parsing library,""" start="00:15:44.966" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""installed on their system or not when they want""" start="00:15:47.666" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""to take advantage of this accelerated JSON parsing.""" start="00:15:50.466" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""for a lot of LSP clients.""" start="00:14:36.160" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""But in Emacs 30, the situation has been improved once more""" start="00:14:38.560" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""with the addition of a JSON parser directly in Emacs.""" start="00:14:45.480" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""So instead of using an external library,""" start="00:14:50.360" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""there's a custom JSON parser written in C in the Emacs core,""" start="00:14:53.000" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""which directly generates Elisp objects.""" start="00:14:57.720" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""The advantage to this approach""" start="00:15:01.560" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""compared to the Jansson approach""" start="00:15:05.000" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""is that there's no intermediate format""" start="00:15:06.360" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""which has to be allocated""" start="00:15:07.920" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""and memory managed and freed again,""" start="00:15:09.200" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""which of course incurs an additional performance overhead.""" start="00:15:11.560" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""Next to this, there's also a custom serializer""" start="00:15:19.480" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""for JSON contents translating a JSON object into a string.""" start="00:15:22.660" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""... The consequence of this is that""" start="00:15:27.120" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""there is absolutely no dependency on Jansson anymore.""" start="00:15:30.280" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""This in turn means that now all Emacs users""" start="00:15:35.640" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""from Emacs 30 onwards""" start="00:15:38.560" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""can take advantage of this new JSON parser""" start="00:15:39.800" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""and don't have to worry about whether""" start="00:15:43.120" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""or not they have Jansson, this JSON parsing library,""" start="00:15:44.880" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""installed on their system or not when they want""" start="00:15:47.800" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""to take advantage of this accelerated JSON parsing.""" start="00:15:51.000" video="mainVideo-emacs30" id="subtitle"]]
-<div class="transcript-heading">[[!template new="1" text="""Native compilation""" start="00:15:56.680" video="mainVideo-emacs30" id="subtitle"]]</div>[[!template text="""Next up, another behind-the-scenes feature""" start="00:15:56.680" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""is that if you build Emacs on your own from source,""" start="00:16:00.400" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""you might know that if you wanted""" start="00:16:06.407" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""to use native compilation,""" start="00:16:07.800" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""so the translation of Elisp bytecodes""" start="00:16:09.566" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""to whatever the native assembly""" start="00:16:12.380" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""or native instruction set is on your system,""" start="00:16:15.566" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""you have to specify with native compilation.""" start="00:16:19.166" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""when invoking the configure script,""" start="00:16:24.340" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""otherwise it would not have been enabled at all.""" start="00:16:25.966" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""With Emacs 30, this step is not necessary anymore.""" start="00:16:28.400" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""The configure script will automatically check""" start="00:16:32.480" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""if you have the libgccjit library installed on your system,""" start="00:16:36.266" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""and if that is so,""" start="00:16:41.700" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""then native compilation will be enabled by default.""" start="00:16:42.800" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""In other words, if you have an issue with native compilation""" start="00:16:45.600" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""or prefer not to use it for whatever reason,""" start="00:16:49.433" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""you now have to type --without-native-compilation""" start="00:16:52.500" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""when compiling Emacs to prevent this from happening.""" start="00:16:55.566" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""But native compilation was added in Emacs 28""" start="00:16:58.466" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""and has proven to be a very stable""" start="00:17:02.466" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""and useful feature for most people,""" start="00:17:04.366" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""so there's probably no reason to do this""" start="00:17:06.266" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""and you can just invoke the configure script""" start="00:17:09.433" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""with one argument less. Right, and I'd like to finish up""" start="00:17:11.166" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""with a few smaller features, a few smaller highlights.""" start="00:17:16.300" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""Maybe we can go back to the listing here. Here we have it.""" start="00:17:19.500" video="mainVideo-emacs30" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Native compilation""" start="00:15:56.840" video="mainVideo-emacs30" id="subtitle"]]</div>[[!template text="""Next up, another behind-the-scenes feature""" start="00:15:56.840" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""is that if you build Emacs on your own from source,""" start="00:16:00.640" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""you might know that if you wanted""" start="00:16:04.560" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""to use native compilation,""" start="00:16:07.880" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""so the translation of Elisp bytecodes""" start="00:16:09.560" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""to whatever the native assembly""" start="00:16:12.320" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""or native instruction set is on your system,""" start="00:16:15.560" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""you have to specify with native compilation.""" start="00:16:19.320" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""when invoking the configure script,""" start="00:16:24.360" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""otherwise it would not have been enabled at all.""" start="00:16:25.880" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""With Emacs 30, this step is not necessary anymore.""" start="00:16:28.880" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""The configure script will automatically check""" start="00:16:34.120" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""if you have the libgccjit library installed on your system,""" start="00:16:36.720" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""and if that is so,""" start="00:16:41.760" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""then native compilation will be enabled by default.""" start="00:16:42.880" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""In other words, if you have an issue with native compilation""" start="00:16:46.000" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""or prefer not to use it for whatever reason,""" start="00:16:49.560" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""you now have to type --without-native-compilation""" start="00:16:52.800" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""when compiling Emacs to prevent this from happening.""" start="00:16:55.560" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""But native compilation was added in Emacs 28""" start="00:16:58.200" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""and has proven to be a very stable""" start="00:17:02.280" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""and useful feature for most people,""" start="00:17:04.400" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""so there's probably no reason to do this""" start="00:17:06.200" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""and you can just invoke the configure script""" start="00:17:10.200" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""with one argument less. Right, and I'd like to finish up""" start="00:17:10.940" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""with a few smaller features, a few smaller highlights.""" start="00:17:16.240" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""Maybe we can go back to the listing here. Here we have it.""" start="00:17:19.400" video="mainVideo-emacs30" id="subtitle"]]
-<div class="transcript-heading">[[!template new="1" text="""Tree-sitter""" start="00:17:29.640" video="mainVideo-emacs30" id="subtitle"]]</div>[[!template text="""There are a few new major modes""" start="00:17:29.640" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""based on the tree-sitter library.""" start="00:17:32.866" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""tree-sitter is this parser library""" start="00:17:34.366" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""which has been integrated into Emacs 29.""" start="00:17:37.940" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""It allows the integration""" start="00:17:39.966" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""of external, specialized, and quick parsers into Emacs,""" start="00:17:44.100" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""which improve stuff like syntax highlighting, indentation,""" start="00:17:48.433" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""structural navigation, imenu support,""" start="00:17:52.166" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""by simply having a better understanding of, for example,""" start="00:17:55.266" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""a HTML file, or a Lua file, a PHP file,""" start="00:18:01.066" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""than what people usually implement""" start="00:18:03.900" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""using regular expressions in traditional major modes.""" start="00:18:06.266" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""So, a few new major modes which you can try out here.""" start="00:18:10.400" video="mainVideo-emacs30" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Tree-sitter""" start="00:17:30.720" video="mainVideo-emacs30" id="subtitle"]]</div>[[!template text="""There are a few new major modes""" start="00:17:30.720" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""based on the tree-sitter library.""" start="00:17:32.840" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""tree-sitter is this parser library""" start="00:17:34.240" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""which has been integrated into Emacs 29.""" start="00:17:37.740" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""It allows the integration""" start="00:17:42.880" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""of external, specialized, and quick parsers into Emacs,""" start="00:17:44.080" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""which improve stuff like syntax highlighting, indentation,""" start="00:17:48.360" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""structural navigation, imenu support,""" start="00:17:52.120" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""by simply having a better understanding of, for example,""" start="00:17:55.280" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""a HTML file, or a Lua file, a PHP file,""" start="00:18:00.840" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""than what people usually implement""" start="00:18:03.920" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""using regular expressions in traditional major modes.""" start="00:18:06.240" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""So, a few new major modes which you can try out here.""" start="00:18:10.320" video="mainVideo-emacs30" id="subtitle"]]
-<div class="transcript-heading">[[!template new="1" text="""Completion preview mode""" start="00:18:16.780" video="mainVideo-emacs30" id="subtitle"]]</div>[[!template text="""Another interesting feature is the completion-preview-mode.""" start="00:18:16.780" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""We can maybe try it out here in the scratch buffer.""" start="00:18:20.066" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""If I enable completion-preview-mode...""" start="00:18:23.000" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""This is a non-global minor mode,""" start="00:18:28.300" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""which will display completion options inline using overlays.""" start="00:18:32.066" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""For example, if I start typing a longer symbol like define,""" start="00:18:38.633" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""now we have a derived mode. It suggests me to...""" start="00:18:43.166" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""I can just press TAB and then it completes the option here,""" start="00:18:48.233" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""but it didn't actually...""" start="00:18:51.166" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""It's not actually modifying the buffer, it's not pressing,""" start="00:18:51.966" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""these are just overlays,""" start="00:18:55.366" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""so if I move around, it gets deleted.""" start="00:18:57.100" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""It wouldn't get saved if I were to save the buffer.""" start="00:18:59.566" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""The same also should work in a shell buffer.""" start="00:19:02.620" video="mainVideo-emacs30" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Completion preview mode""" start="00:18:16.820" video="mainVideo-emacs30" id="subtitle"]]</div>[[!template text="""Another interesting feature is the completion-preview-mode.""" start="00:18:16.820" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""We can maybe try it out here in the scratch buffer.""" start="00:18:19.960" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""If I enable completion-preview-mode...""" start="00:18:23.320" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""This is a non-global minor mode,""" start="00:18:28.200" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""which will display completion options inline using overlays.""" start="00:18:32.720" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""For example, if I start typing a longer symbol like define,""" start="00:18:38.480" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""now we have a derived mode. It suggests me to...""" start="00:18:43.200" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""I can just press TAB and then it completes the option here,""" start="00:18:48.120" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""but it didn't actually...""" start="00:18:51.040" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""It's not actually modifying the buffer, it's not pressing,""" start="00:18:51.840" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""these are just overlays,""" start="00:18:55.280" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""so if I move around, it gets deleted.""" start="00:18:57.040" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""It wouldn't get saved if I were to save the buffer.""" start="00:18:59.520" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""The same also should work in a shell buffer.""" start="00:19:02.540" video="mainVideo-emacs30" id="subtitle"]]
[[!template text="""If I enable completion preview mode here and start...""" start="00:19:05.000" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""In this case, I'm using the bash completion package,""" start="00:19:08.400" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""which provides additional completion information.""" start="00:19:12.833" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""This is not only limited to programming systems,""" start="00:19:15.033" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""but anywhere where you have completion at point in Emacs.""" start="00:19:17.966" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""I can start typing here, ignore, and put ignore-backups,""" start="00:19:22.900" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""and it hints to the options which I have""" start="00:19:26.160" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""and allows me to complete them quickly.""" start="00:19:30.033" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""In this case, I'm using the bash completion package,""" start="00:19:09.240" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""which provides additional completion information.""" start="00:19:12.760" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""This is not only limited to programming systems,""" start="00:19:15.200" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""but anywhere where you have completion at point in Emacs.""" start="00:19:17.840" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""I can start typing here, ignore, and put ignore-backups,""" start="00:19:22.920" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""and it hints to the options which I have""" start="00:19:26.060" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""and allows me to complete them quickly.""" start="00:19:29.920" video="mainVideo-emacs30" id="subtitle"]]
-<div class="transcript-heading">[[!template new="1" text="""package-isolate""" start="00:19:34.233" video="mainVideo-emacs30" id="subtitle"]]</div>[[!template text="""Another small feature is the package-isolate command.""" start="00:19:34.233" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""What this does is it will start""" start="00:19:38.000" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""or it will prompt me for packages""" start="00:19:40.033" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""I have installed in my system""" start="00:19:42.833" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""and will start an isolated""" start="00:19:44.366" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""or like &quot;emacs -Q&quot;-ish instance of emacs""" start="00:19:46.500" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""with only these packages installed.""" start="00:19:51.166" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""So for example, if I said I want slime and I want diff-hl,""" start="00:19:53.366" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""then this is a new Emacs window.""" start="00:20:00.440" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""It's unrelated to the one around.""" start="00:20:02.700" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""It uses the same executable, of course,""" start="00:20:04.566" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""but will not load your configuration file""" start="00:20:06.500" video="mainVideo-emacs30" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""package-isolate""" start="00:19:34.220" video="mainVideo-emacs30" id="subtitle"]]</div>[[!template text="""Another small feature is the package-isolate command.""" start="00:19:34.220" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""What this does is it will start""" start="00:19:37.880" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""or it will prompt me for packages""" start="00:19:39.960" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""I have installed in my system""" start="00:19:42.760" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""and will start an isolated""" start="00:19:44.120" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""or like &quot;emacs -Q&quot;-ish instance of emacs""" start="00:19:46.440" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""with only these packages installed.""" start="00:19:51.080" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""So for example, if I said I want slime and I want diff-hl,""" start="00:19:53.640" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""then this is a new Emacs window.""" start="00:20:00.280" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""It's unrelated to the one around.""" start="00:20:02.280" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""It uses the same executable, of course,""" start="00:20:04.440" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""but will not load your configuration file""" start="00:20:06.840" video="mainVideo-emacs30" id="subtitle"]]
[[!template text="""or any other further customizations on your system.""" start="00:20:09.940" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""All it does, it will ensure""" start="00:20:13.680" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""that these packages, which are listed here,""" start="00:20:15.566" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""so in our case SLIME and dependencies of SLIME and diff-hl,""" start="00:20:17.966" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""in the system""" start="00:20:24.600" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""so that I could, for example, as you can see here,""" start="00:20:25.300" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""diff-hl-mode works.""" start="00:20:29.100" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""Okay, this is not a version-controlled file.""" start="00:20:32.140" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""Maybe if we take a look at, have I enabled diff-hl-mode?""" start="00:20:34.800" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""It's enabled in this case. What diff-hl-mode does""" start="00:20:41.233" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""is it displays these version control changes""" start="00:20:44.633" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""in the fringe of a buffer.""" start="00:20:48.300" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""And even though this is a uncustomized version of Emacs,""" start="00:20:49.600" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""or an uncustomized instance of Emacs,""" start="00:20:54.166" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""it was easy for me to load this one package,""" start="00:20:56.366" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""or these two packages and all the dependencies necessary.""" start="00:20:59.033" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""As you can imagine, the main purpose for this""" start="00:21:02.066" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""is to make debugging issues easier.""" start="00:21:05.300" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""If you want to report about an issue""" start="00:21:07.766" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""you have with a package. And if I close this, it's closed""" start="00:21:10.600" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""and everything's thrown away.""" start="00:21:14.900" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""All it does, it will ensure""" start="00:20:13.620" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""that these packages, which are listed here,""" start="00:20:15.160" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""so in our case SLIME and dependencies of SLIME and diff-hl,""" start="00:20:17.920" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""in the system""" start="00:20:24.500" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""so that I could, for example, as you can see here,""" start="00:20:25.240" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""diff-hl-mode works.""" start="00:20:29.040" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""Okay, this is not a version-controlled file.""" start="00:20:31.960" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""Maybe if we take a look at, have I enabled diff-hl-mode?""" start="00:20:35.480" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""It's enabled in this case. What diff-hl-mode does""" start="00:20:41.120" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""is it displays these version control changes""" start="00:20:44.560" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""in the fringe of a buffer.""" start="00:20:48.480" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""And even though this is a uncustomized version of Emacs,""" start="00:20:50.000" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""or an uncustomized instance of Emacs,""" start="00:20:54.080" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""it was easy for me to load this one package,""" start="00:20:56.320" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""or these two packages and all the dependencies necessary.""" start="00:20:58.960" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""As you can imagine, the main purpose for this""" start="00:21:01.960" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""is to make debugging issues easier.""" start="00:21:05.320" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""If you want to report about an issue""" start="00:21:07.720" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""you have with a package. And if I close this, it's closed""" start="00:21:10.520" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""and everything's thrown away.""" start="00:21:14.520" video="mainVideo-emacs30" id="subtitle"]]
-<div class="transcript-heading">[[!template new="1" text="""Reindenting""" start="00:21:16.920" video="mainVideo-emacs30" id="subtitle"]]</div>[[!template text="""Last up, a nice feature I think""" start="00:21:16.920" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""a lot of people will appreciate is,""" start="00:21:19.033" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""if you are familiar with... Let's open a text buffer.""" start="00:21:20.966" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""The M-q key is traditionally bound to fill-paragraph.""" start="00:21:24.300" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""What this means is that...""" start="00:21:30.280" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""Let's, for example, copy this text from here""" start="00:21:32.233" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""and squash it all into one line. If I press M-q here,""" start="00:21:35.033" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""then the lines will be broken""" start="00:21:40.400" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""according to the fill column indicator up here.""" start="00:21:42.720" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""This is the traditional usage of M-q,""" start="00:21:49.880" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""and it still works in text-mode buffers,""" start="00:21:52.633" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""but in prog-mode buffers--""" start="00:21:54.233" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""so any major mode inheriting prog-mode--""" start="00:21:55.860" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""M-q will now by default be bound""" start="00:22:00.100" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""to prog-fill-reindent-defun. To summarize the point,""" start="00:22:02.266" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""if you are editing a string or a comment,""" start="00:22:09.780" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""then the comment will be filled.""" start="00:22:13.466" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""But if you are outside of a comment or outside of a string,""" start="00:22:16.040" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""then the defun or the top-level construct""" start="00:22:19.100" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""in the programming language will be re-indented.""" start="00:22:23.200" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""Let's try that out with maybe some file I have open here.""" start="00:22:26.160" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""If I'm in this... Let's choose some function,""" start="00:22:34.100" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""let's take this for example.""" start="00:22:38.833" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""If we followed all of this again,""" start="00:22:40.766" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""and I press M-q in on this paragraph,""" start="00:22:43.960" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""then the paragraph gets re-indented.""" start="00:22:47.433" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""But if I'm down here and I choose to break the indentation""" start="00:22:49.466" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""and then press M-q,""" start="00:22:55.833" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""then as you see, it practically selected the defun""" start="00:22:58.200" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""and re-indented everything""" start="00:23:02.366" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""without having me to move the point around in the buffer.""" start="00:23:03.600" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""So I think that's a really nice feature,""" start="00:23:06.960" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""which a lot of people can appreciate.""" start="00:23:08.666" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""It's one of those niceties which comes from time to time.""" start="00:23:11.100" video="mainVideo-emacs30" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Reindenting""" start="00:21:16.780" video="mainVideo-emacs30" id="subtitle"]]</div>[[!template text="""Last up, a nice feature I think""" start="00:21:16.780" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""a lot of people will appreciate is,""" start="00:21:18.960" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""if you are familiar with... Let's open a text buffer.""" start="00:21:21.200" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""The M-q key is traditionally bound to fill-paragraph.""" start="00:21:24.240" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""What this means is that...""" start="00:21:30.080" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""Let's, for example, copy this text from here""" start="00:21:32.120" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""and squash it all into one line. If I press M-q here,""" start="00:21:35.000" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""then the lines will be broken""" start="00:21:40.360" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""according to the fill column indicator up here.""" start="00:21:42.400" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""This is the traditional usage of M-q,""" start="00:21:49.480" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""and it still works in text-mode buffers,""" start="00:21:52.400" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""but in prog-mode buffers--""" start="00:21:54.120" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""so any major mode inheriting prog-mode--""" start="00:21:56.640" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""M-q will now by default be bound""" start="00:22:00.080" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""to prog-fill-reindent-defun. To summarize the point,""" start="00:22:02.200" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""if you are editing a string or a comment,""" start="00:22:09.720" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""then the comment will be filled.""" start="00:22:13.480" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""But if you are outside of a comment or outside of a string,""" start="00:22:15.920" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""then the defun or the top-level construct""" start="00:22:19.160" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""in the programming language will be re-indented.""" start="00:22:22.920" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""Let's try that out with maybe some file I have open here.""" start="00:22:26.120" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""If I'm in this... Let's choose some function,""" start="00:22:33.860" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""let's take this for example.""" start="00:22:38.820" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""If we followed all of this again,""" start="00:22:41.280" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""and I press M-q in on this paragraph,""" start="00:22:43.880" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""then the paragraph gets re-indented.""" start="00:22:47.620" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""But if I'm down here and I choose to break the indentation""" start="00:22:50.040" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""and then press M-q,""" start="00:22:54.860" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""then as you see, it practically selected the defun""" start="00:22:56.181" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""and re-indented everything""" start="00:23:02.400" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""without having need to move the point around in the buffer.""" start="00:23:03.560" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""So I think that's a really nice feature,""" start="00:23:06.800" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""which a lot of people can appreciate.""" start="00:23:08.680" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""It's one of those niceties which comes from time to time.""" start="00:23:11.040" video="mainVideo-emacs30" id="subtitle"]]
-<div class="transcript-heading">[[!template new="1" text="""Wrapping up""" start="00:23:17.940" video="mainVideo-emacs30" id="subtitle"]]</div>[[!template text="""Right, so that was my overview""" start="00:23:17.940" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""of what's going to be new in Emacs 30.""" start="00:23:20.666" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""I hope that most people could take away""" start="00:23:22.633" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""something from this presentation""" start="00:23:24.433" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""and have something to look forward""" start="00:23:25.580" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""to try out after upgrading.""" start="00:23:28.900" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""As mentioned initially, as of recording,""" start="00:23:31.166" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""this release has not been completed yet.""" start="00:23:33.866" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""If this is still not the case""" start="00:23:36.600" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""when you're seeing this video,""" start="00:23:38.866" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""please consider downloading and building Emacs 30 yourself.""" start="00:23:40.266" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""If you have any issues, which is always the case,""" start="00:23:43.866" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""please report them to using report-emacs-bug.""" start="00:23:48.233" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""That will pop up a mail buffer,""" start="00:23:56.440" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""and then you can describe your issue and send them out.""" start="00:23:57.908" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""All bug reports are valuable,""" start="00:23:59.633" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""even if they are false positives or duplicates--""" start="00:24:01.833" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""it doesn't matter--""" start="00:24:04.466" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""because when you take the time to submit a bug report,""" start="00:24:05.266" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""which describes something that's specific to your setup,""" start="00:24:08.566" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""which the developers might not have noticed or known about,""" start="00:24:12.266" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""then you are certainly helping out a lot of other people""" start="00:24:16.700" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""which might run into the same issue in the future.""" start="00:24:19.166" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""Especially with upgrades,""" start="00:24:21.800" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""it would be nice to figure out small problems""" start="00:24:23.233" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""which make upgrading difficult for some people.""" start="00:24:26.600" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""The ideal is, of course, to have no issues""" start="00:24:30.833" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""when upgrading from one version to another.""" start="00:24:34.700" video="mainVideo-emacs30" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Wrapping up""" start="00:23:17.880" video="mainVideo-emacs30" id="subtitle"]]</div>[[!template text="""Right, so that was my overview""" start="00:23:17.880" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""of what's going to be new in Emacs 30.""" start="00:23:20.680" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""I hope that most people could take away""" start="00:23:22.560" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""something from this presentation""" start="00:23:24.360" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""and have something to look forward""" start="00:23:25.660" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""to try out after upgrading.""" start="00:23:29.420" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""As mentioned initially, as of recording,""" start="00:23:31.600" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""this release has not been completed yet.""" start="00:23:33.840" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""If this is still not the case""" start="00:23:36.940" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""when you're seeing this video,""" start="00:23:38.880" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""please consider downloading and building Emacs 30 yourself.""" start="00:23:40.200" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""If you have any issues, which is always the case,""" start="00:23:43.800" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""please report them to using report-emacs-bug.""" start="00:23:48.320" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""That will pop up a mail buffer,""" start="00:23:56.340" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""and then you can describe your issue and send them out.""" start="00:23:57.741" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""All bug reports are valuable,""" start="00:23:59.520" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""even if they are false positives or duplicates--""" start="00:24:01.840" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""it doesn't matter--""" start="00:24:04.000" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""because when you take the time to submit a bug report,""" start="00:24:05.240" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""which describes something that's specific to your setup,""" start="00:24:08.920" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""which the developers might not have noticed or known about,""" start="00:24:12.360" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""then you are certainly helping out a lot of other people""" start="00:24:16.840" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""which might run into the same issue in the future.""" start="00:24:19.080" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""Especially with upgrades,""" start="00:24:21.680" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""it would be nice to figure out small problems""" start="00:24:23.360" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""which make upgrading difficult for some people.""" start="00:24:26.560" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""The ideal is, of course, to have no issues""" start="00:24:30.880" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""when upgrading from one version to another.""" start="00:24:34.560" video="mainVideo-emacs30" id="subtitle"]]
[[!template text="""Having said that, I thank you for your attention,""" start="00:24:37.200" video="mainVideo-emacs30" id="subtitle"]]
-[[!template text="""and I'm saying goodbye.""" start="00:24:39.600" video="mainVideo-emacs30" id="subtitle"]]
+[[!template text="""and I'm saying goodbye.""" start="00:24:41.940" video="mainVideo-emacs30" id="subtitle"]]
</div>
diff --git a/2024/info/emacs30-before.md b/2024/info/emacs30-before.md
index 144472e0..fbefd7b3 100644
--- a/2024/info/emacs30-before.md
+++ b/2024/info/emacs30-before.md
@@ -11,18 +11,18 @@ Status: TO_CAPTION_QA
<div class="vid mainVideo"><video controls preload="none" id="mainVideo-emacs30"><source src="https://media.emacsconf.org/2024/emacsconf-2024-emacs30--emacs-30-highlights--philip-kaludercic--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-emacs30--emacs-30-highlights--philip-kaludercic--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2024/captions/emacsconf-2024-emacs30--emacs-30-highlights--philip-kaludercic--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-emacs30" data="""
00:00.000 Introduction
-01:41.800 Android
-07:45.720 EditorConfig
-09:27.310 use-package integration with package-vc
-13:11.560 JSON
-15:56.680 Native compilation
-17:29.640 Tree-sitter
-18:16.780 Completion preview mode
-19:34.233 package-isolate
-21:16.920 Reindenting
-23:17.940 Wrapping up
-
-"""]]<div></div>Duration: 24:55 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-emacs30--emacs-30-highlights--philip-kaludercic--edited.webm">Download --edited.webm (52MB)</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-emacs30--emacs-30-highlights--philip-kaludercic--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-emacs30--emacs-30-highlights--philip-kaludercic--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-emacs30--emacs-30-highlights--philip-kaludercic--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-emacs30--emacs-30-highlights--philip-kaludercic--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-emacs30--emacs-30-highlights--philip-kaludercic--main.webm">Download --main.webm (60MB)</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-emacs30--emacs-30-highlights--philip-kaludercic--notes.org">Download --notes.org</a></li><li><a href="https://toobnix.org/w/fxFD5JMMkmj1bazUw4zErx">View on Toobnix</a></li></ul></div></div>
+01:41.760 Android
+07:44.700 EditorConfig
+09:30.240 use-package integration with package-vc
+13:11.400 JSON
+15:56.840 Native compilation
+17:30.720 Tree-sitter
+18:16.820 Completion preview mode
+19:34.220 package-isolate
+21:16.780 Reindenting
+23:17.880 Wrapping up
+
+"""]]<div></div>Duration: 24:55 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-emacs30--emacs-30-highlights--philip-kaludercic--edited.webm">Download --edited.webm (52MB)</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-emacs30--emacs-30-highlights--philip-kaludercic--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-emacs30--emacs-30-highlights--philip-kaludercic--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-emacs30--emacs-30-highlights--philip-kaludercic--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-emacs30--emacs-30-highlights--philip-kaludercic--main.opus">Download --main.opus (15MB)</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-emacs30--emacs-30-highlights--philip-kaludercic--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-emacs30--emacs-30-highlights--philip-kaludercic--main.webm">Download --main.webm (53MB)</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-emacs30--emacs-30-highlights--philip-kaludercic--notes.org">Download --notes.org</a></li><li><a href="https://toobnix.org/w/bPze1S1o61QaYXTJuEQFHK">View on Toobnix</a></li><li><a href="https://youtu.be/V1mnDK_tuAs">View on Youtube</a></li></ul></div></div>
# Q&A
@@ -35,6 +35,6 @@ Status: TO_CAPTION_QA
09:08.648 Q: I am worried about the situation on non-free systems. There was talk about the Windows and the macOS versions being as good as unmaintained. Where do we go from here?
11:35.280 Q: Is there a best practice on what Org to use when following emacs-latest?
-"""]]<div>Listen to just the audio:<br /><audio controls preload="none" id="qanda-emacs30-audio" src="https://media.emacsconf.org/2024/emacsconf-2024-emacs30--emacs-30-highlights--philip-kaludercic--answers.opus"></audio></div><div></div>Duration: 23:36 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-emacs30--emacs-30-highlights--philip-kaludercic--answers--chapters.vtt">Download --answers--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-emacs30--emacs-30-highlights--philip-kaludercic--answers.opus">Download --answers.opus (10MB)</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-emacs30--emacs-30-highlights--philip-kaludercic--answers.vtt">Download --answers.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-emacs30--emacs-30-highlights--philip-kaludercic--answers.webm">Download --answers.webm (39MB)</a></li></ul></div></div>
+"""]]<div>Listen to just the audio:<br /><audio controls preload="none" id="qanda-emacs30-audio" src="https://media.emacsconf.org/2024/emacsconf-2024-emacs30--emacs-30-highlights--philip-kaludercic--answers.opus"></audio></div><div></div>Duration: 23:36 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-emacs30--emacs-30-highlights--philip-kaludercic--answers--chapters.vtt">Download --answers--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-emacs30--emacs-30-highlights--philip-kaludercic--answers.opus">Download --answers.opus (10MB)</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-emacs30--emacs-30-highlights--philip-kaludercic--answers.vtt">Download --answers.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-emacs30--emacs-30-highlights--philip-kaludercic--answers.webm">Download --answers.webm (39MB)</a></li><li><a href="https://www.youtube.com/watch?v=xFPpk_lE9Ss">View on Youtube</a></li></ul></div></div>
# Description
<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2024/info/guile-before.md b/2024/info/guile-before.md
index efee2dfb..d3d7099f 100644
--- a/2024/info/guile-before.md
+++ b/2024/info/guile-before.md
@@ -9,7 +9,7 @@ Status: TO_CAPTION_QA
# Talk
-<div class="vid mainVideo"><video controls preload="none" id="mainVideo-guile"><source src="https://media.emacsconf.org/2024/emacsconf-2024-guile--beguiling-emacs-guileemacs-relaunched--robin-templeton--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-guile--beguiling-emacs-guileemacs-relaunched--robin-templeton--main.vtt" default />"""<p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video><div></div>Duration: 15:57 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-guile--beguiling-emacs-guileemacs-relaunched--robin-templeton--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-guile--beguiling-emacs-guileemacs-relaunched--robin-templeton--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-guile--beguiling-emacs-guileemacs-relaunched--robin-templeton--main.vtt.vtt">Download --main.vtt.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-guile--beguiling-emacs-guileemacs-relaunched--robin-templeton--main.webm">Download --main.webm (61MB)</a></li><li><a href="https://toobnix.org/w/iizGyFwoAetXBw3Uy67vwj">View on Toobnix</a></li></ul></div></div>
+<div class="vid mainVideo"><video controls preload="none" id="mainVideo-guile"><source src="https://media.emacsconf.org/2024/emacsconf-2024-guile--beguiling-emacs-guileemacs-relaunched--robin-templeton--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-guile--beguiling-emacs-guileemacs-relaunched--robin-templeton--main.vtt" default />"""<p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video><div></div>Duration: 15:57 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-guile--beguiling-emacs-guileemacs-relaunched--robin-templeton--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-guile--beguiling-emacs-guileemacs-relaunched--robin-templeton--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-guile--beguiling-emacs-guileemacs-relaunched--robin-templeton--main.vtt.vtt">Download --main.vtt.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-guile--beguiling-emacs-guileemacs-relaunched--robin-templeton--main.webm">Download --main.webm (61MB)</a></li><li><a href="https://toobnix.org/w/iizGyFwoAetXBw3Uy67vwj">View on Toobnix</a></li><li><a href="https://youtu.be/yjC162DnsKI">View on Youtube</a></li></ul></div></div>
# Q&A
@@ -22,6 +22,6 @@ Status: TO_CAPTION_QA
12:30.000 Q: Do you think guile-emacs will be able to use or (collaborate with) some of the other awesome projects around Emacs Lisp?
15:04.200 Q: SBCL, ...You mentioned Robert Strandh's SICL along with SBCL---does that work help with the implementation of CL in Guile?
-"""]]<div>Listen to just the audio:<br /><audio controls preload="none" id="qanda-guile-audio" src="https://media.emacsconf.org/2024/emacsconf-2024-guile--beguiling-emacs-guileemacs-relaunched--robin-templeton--answers.opus"></audio></div><div></div><div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-guile--beguiling-emacs-guileemacs-relaunched--robin-templeton--answers--chapters.vtt">Download --answers--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-guile--beguiling-emacs-guileemacs-relaunched--robin-templeton--answers.opus">Download --answers.opus (11MB)</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-guile--beguiling-emacs-guileemacs-relaunched--robin-templeton--answers.vtt">Download --answers.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-guile--beguiling-emacs-guileemacs-relaunched--robin-templeton--answers.webm">Download --answers.webm (48MB)</a></li></ul></div></div>
+"""]]<div>Listen to just the audio:<br /><audio controls preload="none" id="qanda-guile-audio" src="https://media.emacsconf.org/2024/emacsconf-2024-guile--beguiling-emacs-guileemacs-relaunched--robin-templeton--answers.opus"></audio></div><div></div><div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-guile--beguiling-emacs-guileemacs-relaunched--robin-templeton--answers--chapters.vtt">Download --answers--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-guile--beguiling-emacs-guileemacs-relaunched--robin-templeton--answers.opus">Download --answers.opus (11MB)</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-guile--beguiling-emacs-guileemacs-relaunched--robin-templeton--answers.vtt">Download --answers.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-guile--beguiling-emacs-guileemacs-relaunched--robin-templeton--answers.webm">Download --answers.webm (48MB)</a></li><li><a href="https://toobnix.org/w/9o8V4CJ29rK3Fk4CznSPQ4">View on Toobnix</a></li><li><a href="https://www.youtube.com/watch?v=c2RAWGTF0V0">View on Youtube</a></li></ul></div></div>
# Description
<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2024/info/gypsum-after.md b/2024/info/gypsum-after.md
index 68f4baf9..2cb0cbd8 100644
--- a/2024/info/gypsum-after.md
+++ b/2024/info/gypsum-after.md
@@ -379,250 +379,250 @@ Captioner: ramin
<div class="transcript transcript-qanda"><a name="gypsum-qanda-transcript"></a><h1>Q&A transcript (unedited)</h1>
-[[!template text="""Troy Hinckley's project that I'm talking about. I was going""" start="00:00:00.069" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""to mention this in my presentation, but it's possible,""" start="00:00:02.350" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""theoretically, that Troy Hinckley, his project could be""" start="00:00:02.350" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""used as a scheme of limitation that actually runs my own""" start="00:00:02.350" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""version of Emacs. And although, you know, This is""" start="00:00:02.350" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""completely theoretical, and I don't know how difficult""" start="00:00:25.478" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""that would be. But if Troy Hinckley implemented enough of""" start="00:00:25.478" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""the R7-RS standard in Rust, it would theoretically be""" start="00:00:30.781" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""possible to run the Gypsum editor in Troy Hinckley's own""" start="00:00:30.781" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""editor. I thought that was kind of interesting, and I""" start="00:00:30.781" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""thought it was worth mentioning, at least in the questions""" start="00:00:48.270" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""and answers.""" start="00:00:48.270" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""I also mentioned this in the presentation. I wanted to see""" start="00:01:12.179" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""Robin Templeton's project presentation, but""" start="00:01:14.940" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""unfortunately it's going to be at like four in the morning""" start="00:01:14.940" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""for me. So I'm going to try and watch that tomorrow, but""" start="00:01:14.940" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""that's also going to be a very interesting project to keep an""" start="00:01:22.984" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""eye on if you're interested in Scheme. That's the project""" start="00:01:22.984" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""where you've got the Guylain interpreter running inside of""" start="00:01:33.149" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""the Emacs process. It's dynamically linked as a library.""" start="00:01:33.149" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""I'm ready for questions from anybody. You can ask or you can""" start="00:02:04.699" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""type. It's up to you.""" start="00:02:07.431" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""Okay, let me check the etherpad.""" start="00:02:32.319" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""Let's see here.""" start="00:02:37.304" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""I'm not sure if I'm doing that right.""" start="00:02:41.208" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""Let me check one more time. Oh, there it goes.""" start="00:02:46.373" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""Let's see, so this is...""" start="00:02:54.221" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""I didn't know about that first bit of history. Oh, I've heard""" start="00:03:00.151" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""RMS say that Scheme Guile is just a nicer Lisp, but I didn't""" start="00:03:02.332" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""know there were concrete talks attempts to use Guile for""" start="00:03:02.332" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""Emacs that early. Let's see, that was from janneke.""" start="00:03:02.332" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""...Troy Hinckley's project that I'm talking about. I was going""" start="00:00:00.000" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""to mention this in my presentation, but it's possible,""" start="00:00:03.000" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""theoretically, that Troy Hinckley, his project could be""" start="00:00:08.800" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""used as a scheme of limitation that actually runs my own""" start="00:00:16.360" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""version of Emacs. And although, you know, This is""" start="00:00:18.560" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""completely theoretical, and I don't know how difficult""" start="00:00:23.760" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""that would be. But if Troy Hinckley implemented enough of""" start="00:00:30.720" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""the R7-RS standard in Rust, it would theoretically be""" start="00:00:34.080" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""possible to run the Gypsum editor in Troy Hinckley's own""" start="00:00:39.880" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""editor. I thought that was kind of interesting, and I""" start="00:00:46.720" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""thought it was worth mentioning, at least in the questions""" start="00:00:50.240" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""and answers.""" start="00:00:59.120" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""I also mentioned this in the presentation. I wanted to see""" start="00:01:12.160" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""Robin Templeton's project presentation, but""" start="00:01:16.200" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""unfortunately it's going to be at like four in the morning""" start="00:01:20.120" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""for me. So I'm going to try and watch that tomorrow, but""" start="00:01:22.400" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""that's also going to be a very interesting project to keep an""" start="00:01:26.240" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""eye on if you're interested in Scheme. That's the project""" start="00:01:29.560" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""where you've got the Guylain interpreter running inside of""" start="00:01:34.040" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""the Emacs process. It's dynamically linked as a library.""" start="00:01:37.520" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""I'm ready for questions from anybody. You can ask or you can""" start="00:02:04.680" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""type. It's up to you.""" start="00:02:08.760" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""Okay, let me check the etherpad.""" start="00:02:32.080" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""Let's see here.""" start="00:02:37.320" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""I'm not sure if I'm doing that right.""" start="00:02:41.160" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""Let me check one more time. Oh, there it goes.""" start="00:02:42.720" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""Let's see, so this is...""" start="00:02:54.200" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""I didn't know about that first bit of history. Oh, I've heard""" start="00:03:00.080" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""RMS say that Scheme Guile is just a nicer Lisp, but I didn't""" start="00:03:02.240" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""know there were concrete talks attempts to use Guile for""" start="00:03:06.120" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""Emacs that early. Let's see, that was from janneke.""" start="00:03:09.080" video="qanda-gypsum" id="subtitle"]]
-<div class="transcript-heading">[[!template new="1" text="""Q: I'm curious to know how the hell guile-emacs deals with all of the dynamically scoped modules out there. Is there any effort to automatically modularize and namespace stuff?""" start="00:03:09.370" video="qanda-gypsum" id="subtitle"]]</div>[[!template text="""I'm curious to know how the hell Guile Emacs deals with all the""" start="00:03:09.370" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""dynamically scoped modules out there. Is there any effort""" start="00:03:14.318" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""to automatically modularize and name? Let's see.""" start="00:03:20.181" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""That might be a better question for Robin Templeton. In my""" start="00:03:30.523" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""own project,""" start="00:03:36.727" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""there's no module system for Emacs Lisp. There is a module""" start="00:03:36.727" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""system for Scheme. And the Emacs Lisp interpreter runs in""" start="00:03:46.693" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""its own environment. the require system or whatever module""" start="00:03:49.695" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""system that Emacs has, once it's implemented, all of that""" start="00:03:57.068" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""would just happen inside of the Emacs Lisp environment,""" start="00:03:57.068" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""which is inside of the Scheme environment. And""" start="00:03:57.068" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""environments are objects in Scheme.""" start="00:04:12.437" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""I think a more difficult question is how to handle""" start="00:04:21.522" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""threading, and Scheme has very good threading built in, in""" start="00:04:26.420" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""Serphe-18[??].""" start="00:04:26.420" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""But I don't think it will be easy to write Emacs Lisp form""" start="00:04:34.283" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""bindings to the Scheme multi-threading implementation.""" start="00:04:34.283" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""Emacs Lisp was just not cut out for that kind of thing. So I""" start="00:04:48.548" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""think each Emacs Lisp, you could, I suppose, have multiple""" start="00:04:51.710" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""threads each running their own Emacs Lisp environment.""" start="00:04:51.710" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""Scheme would make that very simple to do.""" start="00:05:01.375" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""And then there'd just be a question of how you would get those""" start="00:05:06.018" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""different interpreters to communicate with each other,""" start="00:05:06.018" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""perhaps using the same protocol that's used by the Emacs""" start="00:05:06.018" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""server. But I haven't thought that far ahead yet.""" start="00:05:06.018" video="qanda-gypsum" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Q: I'm curious to know how the hell guile-emacs deals with all of the dynamically scoped modules out there. Is there any effort to automatically modularize and namespace stuff?""" start="00:03:14.320" video="qanda-gypsum" id="subtitle"]]</div>[[!template text="""I'm curious to know how the hell Guile Emacs deals with all the""" start="00:03:14.320" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""dynamically scoped modules out there. Is there any effort""" start="00:03:17.440" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""to automatically modularize and name? Let's see.""" start="00:03:21.360" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""That might be a better question for Robin Templeton. In my""" start="00:03:29.760" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""own project,""" start="00:03:40.920" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""there's no module system for Emacs Lisp. There is a module""" start="00:03:44.640" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""system for Scheme. And the Emacs Lisp interpreter runs in""" start="00:03:49.400" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""its own environment. the require system or whatever module""" start="00:03:55.560" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""system that Emacs has, once it's implemented, all of that""" start="00:04:01.600" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""would just happen inside of the Emacs Lisp environment,""" start="00:04:06.360" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""which is inside of the Scheme environment. And""" start="00:04:09.760" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""environments are objects in Scheme.""" start="00:04:12.400" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""I think a more difficult question is how to handle""" start="00:04:21.480" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""threading, and Scheme has very good threading built in, in""" start="00:04:26.400" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""Serphe-18[??].""" start="00:04:33.280" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""But I don't think it will be easy to write Emacs Lisp form""" start="00:04:34.840" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""bindings to the Scheme multi-threading implementation.""" start="00:04:43.400" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""Emacs Lisp was just not cut out for that kind of thing. So I""" start="00:04:48.480" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""think each Emacs Lisp, you could, I suppose, have multiple""" start="00:04:52.280" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""threads each running their own Emacs Lisp environment.""" start="00:04:56.560" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""Scheme would make that very simple to do.""" start="00:05:00.040" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""And then there'd just be a question of how you would get those""" start="00:05:05.000" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""different interpreters to communicate with each other,""" start="00:05:08.760" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""perhaps using the same protocol that's used by the Emacs""" start="00:05:11.680" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""server. But I haven't thought that far ahead yet.""" start="00:05:16.280" video="qanda-gypsum" id="subtitle"]]
-<div class="transcript-heading">[[!template new="1" text="""Q: Would it be possible to support a GUI toolkit other than GTK?""" start="00:05:23.646" video="qanda-gypsum" id="subtitle"]]</div>[[!template text="""Would it be possible to support a GUI toolkit other than the""" start="00:05:23.646" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""GTK? Like, how is it still supports Lucid? Yes, this is""" start="00:05:23.646" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""absolutely a goal of the project. I'm trying to keep the back""" start="00:05:31.291" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""end separate as possible. The scheme has what you call""" start="00:05:33.873" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""parameters. And these are like global variables that are""" start="00:05:39.817" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""still somewhat thread safe. And every call to the GUI goes""" start="00:05:43.199" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""through a parameter. So the Emacs, the interpreter and the""" start="00:05:47.484" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""editor logic is all in one module. And then that module calls""" start="00:05:52.125" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""out into a separate GUI module. And then you can implement""" start="00:05:59.987" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""different GUI modules. So you could have one for GTK3, one""" start="00:06:04.989" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""for GTK4, if you want to write the extern C bindings around Qt""" start="00:06:08.430" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""or full tick, that would certainly be possible as well. It""" start="00:06:13.843" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""would be nice maybe to have an SDL implementation based""" start="00:06:21.185" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""maybe on Chikiti or some kind of immediate mode GUI,""" start="00:06:21.185" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""something like that. But definitely GTK3 through Guile GI""" start="00:06:21.185" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""is the reference implementation. Things start there. But""" start="00:06:33.808" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""I'm very interested in supporting other GUIs, yes. Let's""" start="00:06:41.298" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""see.""" start="00:06:45.199" video="qanda-gypsum" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Q: Would it be possible to support a GUI toolkit other than GTK?""" start="00:05:23.640" video="qanda-gypsum" id="subtitle"]]</div>[[!template text="""Would it be possible to support a GUI toolkit other than the""" start="00:05:23.640" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""GTK? Like, how is it still supports Lucid? Yes, this is""" start="00:05:26.840" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""absolutely a goal of the project. I'm trying to keep the back""" start="00:05:31.320" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""end separate as possible. The scheme has what you call""" start="00:05:37.000" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""parameters. And these are like global variables that are""" start="00:05:41.600" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""still somewhat thread safe. And every call to the GUI goes""" start="00:05:45.240" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""through a parameter. So the Emacs, the interpreter and the""" start="00:05:50.520" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""editor logic is all in one module. And then that module calls""" start="00:05:58.200" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""out into a separate GUI module. And then you can implement""" start="00:06:01.680" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""different GUI modules. So you could have one for GTK3, one""" start="00:06:06.320" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""for GTK4, if you want to write the extern C bindings around Qt""" start="00:06:11.600" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""or full tick, that would certainly be possible as well. It""" start="00:06:16.880" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""would be nice maybe to have an SDL implementation based""" start="00:06:21.200" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""maybe on Chikiti or some kind of immediate mode GUI,""" start="00:06:25.920" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""something like that. But definitely GTK3 through Guile GI""" start="00:06:31.000" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""is the reference implementation. Things start there. But""" start="00:06:37.400" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""I'm very interested in supporting other GUIs, yes. Let's""" start="00:06:41.320" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""see.""" start="00:06:44.000" video="qanda-gypsum" id="subtitle"]]
-<div class="transcript-heading">[[!template new="1" text="""Q: Do you plan to provide improvements to Elisp as a language, or is the focus on a compatibility layer to facilitate doing all new extensions, etc. in Scheme?""" start="00:06:45.257" video="qanda-gypsum" id="subtitle"]]</div>[[!template text="""Question, do you plan to provide improvements to ELisp""" start="00:06:45.257" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""as a language or focus on a compatibility layer to""" start="00:06:47.540" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""facilitate all new extensions in Scheme? Yeah, the second""" start="00:06:47.540" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""one. I want to move off to Scheme. I would like for this""" start="00:06:57.142" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""project to try and keep up to date with each new release of""" start="00:07:03.384" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""Emacs and Emacs Lisp. That's a difficult moving target to""" start="00:07:05.666" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""follow, I realize. But to the greatest extent possible, any""" start="00:07:11.850" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""new features to Emacs Lisp will be pulled in from GNU Emacs.""" start="00:07:15.152" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""If we happen to be able to implement something cool in""" start="00:07:25.419" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""Scheme, and be able to port it over to Emacs Lisp, then sure,""" start="00:07:25.419" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""it'd be nice to be able to upload or to submit that upstream to""" start="00:07:29.437" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""the GNU Emacs. But I think I would prefer to have new features""" start="00:07:29.437" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""written in Scheme. I would like this gypsum to be more of a""" start="00:07:38.584" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""Scheme app platform that just happens to be able to also run""" start="00:07:43.989" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""Emacs Lisp. That's how I see it. Of course, this will be a""" start="00:07:43.989" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""community project. I'm open to debate about that if anybody""" start="00:07:54.577" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""wants to convince me otherwise.""" start="00:07:58.809" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""Why is being able to interpret all of that EL a useful goal?""" start="00:08:08.439" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""Sure, there is a lot of code written in Elisp. Can we""" start="00:08:12.464" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""consider... Oh, it's still being written. Please go ahead""" start="00:08:15.206" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""and finish writing.""" start="00:08:18.390" video="qanda-gypsum" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Q: Do you plan to provide improvements to Elisp as a language, or is the focus on a compatibility layer to facilitate doing all new extensions, etc. in Scheme?""" start="00:06:46.040" video="qanda-gypsum" id="subtitle"]]</div>[[!template text="""Question, do you plan to provide improvements to ELisp""" start="00:06:46.040" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""as a language or focus on a compatibility layer to""" start="00:06:50.760" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""facilitate all new extensions in Scheme? Yeah, the second""" start="00:06:54.520" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""one. I want to move off to Scheme. I would like for this""" start="00:06:58.000" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""project to try and keep up to date with each new release of""" start="00:07:04.720" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""Emacs and Emacs Lisp. That's a difficult moving target to""" start="00:07:09.000" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""follow, I realize. But to the greatest extent possible, any""" start="00:07:13.800" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""new features to Emacs Lisp will be pulled in from GNU Emacs.""" start="00:07:18.640" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""If we happen to be able to implement something cool in""" start="00:07:25.240" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""Scheme, and be able to port it over to Emacs Lisp, then sure,""" start="00:07:28.600" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""it'd be nice to be able to upload or to submit that upstream to""" start="00:07:31.640" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""the GNU Emacs. But I think I would prefer to have new features""" start="00:07:35.800" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""written in Scheme. I would like this gypsum to be more of a""" start="00:07:43.080" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""Scheme app platform that just happens to be able to also run""" start="00:07:47.800" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""Emacs Lisp. That's how I see it. Of course, this will be a""" start="00:07:51.480" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""community project. I'm open to debate about that if anybody""" start="00:07:56.200" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""wants to convince me otherwise.""" start="00:08:00.800" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""Why is being able to interpret all of that EL a useful goal?""" start="00:08:02.080" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""Sure, there is a lot of code written in Elisp. Can we""" start="00:08:11.760" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""consider... Oh, it's still being written. Please go ahead""" start="00:08:15.520" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""and finish writing.""" start="00:08:18.960" video="qanda-gypsum" id="subtitle"]]
-<div class="transcript-heading">[[!template new="1" text="""Q: Can we consider a translator like utility to convert elisp to scheme, once guile-emacs becomes a reality?""" start="00:08:29.673" video="qanda-gypsum" id="subtitle"]]</div>[[!template text="""Can we consider a translator like utility to convert eLisp""" start="00:08:29.673" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""to Scheme once Guile-Emacs has become a reality?""" start="00:08:29.673" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""Certainly. For the time being, I just wanted to get the""" start="00:08:36.716" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""interpreter running. So the actual, the Guile-Emacs Lisp,""" start="00:08:38.717" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""the one that was written in 2011 that I didn't write, that""" start="00:08:44.520" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""actually does compile to, I think it's the tree""" start="00:08:44.520" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""intermediate representation It's one of the intermediate""" start="00:08:44.520" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""languages that Guile uses to compile Guile scheme itself.""" start="00:08:59.076" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""So the Emacs lisp that was written before actually does""" start="00:09:04.817" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""that. It actually compiles and makes use of the entire Guile""" start="00:09:04.817" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""compiler tool chain and actually produces like JIT""" start="00:09:09.339" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""compilable binaries, which is really cool. Like I said,""" start="00:09:09.339" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""that's the one that I had trouble getting to work properly.""" start="00:09:23.342" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""Maybe we can follow that architecture. I'm not sure how to do""" start="00:09:29.209" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""that, but I would like to be able to do some kind of""" start="00:09:33.052" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""translating, keeping in mind that we want to have this be""" start="00:09:33.052" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""portable, do various schemes. And so Guile makes this very""" start="00:09:33.052" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""easy, but other schemes don't. Gambit might do this pretty""" start="00:09:45.988" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""well as well. It compiles to C and then compiles C down to a""" start="00:09:51.549" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""dynamically linkable library. So yeah, I think probably""" start="00:09:53.950" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""the most portable, I'm just thinking out loud right now,""" start="00:10:03.372" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""most portable implementation will just be able to""" start="00:10:10.652" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""translate Emacs Lisp directly to Scheme, which is not what""" start="00:10:10.652" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""the old Guile Emacs Lisp implementation does. That goes to""" start="00:10:10.652" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""TreeIL, so it's very, very Guile-specific, can't be""" start="00:10:21.755" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""ported. But yeah, if we could somehow get Emacs Lisp""" start="00:10:21.755" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""translated to Scheme and then compiled, say, in Shea Scheme""" start="00:10:28.359" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""or Gambit or MIT Scheme or one of those other compilers, that""" start="00:10:28.359" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""would be very cool. And I would absolutely love to do that.""" start="00:10:28.359" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""And I would very quickly accept any code into the code base""" start="00:10:44.906" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""that would do that.""" start="00:10:44.906" video="qanda-gypsum" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Q: Can we consider a translator like utility to convert elisp to scheme, once guile-emacs becomes a reality?""" start="00:08:19.440" video="qanda-gypsum" id="subtitle"]]</div>[[!template text="""Can we consider a translator like utility to convert eLisp""" start="00:08:19.440" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""to Scheme once Guile-Emacs has become a reality?""" start="00:08:32.520" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""Certainly. For the time being, I just wanted to get the""" start="00:08:37.520" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""interpreter running. So the actual, the Guile-Emacs Lisp,""" start="00:08:42.120" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""the one that was written in 2011 that I didn't write, that""" start="00:08:47.560" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""actually does compile to, I think it's the tree""" start="00:08:51.920" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""intermediate representation It's one of the intermediate""" start="00:08:57.600" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""languages that Guile uses to compile Guile scheme itself.""" start="00:08:59.240" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""So the Emacs lisp that was written before actually does""" start="00:09:03.760" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""that. It actually compiles and makes use of the entire Guile""" start="00:09:09.080" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""compiler tool chain and actually produces like JIT""" start="00:09:13.120" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""compilable binaries, which is really cool. Like I said,""" start="00:09:17.480" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""that's the one that I had trouble getting to work properly.""" start="00:09:21.720" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""Maybe we can follow that architecture. I'm not sure how to do""" start="00:09:27.520" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""that, but I would like to be able to do some kind of""" start="00:09:34.400" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""translating, keeping in mind that we want to have this be""" start="00:09:37.920" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""portable, do various schemes. And so Guile makes this very""" start="00:09:42.000" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""easy, but other schemes don't. Gambit might do this pretty""" start="00:09:48.920" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""well as well. It compiles to C and then compiles C down to a""" start="00:09:52.720" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""dynamically linkable library. So yeah, I think probably""" start="00:09:57.920" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""the most portable, I'm just thinking out loud right now,""" start="00:10:06.160" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""most portable implementation will just be able to""" start="00:10:09.560" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""translate Emacs Lisp directly to Scheme, which is not what""" start="00:10:13.240" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""the old Guile Emacs Lisp implementation does. That goes to""" start="00:10:17.120" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""TreeIL, so it's very, very Guile-specific, can't be""" start="00:10:22.440" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""ported. But yeah, if we could somehow get Emacs Lisp""" start="00:10:26.440" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""translated to Scheme and then compiled, say, in Shea Scheme""" start="00:10:30.800" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""or Gambit or MIT Scheme or one of those other compilers, that""" start="00:10:37.000" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""would be very cool. And I would absolutely love to do that.""" start="00:10:40.880" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""And I would very quickly accept any code into the code base""" start="00:10:44.920" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""that would do that.""" start="00:10:49.280" video="qanda-gypsum" id="subtitle"]]
-<div class="transcript-heading">[[!template new="1" text="""Q: Why is being able to interpret all of \`init.el\` an useful goal?""" start="00:10:54.390" video="qanda-gypsum" id="subtitle"]]</div>[[!template text="""Oh, and to answer the question about init.el,""" start="00:10:54.390" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""It's just because people spend a lot of time on their configs""" start="00:10:59.207" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""and it would be nice if, you know, you're starting to use this""" start="00:10:59.207" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""new editor and want it to be similar to Emacs users, just the""" start="00:10:59.207" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""Emacs community in general and people who are familiar with""" start="00:10:59.207" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""using Emacs. It would be more useful to everybody in the""" start="00:10:59.207" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""Emacs community if this were more compatible with GNU""" start="00:11:17.715" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""Emacs. And so that's why that's, I think that's an important""" start="00:11:17.715" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""goal.""" start="00:11:25.679" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""Question is not yet. Great. Oh, here comes another""" start="00:11:34.465" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""question.""" start="00:11:38.471" video="qanda-gypsum" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Q: Why is being able to interpret all of \`init.el\` an useful goal?""" start="00:10:50.600" video="qanda-gypsum" id="subtitle"]]</div>[[!template text="""Oh, and to answer the question about init.el,""" start="00:10:50.600" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""It's just because people spend a lot of time on their configs""" start="00:10:59.120" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""and it would be nice if, you know, you're starting to use this""" start="00:11:02.840" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""new editor and want it to be similar to Emacs users, just the""" start="00:11:06.960" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""Emacs community in general and people who are familiar with""" start="00:11:14.080" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""using Emacs. It would be more useful to everybody in the""" start="00:11:16.520" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""Emacs community if this were more compatible with GNU""" start="00:11:20.880" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""Emacs. And so that's why that's, I think that's an important""" start="00:11:25.120" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""goal.""" start="00:11:36.000" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""Question is not yet. Great. Oh, here comes another""" start="00:11:38.560" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""question.""" start="00:12:01.840" video="qanda-gypsum" id="subtitle"]]
-<div class="transcript-heading">[[!template new="1" text="""Q: What is the plan to handle elisp packages that depend on 3rd party/external libraries? (libgit/magit or rg/ripgrep)?""" start="00:12:08.539" video="qanda-gypsum" id="subtitle"]]</div>[[!template text="""Okay, what is the plan to handle elisp packages that depend""" start="00:12:08.539" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""on third-party or external libraries like git or magit""" start="00:12:08.539" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""or ripgrep? So that's going to be tricky. It depends on how""" start="00:12:08.539" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""these external packages are linked into emacs. If it's""" start="00:12:21.523" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""going to be a dynamic library like Robin Templeton's""" start="00:12:26.844" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""project which you load the libgit library into the Emacs""" start="00:12:26.844" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""process, that is going to be extremely difficult. So if you""" start="00:12:35.289" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""have an external library like, I don't know, libgit or""" start="00:12:44.032" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""what's the GUI thing? Cabal. No, not Cabal. Cairo, libcairo""" start="00:12:44.032" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""to do SVG graphics and so on.""" start="00:12:57.736" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""You can do that very easily with Guile, but then on top of""" start="00:13:04.483" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""that, implementing Emacs list bindings to it, I mean,""" start="00:13:04.483" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""you've got two layers there, and that makes things pretty""" start="00:13:04.483" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""difficult. So it's possible. And to some degree, maybe""" start="00:13:04.483" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""necessary for example, Cairo, if we want to do SVG graphics""" start="00:13:21.935" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""the way that Emacs Lisp does, we're going to have to have""" start="00:13:21.935" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""that. So that would be necessary. We would have to have those""" start="00:13:21.935" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""two layers. Yes, let's do that. But if it's like for Magit,""" start="00:13:32.643" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""you can just call out to your git process, and then you're""" start="00:13:38.047" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""just using the regular process APIs that Emacs Lisp has. And""" start="00:13:38.047" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""that can be, already we, like Guile has some very good""" start="00:13:51.451" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""implementations for process management. And so it would""" start="00:13:51.451" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""just be a matter of wrapping up those in the Emacs lisp form""" start="00:13:59.055" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""bindings. So yeah, dynamic libraries, I wanna try to avoid.""" start="00:13:59.055" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""And I would prefer to do things more through, you know,""" start="00:14:12.222" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""launching a child process in the Emacs process. and then""" start="00:14:12.222" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""communicating over the standard in, standard out""" start="00:14:20.956" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""channels.""" start="00:14:20.956" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""That's the easier way to do things, I think, because then you""" start="00:14:29.460" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""can just use the process library that Emacs already has, and""" start="00:14:29.460" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""you can just reuse all of that code.""" start="00:14:29.460" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""I'm not sure how ripgrep works, unfortunately, but I""" start="00:14:43.969" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""believe that's also a process, a child process. So, we can""" start="00:14:43.969" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""just reuse all of the Emacs Lisp code that does that already.""" start="00:14:50.412" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""We just need to make sure that the process management""" start="00:14:54.014" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""implementation and scheme is properly bound to Emacs Lisp,""" start="00:14:54.014" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""and it works the same as GNU Emacs does. Once that's all set,""" start="00:14:54.014" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""then these porcelains, like around git, should fall into""" start="00:15:06.360" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""place. without too much difficulty, hopefully.""" start="00:15:06.360" video="qanda-gypsum" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Q: What is the plan to handle elisp packages that depend on 3rd party/external libraries? (libgit/magit or rg/ripgrep)?""" start="00:12:02.280" video="qanda-gypsum" id="subtitle"]]</div>[[!template text="""Okay, what is the plan to handle elisp packages that depend""" start="00:12:02.280" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""on third-party or external libraries like git or magit""" start="00:12:11.880" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""or ripgrep? So that's going to be tricky. It depends on how""" start="00:12:16.120" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""these external packages are linked into emacs. If it's""" start="00:12:22.720" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""going to be a dynamic library like Robin Templeton's""" start="00:12:27.080" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""project which you load the libgit library into the Emacs""" start="00:12:32.880" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""process, that is going to be extremely difficult. So if you""" start="00:12:38.040" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""have an external library like, I don't know, libgit or""" start="00:12:43.160" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""what's the GUI thing? Cabal. No, not Cabal. Cairo, libcairo""" start="00:12:49.360" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""to do SVG graphics and so on.""" start="00:12:59.280" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""You can do that very easily with Guile, but then on top of""" start="00:13:01.440" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""that, implementing Emacs list bindings to it, I mean,""" start="00:13:09.720" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""you've got two layers there, and that makes things pretty""" start="00:13:14.720" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""difficult. So it's possible. And to some degree, maybe""" start="00:13:17.200" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""necessary for example, Cairo, if we want to do SVG graphics""" start="00:13:23.120" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""the way that Emacs Lisp does, we're going to have to have""" start="00:13:27.800" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""that. So that would be necessary. We would have to have those""" start="00:13:30.600" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""two layers. Yes, let's do that. But if it's like for Magit,""" start="00:13:33.960" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""you can just call out to your git process, and then you're""" start="00:13:39.200" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""just using the regular process APIs that Emacs Lisp has. And""" start="00:13:45.480" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""that can be, already we, like Guile has some very good""" start="00:13:50.720" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""implementations for process management. And so it would""" start="00:13:57.120" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""just be a matter of wrapping up those in the Emacs lisp form""" start="00:14:08.080" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""bindings. So yeah, dynamic libraries, I wanna try to avoid.""" start="00:14:12.440" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""And I would prefer to do things more through, you know,""" start="00:14:24.920" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""launching a child process in the Emacs process. and then""" start="00:14:32.800" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""communicating over the standard in, standard out""" start="00:14:40.400" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""channels.""" start="00:14:47.240" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""That's the easier way to do things, I think, because then you""" start="00:14:47.960" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""can just use the process library that Emacs already has, and""" start="00:14:52.800" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""you can just reuse all of that code.""" start="00:14:58.520" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""I'm not sure how ripgrep works, unfortunately, but I""" start="00:15:03.240" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""believe that's also a process, a child process. So, we can""" start="00:15:09.080" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""just reuse all of the Emacs Lisp code that does that already.""" start="00:15:15.280" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""We just need to make sure that the process management""" start="00:15:23.480" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""implementation and scheme is properly bound to Emacs Lisp,""" start="00:15:30.400" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""and it works the same as GNU Emacs does. Once that's all set,""" start="00:15:35.120" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""then these porcelains, like around git, should fall into""" start="00:15:43.360" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""place. without too much difficulty, hopefully.""" start="00:15:48.400" video="qanda-gypsum" id="subtitle"]]
-<div class="transcript-heading">[[!template new="1" text="""Q: Not really a question, but how about Schemacs as a name?""" start="00:15:21.112" video="qanda-gypsum" id="subtitle"]]</div>[[!template text="""How about Schemax as a name? I like the name. I like that name.""" start="00:15:21.112" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""I haven't really looked into like, is that already used or is""" start="00:15:28.937" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""that going to be confusing? But certainly something we can""" start="00:15:28.937" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""discuss.""" start="00:15:33.380" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""Another thing I should mention,""" start="00:15:38.243" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""I should probably set up a server or something like Discord""" start="00:15:42.157" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""or something like that. Discourse, not Discord.""" start="00:15:42.157" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""Discourse, the open source one, where we could actually""" start="00:15:51.619" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""chat about this stuff. For the time being, ActivityPub,""" start="00:15:51.619" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""mostly Mastodon, is how I communicate with people in real""" start="00:15:56.540" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""time, that or email. So if you want to get a hold of me, check""" start="00:15:56.540" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""the notes for this presentation and just send me an email.""" start="00:16:09.809" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""Any question at all is fine. If you want to contribute code,""" start="00:16:16.752" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""if you want to just learn how to contribute code, send me any""" start="00:16:19.633" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""questions. It's fine. I'm happy to answer them. And we can""" start="00:16:19.633" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""talk about the name as well.""" start="00:16:30.256" video="qanda-gypsum" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Q: Not really a question, but how about Schemacs as a name?""" start="00:15:55.280" video="qanda-gypsum" id="subtitle"]]</div>[[!template text="""How about Schemax as a name? I like the name. I like that name.""" start="00:15:55.280" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""I haven't really looked into like, is that already used or is""" start="00:15:59.200" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""that going to be confusing? But certainly something we can""" start="00:16:03.120" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""discuss.""" start="00:16:09.760" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""Another thing I should mention,""" start="00:16:10.960" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""I should probably set up a server or something like Discord""" start="00:16:13.040" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""or something like that. Discourse, not Discord.""" start="00:16:18.760" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""Discourse, the open source one, where we could actually""" start="00:16:25.360" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""chat about this stuff. For the time being, ActivityPub,""" start="00:16:31.600" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""mostly Mastodon, is how I communicate with people in real""" start="00:16:49.240" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""time, that or email. So if you want to get a hold of me, check""" start="00:16:52.400" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""the notes for this presentation and just send me an email.""" start="00:16:57.280" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""Any question at all is fine. If you want to contribute code,""" start="00:17:02.440" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""if you want to just learn how to contribute code, send me any""" start="00:17:09.040" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""questions. It's fine. I'm happy to answer them. And we can""" start="00:17:12.800" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""talk about the name as well.""" start="00:17:22.200" video="qanda-gypsum" id="subtitle"]]
-<div class="transcript-heading">[[!template new="1" text="""Q: Why is it not feasible for the Emacs layer that interprets Emacs Lisp (the core in C) ot have a Scheme interpreter, instead of using Guile?""" start="00:16:45.931" video="qanda-gypsum" id="subtitle"]]</div>[[!template text="""Okay, why is it not feasible for the Emacs layer that""" start="00:16:45.931" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""interprets Emacs Lisp, the core in C, have a Scheme""" start="00:16:45.931" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""interpreter instead of using Guile? Let's see, I have to,""" start="00:16:45.931" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""okay. Emacs layer interprets Emacs Lisp, the core in C, have""" start="00:16:55.496" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""a Scheme interpreter instead of using Guile. Okay, so that,""" start="00:16:57.737" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""the question xlarsx is asking, xlars, x, So Lars is asking,""" start="00:17:07.362" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""is it not feasible for there to be an""" start="00:17:14.744" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""Emacs layer that interprets Emacs Lisp have a scheme""" start="00:17:14.744" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""interpreter? This is Robin Templeton's project. And""" start="00:17:14.744" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""they're presenting later today. So check the roster and be""" start="00:17:30.815" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""sure to see that presentation because that's exactly what""" start="00:17:32.697" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""Robin Templeton is doing. That's not what I'm doing though.""" start="00:17:32.697" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""I'm trying to create something in Scheme. But yes, there is""" start="00:17:44.419" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""an attempt to get an Scheme interpreter to run inside of""" start="00:17:48.280" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""Emacs itself. And it has its own method of binding to Emacs""" start="00:17:48.280" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""Lisp functions and translating data like Lisp structures""" start="00:17:55.181" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""between Guile Scheme and Emacs Lisp. Robin will explain all""" start="00:17:55.181" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""of that in their presentation.""" start="00:18:05.943" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""OK, I think I've got through all the questions on Etherpad.""" start="00:18:28.519" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""But I'm going to hang out here for a bit longer. And yeah, feel""" start="00:18:33.620" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""free to do a video chat with me or send me more questions on""" start="00:18:37.621" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""Etherpad or here in the big blue button. And so I'm just going""" start="00:18:37.621" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""to hang out. And thanks for asking all your questions. And""" start="00:18:47.002" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""yeah, I look forward to working with all of you if you're""" start="00:18:51.663" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""interested. take it easy. Thanks so much for the talk and""" start="00:18:51.663" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""looking forward to seeing some of your progress as this""" start="00:18:59.935" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""moves forward, exciting space. We'll go ahead and leave the""" start="00:18:59.935" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""room open for you and thanks for offering to hang out and chat""" start="00:19:09.261" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""with other people that come by. Feel free to throw something""" start="00:19:09.261" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""in the chat if you want to remind people you're still here.""" start="00:19:15.025" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""Meanwhile, on the stream, we have moved along to our next""" start="00:19:19.557" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""talk on Rust, and that is just getting started. But again,""" start="00:19:19.557" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""we're continuing to record this, and I'll just keep an eye on""" start="00:19:25.283" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""it to stop the recording. Thank you. Thank you. It was""" start="00:19:25.283" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""awesome.""" start="00:19:33.352" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""So it seems like it's slowed down here for the Q&A. I don't see""" start="00:21:47.935" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""anybody else on BBB, so I'm going to go ahead and stop the""" start="00:21:50.638" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""recording. We can start it back up. I would say, yes, there's""" start="00:21:50.638" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""a lot of things you can do with this. You can handle""" start="00:21:55.282" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""processing. Yeah, I'm going to try and join over the chat for""" start="00:21:58.926" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""the next talk. I'm not sure if I can do both big blue buttons at""" start="00:22:02.029" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""the same time. You should be able to just watch your mute""" start="00:22:08.635" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""settings and mute tab settings and whatever all you have to""" start="00:22:13.206" video="qanda-gypsum" id="subtitle"]]
-[[!template text="""avoid bleed through. Okay.""" start="00:22:13.206" video="qanda-gypsum" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Q: Why is it not feasible for the Emacs layer that interprets Emacs Lisp (the core in C) ot have a Scheme interpreter, instead of using Guile?""" start="00:17:25.880" video="qanda-gypsum" id="subtitle"]]</div>[[!template text="""Okay, why is it not feasible for the Emacs layer that""" start="00:17:25.880" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""interprets Emacs Lisp, the core in C, have a Scheme""" start="00:17:30.240" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""interpreter instead of using Guile? Let's see, I have to,""" start="00:17:34.320" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""okay. Emacs layer interprets Emacs Lisp, the core in C, have""" start="00:17:39.800" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""a Scheme interpreter instead of using Guile. Okay, so that,""" start="00:17:48.800" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""the question xlarsx is asking, xlars, x, So Lars is asking,""" start="00:17:54.080" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""is it not feasible for there to be an""" start="00:17:59.960" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""Emacs layer that interprets Emacs Lisp have a scheme""" start="00:18:02.320" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""interpreter? This is Robin Templeton's project. And""" start="00:18:06.840" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""they're presenting later today. So check the roster and be""" start="00:18:33.080" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""sure to see that presentation because that's exactly what""" start="00:18:39.840" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""Robin Templeton is doing. That's not what I'm doing though.""" start="00:18:45.200" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""I'm trying to create something in Scheme. But yes, there is""" start="00:18:52.120" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""an attempt to get an Scheme interpreter to run inside of""" start="00:18:57.240" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""Emacs itself. And it has its own method of binding to Emacs""" start="00:19:02.960" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""Lisp functions and translating data like Lisp structures""" start="00:19:07.160" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""between Guile Scheme and Emacs Lisp. Robin will explain all""" start="00:19:11.200" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""of that in their presentation.""" start="00:19:14.440" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""OK, I think I've got through all the questions on Etherpad.""" start="00:19:15.800" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""But I'm going to hang out here for a bit longer. And yeah, feel""" start="00:19:18.920" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""free to do a video chat with me or send me more questions on""" start="00:19:23.880" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""Etherpad or here in the big blue button. And so I'm just going""" start="00:19:28.240" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""to hang out. And thanks for asking all your questions. And""" start="00:19:33.840" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""yeah, I look forward to working with all of you if you're""" start="00:21:49.120" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""interested. take it easy. Thanks so much for the talk and""" start="00:21:50.840" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""looking forward to seeing some of your progress as this""" start="00:21:51.800" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""moves forward, exciting space. We'll go ahead and leave the""" start="00:21:53.200" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""room open for you and thanks for offering to hang out and chat""" start="00:21:54.360" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""with other people that come by. Feel free to throw something""" start="00:21:54.880" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""in the chat if you want to remind people you're still here.""" start="00:21:55.640" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""Meanwhile, on the stream, we have moved along to our next""" start="00:21:56.720" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""talk on Rust, and that is just getting started. But again,""" start="00:21:57.920" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""we're continuing to record this, and I'll just keep an eye on""" start="00:21:59.600" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""it to stop the recording. Thank you. Thank you. It was""" start="00:22:00.480" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""awesome.""" start="00:22:01.240" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""So it seems like it's slowed down here for the Q&A. I don't see""" start="00:22:01.560" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""anybody else on BBB, so I'm going to go ahead and stop the""" start="00:22:03.960" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""recording. We can start it back up. I would say, yes, there's""" start="00:22:05.440" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""a lot of things you can do with this. You can handle""" start="00:22:08.480" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""processing. Yeah, I'm going to try and join over the chat for""" start="00:22:09.520" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""the next talk. I'm not sure if I can do both big blue buttons at""" start="00:22:11.240" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""the same time. You should be able to just watch your mute""" start="00:22:14.680" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""settings and mute tab settings and whatever all you have to""" start="00:22:15.760" video="qanda-gypsum" id="subtitle"]]
+[[!template text="""avoid bleed through. Okay.""" start="00:22:19.160" video="qanda-gypsum" id="subtitle"]]
</div>Questions or comments? Please e-mail [ramin.honary@gmail.com](mailto:ramin.honary@gmail.com?subject=Comment%20for%20EmacsConf%202023%20gypsum%3A%20Gypsum%3A%20my%20clone%20of%20Emacs%20and%20ELisp%20written%20in%20Scheme)
diff --git a/2024/info/gypsum-before.md b/2024/info/gypsum-before.md
index ae5c0975..7f437b35 100644
--- a/2024/info/gypsum-before.md
+++ b/2024/info/gypsum-before.md
@@ -9,20 +9,20 @@ Status: TO_CAPTION_QA
# Talk
-<div class="vid mainVideo"><video controls preload="none" id="mainVideo-gypsum"><source src="https://media.emacsconf.org/2024/emacsconf-2024-gypsum--gypsum-my-clone-of-emacs-and-elisp-written-in-scheme--ramin-honary--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-gypsum--gypsum-my-clone-of-emacs-and-elisp-written-in-scheme--ramin-honary--main.vtt" default />"""<p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video><div></div>Duration: 24:36 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-gypsum--gypsum-my-clone-of-emacs-and-elisp-written-in-scheme--ramin-honary--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-gypsum--gypsum-my-clone-of-emacs-and-elisp-written-in-scheme--ramin-honary--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-gypsum--gypsum-my-clone-of-emacs-and-elisp-written-in-scheme--ramin-honary--main.webm">Download --main.webm (56MB)</a></li><li><a href="https://toobnix.org/w/8yqjkevWPH7RSRzPpHb5JB">View on Toobnix</a></li></ul></div></div>
+<div class="vid mainVideo"><video controls preload="none" id="mainVideo-gypsum"><source src="https://media.emacsconf.org/2024/emacsconf-2024-gypsum--gypsum-my-clone-of-emacs-and-elisp-written-in-scheme--ramin-honary--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-gypsum--gypsum-my-clone-of-emacs-and-elisp-written-in-scheme--ramin-honary--main.vtt" default />"""<p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video><div></div>Duration: 24:36 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-gypsum--gypsum-my-clone-of-emacs-and-elisp-written-in-scheme--ramin-honary--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-gypsum--gypsum-my-clone-of-emacs-and-elisp-written-in-scheme--ramin-honary--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-gypsum--gypsum-my-clone-of-emacs-and-elisp-written-in-scheme--ramin-honary--main.webm">Download --main.webm (56MB)</a></li><li><a href="https://toobnix.org/w/8yqjkevWPH7RSRzPpHb5JB">View on Toobnix</a></li><li><a href="https://youtu.be/gLEFuDolR6Y">View on Youtube</a></li></ul></div></div>
# Q&A
<div class="vid qanda"><video controls preload="none" id="qanda-gypsum"><source src="https://media.emacsconf.org/2024/emacsconf-2024-gypsum--gypsum-my-clone-of-emacs-and-elisp-written-in-scheme--ramin-honary--answers.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-gypsum--gypsum-my-clone-of-emacs-and-elisp-written-in-scheme--ramin-honary--answers.vtt" default />"""<track kind="chapters" label="Chapters" src="/2024/captions/emacsconf-2024-gypsum--gypsum-my-clone-of-emacs-and-elisp-written-in-scheme--ramin-honary--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-gypsum" data="""
-03:09.370 Q: I'm curious to know how the hell guile-emacs deals with all of the dynamically scoped modules out there. Is there any effort to automatically modularize and namespace stuff?
-05:23.646 Q: Would it be possible to support a GUI toolkit other than GTK?
-06:45.257 Q: Do you plan to provide improvements to Elisp as a language, or is the focus on a compatibility layer to facilitate doing all new extensions, etc. in Scheme?
-08:29.673 Q: Can we consider a translator like utility to convert elisp to scheme, once guile-emacs becomes a reality?
-10:54.390 Q: Why is being able to interpret all of \`init.el\` an useful goal?
-12:08.539 Q: What is the plan to handle elisp packages that depend on 3rd party/external libraries? (libgit/magit or rg/ripgrep)?
-15:21.112 Q: Not really a question, but how about Schemacs as a name?
-16:45.931 Q: Why is it not feasible for the Emacs layer that interprets Emacs Lisp (the core in C) ot have a Scheme interpreter, instead of using Guile?
-
-"""]]<div>Listen to just the audio:<br /><audio controls preload="none" id="qanda-gypsum-audio" src="https://media.emacsconf.org/2024/emacsconf-2024-gypsum--gypsum-my-clone-of-emacs-and-elisp-written-in-scheme--ramin-honary--answers.opus"></audio></div><div></div>Duration: 23:38 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-gypsum--gypsum-my-clone-of-emacs-and-elisp-written-in-scheme--ramin-honary--answers--chapters.vtt">Download --answers--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-gypsum--gypsum-my-clone-of-emacs-and-elisp-written-in-scheme--ramin-honary--answers.opus">Download --answers.opus (11MB)</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-gypsum--gypsum-my-clone-of-emacs-and-elisp-written-in-scheme--ramin-honary--answers.vtt">Download --answers.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-gypsum--gypsum-my-clone-of-emacs-and-elisp-written-in-scheme--ramin-honary--answers.webm">Download --answers.webm (31MB)</a></li></ul></div></div>
+03:14.320 Q: I'm curious to know how the hell guile-emacs deals with all of the dynamically scoped modules out there. Is there any effort to automatically modularize and namespace stuff?
+05:23.640 Q: Would it be possible to support a GUI toolkit other than GTK?
+06:46.040 Q: Do you plan to provide improvements to Elisp as a language, or is the focus on a compatibility layer to facilitate doing all new extensions, etc. in Scheme?
+08:19.440 Q: Can we consider a translator like utility to convert elisp to scheme, once guile-emacs becomes a reality?
+10:50.600 Q: Why is being able to interpret all of \`init.el\` an useful goal?
+12:02.280 Q: What is the plan to handle elisp packages that depend on 3rd party/external libraries? (libgit/magit or rg/ripgrep)?
+15:55.280 Q: Not really a question, but how about Schemacs as a name?
+17:25.880 Q: Why is it not feasible for the Emacs layer that interprets Emacs Lisp (the core in C) ot have a Scheme interpreter, instead of using Guile?
+
+"""]]<div>Listen to just the audio:<br /><audio controls preload="none" id="qanda-gypsum-audio" src="https://media.emacsconf.org/2024/emacsconf-2024-gypsum--gypsum-my-clone-of-emacs-and-elisp-written-in-scheme--ramin-honary--answers.opus"></audio></div><div></div>Duration: 23:38 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-gypsum--gypsum-my-clone-of-emacs-and-elisp-written-in-scheme--ramin-honary--answers--chapters.vtt">Download --answers--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-gypsum--gypsum-my-clone-of-emacs-and-elisp-written-in-scheme--ramin-honary--answers.opus">Download --answers.opus (11MB)</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-gypsum--gypsum-my-clone-of-emacs-and-elisp-written-in-scheme--ramin-honary--answers.vtt">Download --answers.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-gypsum--gypsum-my-clone-of-emacs-and-elisp-written-in-scheme--ramin-honary--answers.webm">Download --answers.webm (31MB)</a></li><li><a href="https://toobnix.org/w/2c8K6cXhofT9dRgwcSrugm">View on Toobnix</a></li><li><a href="https://www.youtube.com/watch?v=sLw3IdJMabU">View on Youtube</a></li></ul></div></div>
# Description
<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2024/info/hyperbole-before.md b/2024/info/hyperbole-before.md
index 24e259b2..4f40ce4a 100644
--- a/2024/info/hyperbole-before.md
+++ b/2024/info/hyperbole-before.md
@@ -20,7 +20,7 @@ Status: TO_CAPTION_QA
11:19.720 Select a thing
12:33.818 Web search
-"""]]<div></div>Duration: 14:10 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-hyperbole--fun-things-with-gnu-hyperbole--mats-lidell--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-hyperbole--fun-things-with-gnu-hyperbole--mats-lidell--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-hyperbole--fun-things-with-gnu-hyperbole--mats-lidell--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-hyperbole--fun-things-with-gnu-hyperbole--mats-lidell--main.webm">Download --main.webm (47MB)</a></li><li><a href="https://toobnix.org/w/jrZezGxN7xhH9gjfEC3Ux6">View on Toobnix</a></li></ul></div></div>
+"""]]<div></div>Duration: 14:10 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-hyperbole--fun-things-with-gnu-hyperbole--mats-lidell--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-hyperbole--fun-things-with-gnu-hyperbole--mats-lidell--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-hyperbole--fun-things-with-gnu-hyperbole--mats-lidell--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-hyperbole--fun-things-with-gnu-hyperbole--mats-lidell--main.webm">Download --main.webm (47MB)</a></li><li><a href="https://toobnix.org/w/jrZezGxN7xhH9gjfEC3Ux6">View on Toobnix</a></li><li><a href="https://youtu.be/cFdgpb0TeQo">View on Youtube</a></li></ul></div></div>
# Q&A
@@ -30,6 +30,6 @@ Status: TO_CAPTION_QA
07:09.972 Q: What is a recent tool that you find exciting to think about using in combination with Hyperbole, or would like to suggest using in combination with it?
10:00.255 On Ihor as the new maintainer for Org Mode
-"""]]<div>Listen to just the audio:<br /><audio controls preload="none" id="qanda-hyperbole-audio" src="https://media.emacsconf.org/2024/emacsconf-2024-hyperbole--fun-things-with-gnu-hyperbole--mats-lidell--answers.opus"></audio></div><div></div>Duration: 21:56 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-hyperbole--fun-things-with-gnu-hyperbole--mats-lidell--answers--chapters.vtt">Download --answers--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-hyperbole--fun-things-with-gnu-hyperbole--mats-lidell--answers.opus">Download --answers.opus (8.1MB)</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-hyperbole--fun-things-with-gnu-hyperbole--mats-lidell--answers.vtt">Download --answers.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-hyperbole--fun-things-with-gnu-hyperbole--mats-lidell--answers.webm">Download --answers.webm (30MB)</a></li></ul></div></div>
+"""]]<div>Listen to just the audio:<br /><audio controls preload="none" id="qanda-hyperbole-audio" src="https://media.emacsconf.org/2024/emacsconf-2024-hyperbole--fun-things-with-gnu-hyperbole--mats-lidell--answers.opus"></audio></div><div></div>Duration: 21:56 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-hyperbole--fun-things-with-gnu-hyperbole--mats-lidell--answers--chapters.vtt">Download --answers--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-hyperbole--fun-things-with-gnu-hyperbole--mats-lidell--answers.opus">Download --answers.opus (8.1MB)</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-hyperbole--fun-things-with-gnu-hyperbole--mats-lidell--answers.vtt">Download --answers.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-hyperbole--fun-things-with-gnu-hyperbole--mats-lidell--answers.webm">Download --answers.webm (30MB)</a></li><li><a href="https://www.youtube.com/watch?v=95rtYf2DISo">View on Youtube</a></li></ul></div></div>
# Description
<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2024/info/hyperdrive-before.md b/2024/info/hyperdrive-before.md
index 9b73f69f..1f1493d8 100644
--- a/2024/info/hyperdrive-before.md
+++ b/2024/info/hyperdrive-before.md
@@ -3,31 +3,13 @@
Format: 21-min talk ; Q&A: BigBlueButton conference room
Status: TO_CAPTION_QA
-<!-- End of `emacsconf-publish-before-page' -->
-<!-- manually added markers with Emacs-next 30.0.92-0.881d593 -->
-# Talk
-
-<div class="vid mainVideo"><video controls preload="none" id="mainVideo-hyperdrive"><source src="https://media.emacsconf.org/2024/emacsconf-2024-hyperdrive--new-in-hyperdriveel-quick-install-peer-graph-transclusion--joseph-turner--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-hyperdrive--new-in-hyperdriveel-quick-install-peer-graph-transclusion--joseph-turner--main.vtt" default />"""<p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video>[[!template id="chapters" vidid="mainVideo-hyperdrive" data="""
-00:01.000 Welcome
-01:34.700 `hyperdrive.el` quick start installation
-03:23.400 open a file on a hyperdrive
-04:02.559 marking a hyperdrive as trusted safe
-04:30.739 giving hyperdrives petnames
-05:15.259 hyperdrive peer graphs
-07:19.879 explaination for blockers
-09:01.839 wingsuit-flying-grand-canyon-point-of-view-NOT-CLICKBAIT.mp4
-12:57.480 how to new hyperdrive public key
-14:42.359 bound keys for hyperdrive's transient menu
-15:27.080 `hyperdrive-org-transclusion' installation
-17:02.799 inserting link to a hyperdrive stored file
-"""]]<div></div>Duration: 20:25 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-hyperdrive--new-in-hyperdriveel-quick-install-peer-graph-transclusion--joseph-turner--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-hyperdrive--new-in-hyperdriveel-quick-install-peer-graph-transclusion--joseph-turner--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-hyperdrive--new-in-hyperdriveel-quick-install-peer-graph-transclusion--joseph-turner--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-hyperdrive--new-in-hyperdriveel-quick-install-peer-graph-transclusion--joseph-turner--main.webm">Download --main.webm (74MB)</a></li><li><a href="https://toobnix.org/w/pea2Nfx82eZhBAN2zatdix">View on Toobnix</a></li></ul></div></div>
-<!-- End manually added markers with Emacs-next 30.0.92-0.881d593 -->
+# Talk
-<!-- Automatically generated by `emacsconf-publish-before-page' -->
+<div class="vid mainVideo"><video controls preload="none" id="mainVideo-hyperdrive"><source src="https://media.emacsconf.org/2024/emacsconf-2024-hyperdrive--new-in-hyperdriveel-quick-install-peer-graph-transclusion--joseph-turner--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-hyperdrive--new-in-hyperdriveel-quick-install-peer-graph-transclusion--joseph-turner--main.vtt" default />"""<p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video><div></div>Duration: 20:25 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-hyperdrive--new-in-hyperdriveel-quick-install-peer-graph-transclusion--joseph-turner--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-hyperdrive--new-in-hyperdriveel-quick-install-peer-graph-transclusion--joseph-turner--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-hyperdrive--new-in-hyperdriveel-quick-install-peer-graph-transclusion--joseph-turner--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-hyperdrive--new-in-hyperdriveel-quick-install-peer-graph-transclusion--joseph-turner--main.webm">Download --main.webm (74MB)</a></li><li><a href="https://toobnix.org/w/pea2Nfx82eZhBAN2zatdix">View on Toobnix</a></li><li><a href="https://youtu.be/zG9qFogCY2A">View on Youtube</a></li></ul></div></div>
# Q&A
@@ -37,6 +19,6 @@ Status: TO_CAPTION_QA
07:31.064 Q: blocklist or whitelist so I can make them containing useful information for only me while also being useful with in a public sense
11:41.024 Q: Could you comment on the "visualization" thing, (org visualization), and your experience with this type of content in buffers and the various possibilities (svg, etc.)?
-"""]]<div>Listen to just the audio:<br /><audio controls preload="none" id="qanda-hyperdrive-audio" src="https://media.emacsconf.org/2024/emacsconf-2024-hyperdrive--new-in-hyperdriveel-quick-install-peer-graph-transclusion--joseph-turner--answers.opus"></audio></div><div></div>Duration: 22:34 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-hyperdrive--new-in-hyperdriveel-quick-install-peer-graph-transclusion--joseph-turner--answers--chapters.vtt">Download --answers--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-hyperdrive--new-in-hyperdriveel-quick-install-peer-graph-transclusion--joseph-turner--answers.opus">Download --answers.opus (7.7MB)</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-hyperdrive--new-in-hyperdriveel-quick-install-peer-graph-transclusion--joseph-turner--answers.vtt">Download --answers.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-hyperdrive--new-in-hyperdriveel-quick-install-peer-graph-transclusion--joseph-turner--answers.webm">Download --answers.webm (25MB)</a></li></ul></div></div>
+"""]]<div>Listen to just the audio:<br /><audio controls preload="none" id="qanda-hyperdrive-audio" src="https://media.emacsconf.org/2024/emacsconf-2024-hyperdrive--new-in-hyperdriveel-quick-install-peer-graph-transclusion--joseph-turner--answers.opus"></audio></div><div></div>Duration: 22:34 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-hyperdrive--new-in-hyperdriveel-quick-install-peer-graph-transclusion--joseph-turner--answers--chapters.vtt">Download --answers--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-hyperdrive--new-in-hyperdriveel-quick-install-peer-graph-transclusion--joseph-turner--answers.opus">Download --answers.opus (7.7MB)</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-hyperdrive--new-in-hyperdriveel-quick-install-peer-graph-transclusion--joseph-turner--answers.vtt">Download --answers.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-hyperdrive--new-in-hyperdriveel-quick-install-peer-graph-transclusion--joseph-turner--answers.webm">Download --answers.webm (25MB)</a></li><li><a href="https://toobnix.org/w/m5WTxCLDF37J2qgdge8gua">View on Toobnix</a></li><li><a href="https://www.youtube.com/watch?v=Cibcdy1AceM">View on Youtube</a></li></ul></div></div>
# Description
-<!-- End of emacsconf-publish-before-page -->
+<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2024/info/julia-after.md b/2024/info/julia-after.md
index 9a2d879c..9a498298 100644
--- a/2024/info/julia-after.md
+++ b/2024/info/julia-after.md
@@ -212,122 +212,122 @@
</div><div class="transcript transcript-qanda"><a name="julia-qanda-transcript"></a><h1>Q&A transcript (unedited)</h1>
-<div class="transcript-heading">[[!template new="1" text="""Q: Do you have any suggestions for interactive debugging of Julia code in Emacs?""" start="00:00:00.089" video="qanda-julia" id="subtitle"]]</div>[[!template text="""... answer to that. I, I think the infrastructure for an""" start="00:00:00.089" video="qanda-julia" id="subtitle"]]
-[[!template text="""ecosystem in Julia in general is as mature as other""" start="00:00:01.509" video="qanda-julia" id="subtitle"]]
-[[!template text="""languages, and even debugger infiltrator themselves are""" start="00:00:01.509" video="qanda-julia" id="subtitle"]]
-[[!template text="""not particularly well developed. And so I don't think""" start="00:00:01.509" video="qanda-julia" id="subtitle"]]
-[[!template text="""there's much we can do about that right now. I think that it's""" start="00:00:15.853" video="qanda-julia" id="subtitle"]]
-[[!template text="""unfortunate that most of the development for these type of""" start="00:00:21.570" video="qanda-julia" id="subtitle"]]
-[[!template text="""tools is tightly linked to VS code. But even there, I don't""" start="00:00:21.570" video="qanda-julia" id="subtitle"]]
-[[!template text="""think that there's much done in terms of interactive""" start="00:00:29.218" video="qanda-julia" id="subtitle"]]
-[[!template text="""debugging. So I, yeah, I think this has to be worked on mostly""" start="00:00:29.218" video="qanda-julia" id="subtitle"]]
-[[!template text="""on the Julia side first. And then probably Emacs can get""" start="00:00:36.866" video="qanda-julia" id="subtitle"]]
-[[!template text="""something out of that. I know that there's development in""" start="00:00:43.820" video="qanda-julia" id="subtitle"]]
-[[!template text="""debugger.jl itself for future releases to make it at least""" start="00:00:49.183" video="qanda-julia" id="subtitle"]]
-[[!template text="""faster and more stable. But yeah, I think we're not there as""" start="00:00:49.183" video="qanda-julia" id="subtitle"]]
-[[!template text="""Julia community itself. So let alone Emacs, integration""" start="00:00:58.809" video="qanda-julia" id="subtitle"]]
-[[!template text="""with Emacs. The way I personally debug is mostly using,""" start="00:01:04.192" video="qanda-julia" id="subtitle"]]
-[[!template text="""well, debugger and infiltrator with Julia REPL mode in""" start="00:01:08.286" video="qanda-julia" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Q: Do you have any suggestions for interactive debugging of Julia code in Emacs?""" start="00:00:00.000" video="qanda-julia" id="subtitle"]]</div>[[!template text="""... answer to that. I, I think the infrastructure for an""" start="00:00:00.000" video="qanda-julia" id="subtitle"]]
+[[!template text="""ecosystem in Julia in general is as mature as other""" start="00:00:05.320" video="qanda-julia" id="subtitle"]]
+[[!template text="""languages, and even debugger infiltrator themselves are""" start="00:00:08.600" video="qanda-julia" id="subtitle"]]
+[[!template text="""not particularly well developed. And so I don't think""" start="00:00:12.560" video="qanda-julia" id="subtitle"]]
+[[!template text="""there's much we can do about that right now. I think that it's""" start="00:00:17.520" video="qanda-julia" id="subtitle"]]
+[[!template text="""unfortunate that most of the development for these type of""" start="00:00:21.520" video="qanda-julia" id="subtitle"]]
+[[!template text="""tools is tightly linked to VS code. But even there, I don't""" start="00:00:26.000" video="qanda-julia" id="subtitle"]]
+[[!template text="""think that there's much done in terms of interactive""" start="00:00:31.760" video="qanda-julia" id="subtitle"]]
+[[!template text="""debugging. So I, yeah, I think this has to be worked on mostly""" start="00:00:35.720" video="qanda-julia" id="subtitle"]]
+[[!template text="""on the Julia side first. And then probably Emacs can get""" start="00:00:42.360" video="qanda-julia" id="subtitle"]]
+[[!template text="""something out of that. I know that there's development in""" start="00:00:47.520" video="qanda-julia" id="subtitle"]]
+[[!template text="""debugger.jl itself for future releases to make it at least""" start="00:00:51.240" video="qanda-julia" id="subtitle"]]
+[[!template text="""faster and more stable. But yeah, I think we're not there as""" start="00:00:55.560" video="qanda-julia" id="subtitle"]]
+[[!template text="""Julia community itself. So let alone Emacs, integration""" start="00:01:01.840" video="qanda-julia" id="subtitle"]]
+[[!template text="""with Emacs. The way I personally debug is mostly using,""" start="00:01:06.880" video="qanda-julia" id="subtitle"]]
+[[!template text="""well, debugger and infiltrator with Julia REPL mode in""" start="00:01:11.240" video="qanda-julia" id="subtitle"]]
-<div class="transcript-heading">[[!template new="1" text="""Q: Can you call out something that Julia has that Emacs does not, and which could benefit Emacs?""" start="00:01:08.286" video="qanda-julia" id="subtitle"]]</div>[[!template text="""Emacs. The second question, can you call out something that""" start="00:01:08.286" video="qanda-julia" id="subtitle"]]
-[[!template text="""Julia has that Emacs does not and which could benefit Emacs?""" start="00:01:18.009" video="qanda-julia" id="subtitle"]]
-[[!template text="""Nothing stands out to me except the usual multi-threading""" start="00:01:26.852" video="qanda-julia" id="subtitle"]]
-[[!template text="""and things like this. I don't necessarily see something""" start="00:01:28.848" video="qanda-julia" id="subtitle"]]
-[[!template text="""that Julia has going on that DMX doesn't have, but I see some""" start="00:01:33.432" video="qanda-julia" id="subtitle"]]
-[[!template text="""differences and approaches that I think are important,""" start="00:01:33.432" video="qanda-julia" id="subtitle"]]
-[[!template text="""like the community. I think Julia is a very active and tight""" start="00:01:33.432" video="qanda-julia" id="subtitle"]]
-[[!template text="""community. Julia uses Slack and is very, very active. I""" start="00:01:47.384" video="qanda-julia" id="subtitle"]]
-[[!template text="""think he might say something like that, but it's maybe more""" start="00:01:54.093" video="qanda-julia" id="subtitle"]]
-[[!template text="""on Reddit, IRC. JuliaCon is big and brings together lots and""" start="00:01:54.093" video="qanda-julia" id="subtitle"]]
-[[!template text="""lots of people. And I think the sense of community is really""" start="00:01:59.078" video="qanda-julia" id="subtitle"]]
-[[!template text="""powerful. It's very easy to essentially meet people that""" start="00:02:03.221" video="qanda-julia" id="subtitle"]]
-[[!template text="""are interested in what we're building and interested in""" start="00:02:06.364" video="qanda-julia" id="subtitle"]]
-[[!template text="""what we're doing and interested in Julian, our, you know,""" start="00:02:06.364" video="qanda-julia" id="subtitle"]]
-[[!template text="""hacker spirit. I think Emacs is a very strong community.""" start="00:02:06.364" video="qanda-julia" id="subtitle"]]
-[[!template text="""We're here on a Saturday talking about Emacs, which again""" start="00:02:21.228" video="qanda-julia" id="subtitle"]]
-[[!template text="""proves that we are doing this. But I'd like to emphasize that""" start="00:02:21.228" video="qanda-julia" id="subtitle"]]
-[[!template text="""the community is a really important aspect in Julia that I""" start="00:02:27.192" video="qanda-julia" id="subtitle"]]
-[[!template text="""think we should double down on our side. The next question is""" start="00:02:27.192" video="qanda-julia" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Q: Can you call out something that Julia has that Emacs does not, and which could benefit Emacs?""" start="00:01:15.200" video="qanda-julia" id="subtitle"]]</div>[[!template text="""Emacs. The second question, can you call out something that""" start="00:01:15.200" video="qanda-julia" id="subtitle"]]
+[[!template text="""Julia has that Emacs does not and which could benefit Emacs?""" start="00:01:21.680" video="qanda-julia" id="subtitle"]]
+[[!template text="""Nothing stands out to me except the usual multi-threading""" start="00:01:26.840" video="qanda-julia" id="subtitle"]]
+[[!template text="""and things like this. I don't necessarily see something""" start="00:01:31.880" video="qanda-julia" id="subtitle"]]
+[[!template text="""that Julia has going on that DMX doesn't have, but I see some""" start="00:01:36.120" video="qanda-julia" id="subtitle"]]
+[[!template text="""differences and approaches that I think are important,""" start="00:01:42.480" video="qanda-julia" id="subtitle"]]
+[[!template text="""like the community. I think Julia is a very active and tight""" start="00:01:45.840" video="qanda-julia" id="subtitle"]]
+[[!template text="""community. Julia uses Slack and is very, very active. I""" start="00:01:49.760" video="qanda-julia" id="subtitle"]]
+[[!template text="""think he might say something like that, but it's maybe more""" start="00:01:54.160" video="qanda-julia" id="subtitle"]]
+[[!template text="""on Reddit, IRC. JuliaCon is big and brings together lots and""" start="00:01:56.560" video="qanda-julia" id="subtitle"]]
+[[!template text="""lots of people. And I think the sense of community is really""" start="00:02:01.800" video="qanda-julia" id="subtitle"]]
+[[!template text="""powerful. It's very easy to essentially meet people that""" start="00:02:05.160" video="qanda-julia" id="subtitle"]]
+[[!template text="""are interested in what we're building and interested in""" start="00:02:10.480" video="qanda-julia" id="subtitle"]]
+[[!template text="""what we're doing and interested in Julian, our, you know,""" start="00:02:12.920" video="qanda-julia" id="subtitle"]]
+[[!template text="""hacker spirit. I think Emacs is a very strong community.""" start="00:02:16.000" video="qanda-julia" id="subtitle"]]
+[[!template text="""We're here on a Saturday talking about Emacs, which again""" start="00:02:21.240" video="qanda-julia" id="subtitle"]]
+[[!template text="""proves that we are doing this. But I'd like to emphasize that""" start="00:02:24.280" video="qanda-julia" id="subtitle"]]
+[[!template text="""the community is a really important aspect in Julia that I""" start="00:02:29.680" video="qanda-julia" id="subtitle"]]
+[[!template text="""think we should double down on our side. The next question is""" start="00:02:33.640" video="qanda-julia" id="subtitle"]]
-<div class="transcript-heading">[[!template new="1" text="""Q: Is there a way to use lisp syntax with Julia, like hy for python or lisp flavoured erlang?""" start="00:02:36.797" video="qanda-julia" id="subtitle"]]</div>[[!template text="""about Lisp syntax with Julia, like what we can do in Python.""" start="00:02:36.797" video="qanda-julia" id="subtitle"]]
-[[!template text="""I don't think that's, I don't, I am not aware of any package""" start="00:02:48.038" video="qanda-julia" id="subtitle"]]
-[[!template text="""that does that. I would bet that there's something there. I""" start="00:02:48.038" video="qanda-julia" id="subtitle"]]
-[[!template text="""think that that's possible. Indeed, there used to be a Lisp""" start="00:02:56.722" video="qanda-julia" id="subtitle"]]
-[[!template text="""interpreter in Julia itself until the latest release. The""" start="00:02:59.243" video="qanda-julia" id="subtitle"]]
-[[!template text="""syntax parsing was done with a Lisp, it was called TemtoList""" start="00:03:07.647" video="qanda-julia" id="subtitle"]]
-[[!template text="""indeed. I think this got rid, get rid of this for our more""" start="00:03:07.647" video="qanda-julia" id="subtitle"]]
-[[!template text="""Julia-based solution that is faster and with better code""" start="00:03:16.124" video="qanda-julia" id="subtitle"]]
-[[!template text="""provenance. I think that it should be possible to use the""" start="00:03:16.124" video="qanda-julia" id="subtitle"]]
-[[!template text="""metaprogramming features in Julia to change the structure""" start="00:03:25.430" video="qanda-julia" id="subtitle"]]
-[[!template text="""of your syntax to be a Lispy syntax. I do want to emphasize""" start="00:03:25.430" video="qanda-julia" id="subtitle"]]
-[[!template text="""that Julia is heavily inspired by Lisp, so I wouldn't be""" start="00:03:36.238" video="qanda-julia" id="subtitle"]]
-[[!template text="""surprised if if something like this were possible.""" start="00:03:36.238" video="qanda-julia" id="subtitle"]]
-[[!template text="""I have tried Julia Snail.""" start="00:03:49.309" video="qanda-julia" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Q: Is there a way to use lisp syntax with Julia, like hy for python or lisp flavoured erlang?""" start="00:02:38.160" video="qanda-julia" id="subtitle"]]</div>[[!template text="""about Lisp syntax with Julia, like what we can do in Python.""" start="00:02:38.160" video="qanda-julia" id="subtitle"]]
+[[!template text="""I don't think that's, I don't, I am not aware of any package""" start="00:02:46.520" video="qanda-julia" id="subtitle"]]
+[[!template text="""that does that. I would bet that there's something there. I""" start="00:02:52.360" video="qanda-julia" id="subtitle"]]
+[[!template text="""think that that's possible. Indeed, there used to be a Lisp""" start="00:02:56.880" video="qanda-julia" id="subtitle"]]
+[[!template text="""interpreter in Julia itself until the latest release. The""" start="00:03:01.520" video="qanda-julia" id="subtitle"]]
+[[!template text="""syntax parsing was done with a Lisp, it was called TemtoList""" start="00:03:08.080" video="qanda-julia" id="subtitle"]]
+[[!template text="""indeed. I think this got rid, get rid of this for our more""" start="00:03:12.040" video="qanda-julia" id="subtitle"]]
+[[!template text="""Julia-based solution that is faster and with better code""" start="00:03:18.680" video="qanda-julia" id="subtitle"]]
+[[!template text="""provenance. I think that it should be possible to use the""" start="00:03:23.040" video="qanda-julia" id="subtitle"]]
+[[!template text="""metaprogramming features in Julia to change the structure""" start="00:03:28.600" video="qanda-julia" id="subtitle"]]
+[[!template text="""of your syntax to be a Lispy syntax. I do want to emphasize""" start="00:03:33.320" video="qanda-julia" id="subtitle"]]
+[[!template text="""that Julia is heavily inspired by Lisp, so I wouldn't be""" start="00:03:38.160" video="qanda-julia" id="subtitle"]]
+[[!template text="""surprised if if something like this were possible.""" start="00:03:43.880" video="qanda-julia" id="subtitle"]]
+[[!template text="""I have tried Julia Snail.""" start="00:03:49.240" video="qanda-julia" id="subtitle"]]
-<div class="transcript-heading">[[!template new="1" text="""Q: Have you tried the Julia Snail package for Emacs? It tries to be like SLY/SLIME for Common Lisp.""" start="00:03:51.168" video="qanda-julia" id="subtitle"]]</div>[[!template text="""So the next question is about Julia""" start="00:03:51.168" video="qanda-julia" id="subtitle"]]
-[[!template text="""Snail. I found Julia REPL to be a little bit easier to set up""" start="00:03:51.270" video="qanda-julia" id="subtitle"]]
-[[!template text="""and use. So I just settled on that. I should maybe revisit""" start="00:03:53.312" video="qanda-julia" id="subtitle"]]
-[[!template text="""that. In particular, I use the Julia REPL with the vterm""" start="00:04:00.918" video="qanda-julia" id="subtitle"]]
-[[!template text="""backend, which essentially makes a companion REPL to my""" start="00:04:03.720" video="qanda-julia" id="subtitle"]]
-[[!template text="""scripts. And that works for me. I do think that the tooling""" start="00:04:03.720" video="qanda-julia" id="subtitle"]]
-[[!template text="""uh, could be improved. I think there is definitely much room""" start="00:04:15.638" video="qanda-julia" id="subtitle"]]
-[[!template text="""and I would like to see improvement in that area. Um, and, uh,""" start="00:04:17.399" video="qanda-julia" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Q: Have you tried the Julia Snail package for Emacs? It tries to be like SLY/SLIME for Common Lisp.""" start="00:03:51.240" video="qanda-julia" id="subtitle"]]</div>[[!template text="""So the next question is about Julia""" start="00:03:51.240" video="qanda-julia" id="subtitle"]]
+[[!template text="""Snail. I found Julia REPL to be a little bit easier to set up""" start="00:03:54.400" video="qanda-julia" id="subtitle"]]
+[[!template text="""and use. So I just settled on that. I should maybe revisit""" start="00:03:58.200" video="qanda-julia" id="subtitle"]]
+[[!template text="""that. In particular, I use the Julia REPL with the vterm""" start="00:04:02.840" video="qanda-julia" id="subtitle"]]
+[[!template text="""backend, which essentially makes a companion REPL to my""" start="00:04:06.000" video="qanda-julia" id="subtitle"]]
+[[!template text="""scripts. And that works for me. I do think that the tooling""" start="00:04:10.960" video="qanda-julia" id="subtitle"]]
+[[!template text="""uh, could be improved. I think there is definitely much room""" start="00:04:15.440" video="qanda-julia" id="subtitle"]]
+[[!template text="""and I would like to see improvement in that area. Um, and, uh,""" start="00:04:19.240" video="qanda-julia" id="subtitle"]]
-<div class="transcript-heading">[[!template new="1" text="""Q: Is there a data inspector for a Julia REPL available that you can use in Emacs?""" start="00:04:22.940" video="qanda-julia" id="subtitle"]]</div>[[!template text="""so we have data inspector for Julia REPL.""" start="00:04:22.940" video="qanda-julia" id="subtitle"]]
-[[!template text="""I don't think so. I don't, is there any data inspector""" start="00:04:32.043" video="qanda-julia" id="subtitle"]]
-[[!template text="""in for, for the Julia REPL that we can use in Emacs?""" start="00:04:34.804" video="qanda-julia" id="subtitle"]]
-[[!template text="""I'm not sure. I don't think so.""" start="00:04:43.223" video="qanda-julia" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Q: Is there a data inspector for a Julia REPL available that you can use in Emacs?""" start="00:04:26.080" video="qanda-julia" id="subtitle"]]</div>[[!template text="""so we have data inspector for Julia REPL.""" start="00:04:26.080" video="qanda-julia" id="subtitle"]]
+[[!template text="""I don't think so. I don't, is there any data inspector""" start="00:04:31.640" video="qanda-julia" id="subtitle"]]
+[[!template text="""in for, for the Julia REPL that we can use in Emacs?""" start="00:04:37.280" video="qanda-julia" id="subtitle"]]
+[[!template text="""I'm not sure. I don't think so.""" start="00:04:40.440" video="qanda-julia" id="subtitle"]]
[[!template text="""I think the way I look at data is""" start="00:04:44.840" video="qanda-julia" id="subtitle"]]
-[[!template text="""essentially ignoring Emacs when encoded. It's just using the""" start="00:04:47.840" video="qanda-julia" id="subtitle"]]
+[[!template text="""essentially ignoring Emacs when encoded. It's just using the""" start="00:04:47.800" video="qanda-julia" id="subtitle"]]
[[!template text="""REPL. And again, with Julia REPL. So I'm not aware of any""" start="00:04:50.520" video="qanda-julia" id="subtitle"]]
-[[!template text="""specialized tool And again, maybe this is, again, a good""" start="00:04:54.760" video="qanda-julia" id="subtitle"]]
-[[!template text="""moment to emphasize that tooling, the Julia community""" start="00:04:58.652" video="qanda-julia" id="subtitle"]]
-[[!template text="""clusters around VS Code. And there is tools like the, pretty""" start="00:04:58.652" video="qanda-julia" id="subtitle"]]
-[[!template text="""much all the work with VS Code, unfortunately. And while""" start="00:05:06.315" video="qanda-julia" id="subtitle"]]
-[[!template text="""there's a very, very decent Julia mode and Julia repo mode""" start="00:05:12.578" video="qanda-julia" id="subtitle"]]
-[[!template text="""and Julia snail, there's definitely, definitely room for""" start="00:05:12.578" video="qanda-julia" id="subtitle"]]
-[[!template text="""improvement.""" start="00:05:12.578" video="qanda-julia" id="subtitle"]]
+[[!template text="""specialized tool And again, maybe this is, again, a good""" start="00:04:56.840" video="qanda-julia" id="subtitle"]]
+[[!template text="""moment to emphasize that tooling, the Julia community""" start="00:05:00.480" video="qanda-julia" id="subtitle"]]
+[[!template text="""clusters around VS Code. And there is tools like the, pretty""" start="00:05:04.280" video="qanda-julia" id="subtitle"]]
+[[!template text="""much all the work with VS Code, unfortunately. And while""" start="00:05:09.080" video="qanda-julia" id="subtitle"]]
+[[!template text="""there's a very, very decent Julia mode and Julia repo mode""" start="00:05:14.200" video="qanda-julia" id="subtitle"]]
+[[!template text="""and Julia snail, there's definitely, definitely room for""" start="00:05:17.760" video="qanda-julia" id="subtitle"]]
+[[!template text="""improvement.""" start="00:05:21.440" video="qanda-julia" id="subtitle"]]
-<div class="transcript-heading">[[!template new="1" text="""Q: Have you tried literate programming Julia (using Org babel or some other means) in Emacs?""" start="00:05:24.443" video="qanda-julia" id="subtitle"]]</div>[[!template text="""Next, we have a question about literate programming in""" start="00:05:24.443" video="qanda-julia" id="subtitle"]]
-[[!template text="""Julia. I haven't done much of it with Org Babel or""" start="00:05:24.443" video="qanda-julia" id="subtitle"]]
-[[!template text="""anything else. I haven't done much of it. I can say that Julia""" start="00:05:29.505" video="qanda-julia" id="subtitle"]]
-[[!template text="""has developed a new iteration of notebooks called Pluto.""" start="00:05:35.827" video="qanda-julia" id="subtitle"]]
-[[!template text="""Here I'm thinking about Jupyter notebooks. The Pluto""" start="00:05:46.090" video="qanda-julia" id="subtitle"]]
-[[!template text="""notebooks for Julia try to remove a bunch of the pain points""" start="00:05:51.021" video="qanda-julia" id="subtitle"]]
-[[!template text="""that Jupyter notebooks have, meaning you cannot easily""" start="00:05:51.021" video="qanda-julia" id="subtitle"]]
-[[!template text="""commit them to Git or things like this.""" start="00:05:51.021" video="qanda-julia" id="subtitle"]]
-[[!template text="""I haven't used them, but I know some people are very fond of""" start="00:06:06.450" video="qanda-julia" id="subtitle"]]
-[[!template text="""them. And so I think that that's what some of the Julia""" start="00:06:06.450" video="qanda-julia" id="subtitle"]]
-[[!template text="""community would use for notebooks. And I think they can""" start="00:06:09.872" video="qanda-julia" id="subtitle"]]
-[[!template text="""interact with Emacs with no problem. And that would be a form""" start="00:06:15.315" video="qanda-julia" id="subtitle"]]
-[[!template text="""of later programming. But if you can do it in Python, you can""" start="00:06:20.974" video="qanda-julia" id="subtitle"]]
-[[!template text="""do it in Julia. I think there is no reason. And actually, you""" start="00:06:24.015" video="qanda-julia" id="subtitle"]]
-[[!template text="""can take advantage of all this just-in-time or""" start="00:06:30.617" video="qanda-julia" id="subtitle"]]
-[[!template text="""just-out-of-time compilation by keeping the same""" start="00:06:30.617" video="qanda-julia" id="subtitle"]]
-[[!template text="""session. So I think it will be definitely a nice use case. So""" start="00:06:30.617" video="qanda-julia" id="subtitle"]]
-[[!template text="""these are the questions that I see here. I'm going to scroll""" start="00:06:44.681" video="qanda-julia" id="subtitle"]]
-[[!template text="""through the comments and see if there's something that I""" start="00:06:48.561" video="qanda-julia" id="subtitle"]]
-[[!template text="""should say about comments. I'm excited people want to learn""" start="00:06:48.561" video="qanda-julia" id="subtitle"]]
-[[!template text="""Julia. I have to say that if I want to do GPU computing""" start="00:06:56.228" video="qanda-julia" id="subtitle"]]
-[[!template text="""nowadays, I find it much easier to do it with Julia than with""" start="00:06:58.990" video="qanda-julia" id="subtitle"]]
-[[!template text="""CUDA. So I encourage people to look into that. And I do,""" start="00:06:58.990" video="qanda-julia" id="subtitle"]]
-[[!template text="""again, I would like to share what makes me excited about""" start="00:07:11.758" video="qanda-julia" id="subtitle"]]
-[[!template text="""Emacs, about this being open, being collaborative, being""" start="00:07:11.758" video="qanda-julia" id="subtitle"]]
-[[!template text="""respectable with documentation is something that I find in""" start="00:07:11.758" video="qanda-julia" id="subtitle"]]
-[[!template text="""Julia. So I think people that are excited about the same""" start="00:07:11.758" video="qanda-julia" id="subtitle"]]
-[[!template text="""features will find a little bit of joy in working with Julia.""" start="00:07:27.367" video="qanda-julia" id="subtitle"]]
-[[!template text="""I think I addressed what I have here. I don't know if there's""" start="00:07:38.214" video="qanda-julia" id="subtitle"]]
-[[!template text="""anything else that I should add.""" start="00:07:40.189" video="qanda-julia" id="subtitle"]]
-[[!template text="""It took me a minute to unmute there.""" start="00:07:51.718" video="qanda-julia" id="subtitle"]]
-[[!template text="""No, I think that was awesome. And thank you so much.""" start="00:07:54.040" video="qanda-julia" id="subtitle"]]
-[[!template text="""I guess I thought it would""" start="00:07:58.400" video="qanda-julia" id="subtitle"]]
-[[!template text="""collapse that shared area on BBB, my mistake, on the stream,""" start="00:08:00.400" video="qanda-julia" id="subtitle"]]
-[[!template text="""or I would have left it open. But in any case, no, I thought""" start="00:08:06.560" video="qanda-julia" id="subtitle"]]
-[[!template text="""that was great. You did a great job of responding to all the""" start="00:08:12.400" video="qanda-julia" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Q: Have you tried literate programming Julia (using Org babel or some other means) in Emacs?""" start="00:05:24.360" video="qanda-julia" id="subtitle"]]</div>[[!template text="""Next, we have a question about literate programming in""" start="00:05:24.360" video="qanda-julia" id="subtitle"]]
+[[!template text="""Julia. I haven't done much of it with Org Babel or""" start="00:05:27.760" video="qanda-julia" id="subtitle"]]
+[[!template text="""anything else. I haven't done much of it. I can say that Julia""" start="00:05:32.440" video="qanda-julia" id="subtitle"]]
+[[!template text="""has developed a new iteration of notebooks called Pluto.""" start="00:05:37.080" video="qanda-julia" id="subtitle"]]
+[[!template text="""Here I'm thinking about Jupyter notebooks. The Pluto""" start="00:05:40.720" video="qanda-julia" id="subtitle"]]
+[[!template text="""notebooks for Julia try to remove a bunch of the pain points""" start="00:05:47.120" video="qanda-julia" id="subtitle"]]
+[[!template text="""that Jupyter notebooks have, meaning you cannot easily""" start="00:05:55.360" video="qanda-julia" id="subtitle"]]
+[[!template text="""commit them to Git or things like this.""" start="00:06:00.440" video="qanda-julia" id="subtitle"]]
+[[!template text="""I haven't used them, but I know some people are very fond of""" start="00:06:03.640" video="qanda-julia" id="subtitle"]]
+[[!template text="""them. And so I think that that's what some of the Julia""" start="00:06:09.280" video="qanda-julia" id="subtitle"]]
+[[!template text="""community would use for notebooks. And I think they can""" start="00:06:13.560" video="qanda-julia" id="subtitle"]]
+[[!template text="""interact with Emacs with no problem. And that would be a form""" start="00:06:16.880" video="qanda-julia" id="subtitle"]]
+[[!template text="""of later programming. But if you can do it in Python, you can""" start="00:06:22.240" video="qanda-julia" id="subtitle"]]
+[[!template text="""do it in Julia. I think there is no reason. And actually, you""" start="00:06:26.880" video="qanda-julia" id="subtitle"]]
+[[!template text="""can take advantage of all this just-in-time or""" start="00:06:32.120" video="qanda-julia" id="subtitle"]]
+[[!template text="""just-out-of-time compilation by keeping the same""" start="00:06:35.840" video="qanda-julia" id="subtitle"]]
+[[!template text="""session. So I think it will be definitely a nice use case. So""" start="00:06:38.240" video="qanda-julia" id="subtitle"]]
+[[!template text="""these are the questions that I see here. I'm going to scroll""" start="00:06:45.200" video="qanda-julia" id="subtitle"]]
+[[!template text="""through the comments and see if there's something that I""" start="00:06:49.200" video="qanda-julia" id="subtitle"]]
+[[!template text="""should say about comments. I'm excited people want to learn""" start="00:06:52.760" video="qanda-julia" id="subtitle"]]
+[[!template text="""Julia. I have to say that if I want to do GPU computing""" start="00:06:57.320" video="qanda-julia" id="subtitle"]]
+[[!template text="""nowadays, I find it much easier to do it with Julia than with""" start="00:07:02.520" video="qanda-julia" id="subtitle"]]
+[[!template text="""CUDA. So I encourage people to look into that. And I do,""" start="00:07:06.400" video="qanda-julia" id="subtitle"]]
+[[!template text="""again, I would like to share what makes me excited about""" start="00:07:11.760" video="qanda-julia" id="subtitle"]]
+[[!template text="""Emacs, about this being open, being collaborative, being""" start="00:07:19.360" video="qanda-julia" id="subtitle"]]
+[[!template text="""respectable with documentation is something that I find in""" start="00:07:23.800" video="qanda-julia" id="subtitle"]]
+[[!template text="""Julia. So I think people that are excited about the same""" start="00:07:26.400" video="qanda-julia" id="subtitle"]]
+[[!template text="""features will find a little bit of joy in working with Julia.""" start="00:07:31.000" video="qanda-julia" id="subtitle"]]
+[[!template text="""I think I addressed what I have here. I don't know if there's""" start="00:07:35.280" video="qanda-julia" id="subtitle"]]
+[[!template text="""anything else that I should add.""" start="00:07:42.000" video="qanda-julia" id="subtitle"]]
+[[!template text="""It took me a minute to unmute there.""" start="00:07:43.560" video="qanda-julia" id="subtitle"]]
+[[!template text="""No, I think that was awesome. And thank you so much.""" start="00:07:52.880" video="qanda-julia" id="subtitle"]]
+[[!template text="""I guess I thought it would""" start="00:07:57.520" video="qanda-julia" id="subtitle"]]
+[[!template text="""collapse that shared area on BBB, my mistake, on the stream,""" start="00:08:00.120" video="qanda-julia" id="subtitle"]]
+[[!template text="""or I would have left it open. But in any case, no, I thought""" start="00:08:06.280" video="qanda-julia" id="subtitle"]]
+[[!template text="""that was great. You did a great job of responding to all the""" start="00:08:12.360" video="qanda-julia" id="subtitle"]]
[[!template text="""questions and comments. And thank you again so much for your""" start="00:08:15.080" video="qanda-julia" id="subtitle"]]
-[[!template text="""talk and getting us all excited to learn Julia. Thank you.""" start="00:08:17.880" video="qanda-julia" id="subtitle"]]
-[[!template text="""Enjoy EmacsConf. And again, thanks so much for attending,""" start="00:08:24.094" video="qanda-julia" id="subtitle"]]
-[[!template text="""for being EmacsConf. Thank you.""" start="00:08:25.335" video="qanda-julia" id="subtitle"]]
+[[!template text="""talk and getting us all excited to learn Julia. Thank you.""" start="00:08:17.840" video="qanda-julia" id="subtitle"]]
+[[!template text="""Enjoy EmacsConf. And again, thanks so much for attending,""" start="00:08:23.200" video="qanda-julia" id="subtitle"]]
+[[!template text="""for being EmacsConf. Thank you.""" start="00:08:27.760" video="qanda-julia" 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%20julia%3A%20Exploring%20shared%20philosophies%20in%20Julia%20and%20Emacs)
diff --git a/2024/info/julia-before.md b/2024/info/julia-before.md
index cbab3774..e9d43975 100644
--- a/2024/info/julia-before.md
+++ b/2024/info/julia-before.md
@@ -9,18 +9,18 @@ Status: TO_CAPTION_QA
# Talk
-<div class="vid mainVideo"><video controls preload="none" id="mainVideo-julia"><source src="https://media.emacsconf.org/2024/emacsconf-2024-julia--exploring-shared-philosophies-in-julia-and-emacs--gabriele-bozzola--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-julia--exploring-shared-philosophies-in-julia-and-emacs--gabriele-bozzola--main.vtt" default />"""<p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video><div></div>Duration: 09:17 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-julia--exploring-shared-philosophies-in-julia-and-emacs--gabriele-bozzola--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-julia--exploring-shared-philosophies-in-julia-and-emacs--gabriele-bozzola--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-julia--exploring-shared-philosophies-in-julia-and-emacs--gabriele-bozzola--main.webm">Download --main.webm (17MB)</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-julia--exploring-shared-philosophies-in-julia-and-emacs--gabriele-bozzola.mp4">Download .mp4 (24MB)</a></li><li><a href="https://toobnix.org/w/eftuibSfVSWF4okoG5ChfC">View on Toobnix</a></li></ul></div></div>
+<div class="vid mainVideo"><video controls preload="none" id="mainVideo-julia"><source src="https://media.emacsconf.org/2024/emacsconf-2024-julia--exploring-shared-philosophies-in-julia-and-emacs--gabriele-bozzola--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-julia--exploring-shared-philosophies-in-julia-and-emacs--gabriele-bozzola--main.vtt" default />"""<p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video><div></div>Duration: 09:17 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-julia--exploring-shared-philosophies-in-julia-and-emacs--gabriele-bozzola--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-julia--exploring-shared-philosophies-in-julia-and-emacs--gabriele-bozzola--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-julia--exploring-shared-philosophies-in-julia-and-emacs--gabriele-bozzola--main.webm">Download --main.webm (17MB)</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-julia--exploring-shared-philosophies-in-julia-and-emacs--gabriele-bozzola.mp4">Download .mp4 (24MB)</a></li><li><a href="https://toobnix.org/w/eftuibSfVSWF4okoG5ChfC">View on Toobnix</a></li><li><a href="https://youtu.be/RTVXaDR697k">View on Youtube</a></li></ul></div></div>
# Q&A
<div class="vid qanda"><video controls preload="none" id="qanda-julia"><source src="https://media.emacsconf.org/2024/emacsconf-2024-julia--exploring-shared-philosophies-in-julia-and-emacs--gabriele-bozzola--answers.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-julia--exploring-shared-philosophies-in-julia-and-emacs--gabriele-bozzola--answers.vtt" default />"""<track kind="chapters" label="Chapters" src="/2024/captions/emacsconf-2024-julia--exploring-shared-philosophies-in-julia-and-emacs--gabriele-bozzola--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-julia" data="""
-00:00.089 Q: Do you have any suggestions for interactive debugging of Julia code in Emacs?
-01:08.286 Q: Can you call out something that Julia has that Emacs does not, and which could benefit Emacs?
-02:36.797 Q: Is there a way to use lisp syntax with Julia, like hy for python or lisp flavoured erlang?
-03:51.168 Q: Have you tried the Julia Snail package for Emacs? It tries to be like SLY/SLIME for Common Lisp.
-04:22.940 Q: Is there a data inspector for a Julia REPL available that you can use in Emacs?
-05:24.443 Q: Have you tried literate programming Julia (using Org babel or some other means) in Emacs?
-
-"""]]<div>Listen to just the audio:<br /><audio controls preload="none" id="qanda-julia-audio" src="https://media.emacsconf.org/2024/emacsconf-2024-julia--exploring-shared-philosophies-in-julia-and-emacs--gabriele-bozzola--answers.opus"></audio></div><div></div><div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-julia--exploring-shared-philosophies-in-julia-and-emacs--gabriele-bozzola--answers--chapters.vtt">Download --answers--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-julia--exploring-shared-philosophies-in-julia-and-emacs--gabriele-bozzola--answers.opus">Download --answers.opus (4.3MB)</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-julia--exploring-shared-philosophies-in-julia-and-emacs--gabriele-bozzola--answers.vtt">Download --answers.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-julia--exploring-shared-philosophies-in-julia-and-emacs--gabriele-bozzola--answers.webm">Download --answers.webm (21MB)</a></li></ul></div></div>
+00:00.000 Q: Do you have any suggestions for interactive debugging of Julia code in Emacs?
+01:15.200 Q: Can you call out something that Julia has that Emacs does not, and which could benefit Emacs?
+02:38.160 Q: Is there a way to use lisp syntax with Julia, like hy for python or lisp flavoured erlang?
+03:51.240 Q: Have you tried the Julia Snail package for Emacs? It tries to be like SLY/SLIME for Common Lisp.
+04:26.080 Q: Is there a data inspector for a Julia REPL available that you can use in Emacs?
+05:24.360 Q: Have you tried literate programming Julia (using Org babel or some other means) in Emacs?
+
+"""]]<div>Listen to just the audio:<br /><audio controls preload="none" id="qanda-julia-audio" src="https://media.emacsconf.org/2024/emacsconf-2024-julia--exploring-shared-philosophies-in-julia-and-emacs--gabriele-bozzola--answers.opus"></audio></div><div></div><div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-julia--exploring-shared-philosophies-in-julia-and-emacs--gabriele-bozzola--answers--chapters.vtt">Download --answers--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-julia--exploring-shared-philosophies-in-julia-and-emacs--gabriele-bozzola--answers.opus">Download --answers.opus (4.3MB)</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-julia--exploring-shared-philosophies-in-julia-and-emacs--gabriele-bozzola--answers.vtt">Download --answers.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-julia--exploring-shared-philosophies-in-julia-and-emacs--gabriele-bozzola--answers.webm">Download --answers.webm (21MB)</a></li><li><a href="https://toobnix.org/w/8j563gDQLnQ624TLeF1PYA">View on Toobnix</a></li><li><a href="https://www.youtube.com/watch?v=CkpadkAZOxs">View on Youtube</a></li></ul></div></div>
# Description
<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2024/info/learning-before.md b/2024/info/learning-before.md
index 09dcd728..432d6c2d 100644
--- a/2024/info/learning-before.md
+++ b/2024/info/learning-before.md
@@ -28,13 +28,13 @@ Status: TO_CAPTION_QA
18:36.957 Summary
19:03.210 References
-"""]]<div></div>Duration: 19:39 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-learning--survival-of-the-skillest-thriving-in-the-learning-jungle--bala-ramadurai--edited.webm">Download --edited.webm (57MB)</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-learning--survival-of-the-skillest-thriving-in-the-learning-jungle--bala-ramadurai--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-learning--survival-of-the-skillest-thriving-in-the-learning-jungle--bala-ramadurai--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-learning--survival-of-the-skillest-thriving-in-the-learning-jungle--bala-ramadurai--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-learning--survival-of-the-skillest-thriving-in-the-learning-jungle--bala-ramadurai--main.webm">Download --main.webm (137MB)</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-learning--survival-of-the-skillest-thriving-in-the-learning-jungle--bala-ramadurai--slides.pdf">Download --slides.pdf (9.5MB)</a></li><li><a href="https://toobnix.org/w/2FSZbvb7v5eZMRFL1f2DXP">View on Toobnix</a></li></ul></div></div>
+"""]]<div></div>Duration: 19:39 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-learning--survival-of-the-skillest-thriving-in-the-learning-jungle--bala-ramadurai--edited.webm">Download --edited.webm (57MB)</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-learning--survival-of-the-skillest-thriving-in-the-learning-jungle--bala-ramadurai--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-learning--survival-of-the-skillest-thriving-in-the-learning-jungle--bala-ramadurai--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-learning--survival-of-the-skillest-thriving-in-the-learning-jungle--bala-ramadurai--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-learning--survival-of-the-skillest-thriving-in-the-learning-jungle--bala-ramadurai--main.webm">Download --main.webm (137MB)</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-learning--survival-of-the-skillest-thriving-in-the-learning-jungle--bala-ramadurai--slides.pdf">Download --slides.pdf (9.5MB)</a></li><li><a href="https://toobnix.org/w/2FSZbvb7v5eZMRFL1f2DXP">View on Toobnix</a></li><li><a href="https://youtu.be/VcHy8XnPia8">View on Youtube</a></li></ul></div></div>
# Q&A
<div class="vid qanda"><video controls preload="none" id="qanda-learning"><source src="https://media.emacsconf.org/2024/emacsconf-2024-learning--survival-of-the-skillest-thriving-in-the-learning-jungle--bala-ramadurai--answers.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-learning--survival-of-the-skillest-thriving-in-the-learning-jungle--bala-ramadurai--answers.vtt" default />"""<track kind="chapters" label="Chapters" src="/2024/captions/emacsconf-2024-learning--survival-of-the-skillest-thriving-in-the-learning-jungle--bala-ramadurai--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-learning" data="""
00:00.000
-"""]]<div>Listen to just the audio:<br /><audio controls preload="none" id="qanda-learning-audio" src="https://media.emacsconf.org/2024/emacsconf-2024-learning--survival-of-the-skillest-thriving-in-the-learning-jungle--bala-ramadurai--answers.opus"></audio></div><div></div>Duration: 24:41 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-learning--survival-of-the-skillest-thriving-in-the-learning-jungle--bala-ramadurai--answers--chapters.vtt">Download --answers--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-learning--survival-of-the-skillest-thriving-in-the-learning-jungle--bala-ramadurai--answers--edited.opus">Download --answers--edited.opus (20MB)</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-learning--survival-of-the-skillest-thriving-in-the-learning-jungle--bala-ramadurai--answers.opus">Download --answers.opus (11MB)</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-learning--survival-of-the-skillest-thriving-in-the-learning-jungle--bala-ramadurai--answers.vtt">Download --answers.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-learning--survival-of-the-skillest-thriving-in-the-learning-jungle--bala-ramadurai--answers.webm">Download --answers.webm (57MB)</a></li></ul></div></div>
+"""]]<div>Listen to just the audio:<br /><audio controls preload="none" id="qanda-learning-audio" src="https://media.emacsconf.org/2024/emacsconf-2024-learning--survival-of-the-skillest-thriving-in-the-learning-jungle--bala-ramadurai--answers.opus"></audio></div><div></div>Duration: 24:41 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-learning--survival-of-the-skillest-thriving-in-the-learning-jungle--bala-ramadurai--answers--chapters.vtt">Download --answers--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-learning--survival-of-the-skillest-thriving-in-the-learning-jungle--bala-ramadurai--answers--edited.opus">Download --answers--edited.opus (20MB)</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-learning--survival-of-the-skillest-thriving-in-the-learning-jungle--bala-ramadurai--answers.opus">Download --answers.opus (11MB)</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-learning--survival-of-the-skillest-thriving-in-the-learning-jungle--bala-ramadurai--answers.vtt">Download --answers.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-learning--survival-of-the-skillest-thriving-in-the-learning-jungle--bala-ramadurai--answers.webm">Download --answers.webm (57MB)</a></li><li><a href="https://toobnix.org/w/rnG2fEoHDDeNRSQYRRTrwR">View on Toobnix</a></li><li><a href="https://www.youtube.com/watch?v=IbI37PTJWQw">View on Youtube</a></li></ul></div></div>
# Description
<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2024/info/links-before.md b/2024/info/links-before.md
index 29d08889..fadd060a 100644
--- a/2024/info/links-before.md
+++ b/2024/info/links-before.md
@@ -15,6 +15,6 @@ Status: TO_FOLLOW_UP
08:26.000 Exposing notes outside Emacs
10:38.000 Future Directions and Potential Improvements
-"""]]<div></div>Duration: 11:21 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-links--unlocking-linked-data-replacing-specialized-apps-with-an-orgbased-semantic-wiki--abhinav-tushar--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-links--unlocking-linked-data-replacing-specialized-apps-with-an-orgbased-semantic-wiki--abhinav-tushar--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-links--unlocking-linked-data-replacing-specialized-apps-with-an-orgbased-semantic-wiki--abhinav-tushar--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-links--unlocking-linked-data-replacing-specialized-apps-with-an-orgbased-semantic-wiki--abhinav-tushar--main.webm">Download --main.webm (21MB)</a></li><li><a href="https://toobnix.org/w/qUW7dHGcHqXW5ZVKtwXspy">View on Toobnix</a></li></ul></div></div>
+"""]]<div></div>Duration: 11:21 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-links--unlocking-linked-data-replacing-specialized-apps-with-an-orgbased-semantic-wiki--abhinav-tushar--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-links--unlocking-linked-data-replacing-specialized-apps-with-an-orgbased-semantic-wiki--abhinav-tushar--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-links--unlocking-linked-data-replacing-specialized-apps-with-an-orgbased-semantic-wiki--abhinav-tushar--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-links--unlocking-linked-data-replacing-specialized-apps-with-an-orgbased-semantic-wiki--abhinav-tushar--main.webm">Download --main.webm (21MB)</a></li><li><a href="https://toobnix.org/w/qUW7dHGcHqXW5ZVKtwXspy">View on Toobnix</a></li><li><a href="https://youtu.be/yp01TbmeWpc">View on Youtube</a></li></ul></div></div>
# Description
<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2024/info/literate-before.md b/2024/info/literate-before.md
index 27e4caff..78a10476 100644
--- a/2024/info/literate-before.md
+++ b/2024/info/literate-before.md
@@ -26,7 +26,7 @@ Status: TO_CAPTION_QA
14:23.166 LP prose isn't comments
14:55.800 Summary
-"""]]<div></div>Duration: 15:51 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-literate--literate-programming-for-the-21st-century--howard-abrams--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-literate--literate-programming-for-the-21st-century--howard-abrams--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-literate--literate-programming-for-the-21st-century--howard-abrams--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-literate--literate-programming-for-the-21st-century--howard-abrams--main.webm">Download --main.webm (42MB)</a></li><li><a href="https://toobnix.org/w/mNDvUTsr99KV59dkTsZEbb">View on Toobnix</a></li></ul></div></div>
+"""]]<div></div>Duration: 15:51 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-literate--literate-programming-for-the-21st-century--howard-abrams--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-literate--literate-programming-for-the-21st-century--howard-abrams--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-literate--literate-programming-for-the-21st-century--howard-abrams--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-literate--literate-programming-for-the-21st-century--howard-abrams--main.webm">Download --main.webm (42MB)</a></li><li><a href="https://toobnix.org/w/mNDvUTsr99KV59dkTsZEbb">View on Toobnix</a></li><li><a href="https://youtu.be/9eEtPnTknhQ">View on Youtube</a></li></ul></div></div>
# Q&A
@@ -48,6 +48,6 @@ Status: TO_CAPTION_QA
18:38.936 Q: Have you used Cucumber/Gherkin/BDD and do you think it has a strong overlap to what you talked about here?
19:54.600 Q: What granularity are you looking for re your org files and contents, with respect to a codebase that it tangles to, or in non-coding contexts?
-"""]]<div>Listen to just the audio:<br /><audio controls preload="none" id="qanda-literate-audio" src="https://media.emacsconf.org/2024/emacsconf-2024-literate--literate-programming-for-the-21st-century--howard-abrams--answers.opus"></audio></div><div></div>Duration: 22:48 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-literate--literate-programming-for-the-21st-century--howard-abrams--answers--chapters.vtt">Download --answers--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-literate--literate-programming-for-the-21st-century--howard-abrams--answers.opus">Download --answers.opus (12MB)</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-literate--literate-programming-for-the-21st-century--howard-abrams--answers.vtt">Download --answers.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-literate--literate-programming-for-the-21st-century--howard-abrams--answers.webm">Download --answers.webm (56MB)</a></li></ul></div></div>
+"""]]<div>Listen to just the audio:<br /><audio controls preload="none" id="qanda-literate-audio" src="https://media.emacsconf.org/2024/emacsconf-2024-literate--literate-programming-for-the-21st-century--howard-abrams--answers.opus"></audio></div><div></div>Duration: 22:48 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-literate--literate-programming-for-the-21st-century--howard-abrams--answers--chapters.vtt">Download --answers--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-literate--literate-programming-for-the-21st-century--howard-abrams--answers.opus">Download --answers.opus (12MB)</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-literate--literate-programming-for-the-21st-century--howard-abrams--answers.vtt">Download --answers.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-literate--literate-programming-for-the-21st-century--howard-abrams--answers.webm">Download --answers.webm (56MB)</a></li><li><a href="https://toobnix.org/w/24cX5V5z399Ym6QJua8Xbn">View on Toobnix</a></li><li><a href="https://www.youtube.com/watch?v=18POj8u06xc">View on Youtube</a></li></ul></div></div>
# Description
<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2024/info/maxima-before.md b/2024/info/maxima-before.md
index acbda4a4..84d8dad2 100644
--- a/2024/info/maxima-before.md
+++ b/2024/info/maxima-before.md
@@ -9,7 +9,7 @@ Status: TO_FOLLOW_UP
# Talk
-<div class="vid mainVideo"><video controls preload="none" id="mainVideo-maxima"><source src="https://media.emacsconf.org/2024/emacsconf-2024-maxima--emacs-eev-and-maxima-now--eduardo-ochs--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-maxima--emacs-eev-and-maxima-now--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: 30:34 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-maxima--emacs-eev-and-maxima-now--eduardo-ochs--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-maxima--emacs-eev-and-maxima-now--eduardo-ochs--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-maxima--emacs-eev-and-maxima-now--eduardo-ochs--main.webm">Download --main.webm (50MB)</a></li><li><a href="https://toobnix.org/w/6odX1p46GQ3XnnRPedgWRr">View on Toobnix</a></li></ul></div></div>
+<div class="vid mainVideo"><video controls preload="none" id="mainVideo-maxima"><source src="https://media.emacsconf.org/2024/emacsconf-2024-maxima--emacs-eev-and-maxima-now--eduardo-ochs--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-maxima--emacs-eev-and-maxima-now--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: 30:34 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-maxima--emacs-eev-and-maxima-now--eduardo-ochs--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-maxima--emacs-eev-and-maxima-now--eduardo-ochs--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-maxima--emacs-eev-and-maxima-now--eduardo-ochs--main.webm">Download --main.webm (50MB)</a></li><li><a href="https://toobnix.org/w/6odX1p46GQ3XnnRPedgWRr">View on Toobnix</a></li><li><a href="https://www.youtube.com/watch?v=vIGreLNBqSg">View on Youtube</a></li></ul></div></div>
# Q&A
diff --git a/2024/info/mcclim-before.md b/2024/info/mcclim-before.md
index 02efd13d..70b4798e 100644
--- a/2024/info/mcclim-before.md
+++ b/2024/info/mcclim-before.md
@@ -15,7 +15,7 @@ Status: TO_CAPTION_QA
19:12.802 Inferior Lisp and McCLIM
29:10.964 Putting things together
-"""]]<div></div>Duration: 34:29 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-mcclim--elisp-and-mcclim--screwlisp--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-mcclim--elisp-and-mcclim--screwlisp--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-mcclim--elisp-and-mcclim--screwlisp--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-mcclim--elisp-and-mcclim--screwlisp--main.webm">Download --main.webm (110MB)</a></li><li><a href="https://toobnix.org/w/pfYUAuMPmkTRfBZSgXFtbT">View on Toobnix</a></li></ul></div></div>
+"""]]<div></div>Duration: 34:29 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-mcclim--elisp-and-mcclim--screwlisp--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-mcclim--elisp-and-mcclim--screwlisp--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-mcclim--elisp-and-mcclim--screwlisp--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-mcclim--elisp-and-mcclim--screwlisp--main.webm">Download --main.webm (110MB)</a></li><li><a href="https://toobnix.org/w/pfYUAuMPmkTRfBZSgXFtbT">View on Toobnix</a></li><li><a href="https://youtu.be/cuJ3qih7408">View on Youtube</a></li></ul></div></div>
# Q&A
@@ -27,6 +27,6 @@ Status: TO_CAPTION_QA
10:43.600 IELM
12:32.880 Q: Are we going to get a McCLIM LambdaMOO client?
-"""]]<div>Listen to just the audio:<br /><audio controls preload="none" id="qanda-mcclim-audio" src="https://media.emacsconf.org/2024/emacsconf-2024-mcclim--elisp-and-mcclim--screwlisp--answers.opus"></audio></div><div></div><div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-mcclim--elisp-and-mcclim--screwlisp--answers--chapters.vtt">Download --answers--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-mcclim--elisp-and-mcclim--screwlisp--answers.opus">Download --answers.opus (6.9MB)</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-mcclim--elisp-and-mcclim--screwlisp--answers.vtt">Download --answers.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-mcclim--elisp-and-mcclim--screwlisp--answers.webm">Download --answers.webm (33MB)</a></li></ul></div></div>
+"""]]<div>Listen to just the audio:<br /><audio controls preload="none" id="qanda-mcclim-audio" src="https://media.emacsconf.org/2024/emacsconf-2024-mcclim--elisp-and-mcclim--screwlisp--answers.opus"></audio></div><div></div><div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-mcclim--elisp-and-mcclim--screwlisp--answers--chapters.vtt">Download --answers--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-mcclim--elisp-and-mcclim--screwlisp--answers.opus">Download --answers.opus (6.9MB)</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-mcclim--elisp-and-mcclim--screwlisp--answers.vtt">Download --answers.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-mcclim--elisp-and-mcclim--screwlisp--answers.webm">Download --answers.webm (33MB)</a></li><li><a href="https://www.youtube.com/watch?v=ot57sGD0XTg">View on Youtube</a></li></ul></div></div>
# Description
<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2024/info/org-update-after.md b/2024/info/org-update-after.md
index 65b01be7..9bfe0ff2 100644
--- a/2024/info/org-update-after.md
+++ b/2024/info/org-update-after.md
@@ -614,7 +614,7 @@
[[!template text="""If you don't like emails at all, you don't want to""" start="00:35:05.120" video="mainVideo-org-update" id="subtitle"]]
[[!template text="""participate in the mailing list, it's not ideal, but I can""" start="00:35:07.280" video="mainVideo-org-update" id="subtitle"]]
[[!template text="""still work with this. I am on IRC, I am on Matrix,""" start="00:35:11.880" video="mainVideo-org-update" id="subtitle"]]
-[[!template text="""you can ping me, it's yantar2.""" start="00:35:16.006" video="mainVideo-org-update" id="subtitle"]]
+[[!template text="""you can ping me, it's yantar92.""" start="00:35:16.006" video="mainVideo-org-update" id="subtitle"]]
[[!template text="""We also have monthly meetup,""" start="00:35:19.800" video="mainVideo-org-update" id="subtitle"]]
[[!template text="""so you can go and ask by voice,""" start="00:35:22.348" video="mainVideo-org-update" id="subtitle"]]
[[!template text="""we can just talk in person, discuss your ideas,""" start="00:35:23.988" video="mainVideo-org-update" id="subtitle"]]
diff --git a/2024/info/org-update-before.md b/2024/info/org-update-before.md
index a5151606..886b43b2 100644
--- a/2024/info/org-update-before.md
+++ b/2024/info/org-update-before.md
@@ -39,7 +39,7 @@ Status: TO_CAPTION_QA
38:30.440 Got no free time, but still want to help?
39:12.997 Thank you
-"""]]<div></div>Duration: 39:35 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-org-update--the-future-of-org--ihor-radchenko--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-org-update--the-future-of-org--ihor-radchenko--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-org-update--the-future-of-org--ihor-radchenko--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-org-update--the-future-of-org--ihor-radchenko--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-org-update--the-future-of-org--ihor-radchenko--main.webm">Download --main.webm (88MB)</a></li><li><a href="https://toobnix.org/w/2DAHY6wCAXnpeSqwUHaidv">View on Toobnix</a></li></ul></div></div>
+"""]]<div></div>Duration: 39:35 minutes<div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2024-org-update">Open Etherpad</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-org-update--the-future-of-org--ihor-radchenko--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-org-update--the-future-of-org--ihor-radchenko--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-org-update--the-future-of-org--ihor-radchenko--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-org-update--the-future-of-org--ihor-radchenko--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-org-update--the-future-of-org--ihor-radchenko--main.webm">Download --main.webm (88MB)</a></li><li><a href="https://toobnix.org/w/2DAHY6wCAXnpeSqwUHaidv">View on Toobnix</a></li><li><a href="https://youtu.be/2RJYcqJsldY">View on Youtube</a></li></ul></div></div>
# Q&A
@@ -54,6 +54,6 @@ Status: TO_CAPTION_QA
26:08.840 microemacs
29:31.920 Q: Is there/could there be a resource with which to recommend particularly well written codebases for review by others?
-"""]]<div>Listen to just the audio:<br /><audio controls preload="none" id="qanda-org-update-audio" src="https://media.emacsconf.org/2024/emacsconf-2024-org-update--the-future-of-org--ihor-radchenko--answers.opus"></audio></div><div></div>Duration: 30:39 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-org-update--the-future-of-org--ihor-radchenko--answers--chapters.vtt">Download --answers--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-org-update--the-future-of-org--ihor-radchenko--answers.opus">Download --answers.opus (16MB)</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-org-update--the-future-of-org--ihor-radchenko--answers.vtt">Download --answers.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-org-update--the-future-of-org--ihor-radchenko--answers.webm">Download --answers.webm (68MB)</a></li></ul></div></div>
+"""]]<div>Listen to just the audio:<br /><audio controls preload="none" id="qanda-org-update-audio" src="https://media.emacsconf.org/2024/emacsconf-2024-org-update--the-future-of-org--ihor-radchenko--answers.opus"></audio></div><div></div>Duration: 30:39 minutes<div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2024-org-update">Open Etherpad</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-org-update--the-future-of-org--ihor-radchenko--answers--chapters.vtt">Download --answers--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-org-update--the-future-of-org--ihor-radchenko--answers.opus">Download --answers.opus (16MB)</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-org-update--the-future-of-org--ihor-radchenko--answers.vtt">Download --answers.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-org-update--the-future-of-org--ihor-radchenko--answers.webm">Download --answers.webm (68MB)</a></li><li><a href="https://toobnix.org/w/jXXgJdCBjM6C1MFqrmqFtQ">View on Toobnix</a></li><li><a href="https://www.youtube.com/watch?v=lqeOvzeYrd0">View on Youtube</a></li></ul></div></div>
# Description
<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2024/info/p-search-before.md b/2024/info/p-search-before.md
index 50d1b382..fc7c8c39 100644
--- a/2024/info/p-search-before.md
+++ b/2024/info/p-search-before.md
@@ -23,7 +23,7 @@ Status: TO_CAPTION_QA
20:40.405 Importance
21:38.560 Complement or inverse
-"""]]<div></div>Duration: 22:42 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-p-search--psearch-a-local-search-engine-in-emacs--zac-romero--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-p-search--psearch-a-local-search-engine-in-emacs--zac-romero--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-p-search--psearch-a-local-search-engine-in-emacs--zac-romero--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-p-search--psearch-a-local-search-engine-in-emacs--zac-romero--main.webm">Download --main.webm (63MB)</a></li><li><a href="https://toobnix.org/w/5dxttHedexYoCLxpT4VyMT">View on Toobnix</a></li></ul></div></div>
+"""]]<div></div>Duration: 22:42 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-p-search--psearch-a-local-search-engine-in-emacs--zac-romero--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-p-search--psearch-a-local-search-engine-in-emacs--zac-romero--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-p-search--psearch-a-local-search-engine-in-emacs--zac-romero--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-p-search--psearch-a-local-search-engine-in-emacs--zac-romero--main.webm">Download --main.webm (63MB)</a></li><li><a href="https://toobnix.org/w/5dxttHedexYoCLxpT4VyMT">View on Toobnix</a></li><li><a href="https://youtu.be/WwgqbT2rnHI">View on Youtube</a></li></ul></div></div>
# Q&A
@@ -53,6 +53,6 @@ Status: TO_CAPTION_QA
40:04.120 Q: Do you think the Emacs being kinda slow will get in the way of being able to run a lot of scoring algorithms?
43:08.640 Boundary conditions
-"""]]<div>Listen to just the audio:<br /><audio controls preload="none" id="qanda-p-search-audio" src="https://media.emacsconf.org/2024/emacsconf-2024-p-search--psearch-a-local-search-engine-in-emacs--zac-romero--answers.opus"></audio></div><div></div><div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-p-search--psearch-a-local-search-engine-in-emacs--zac-romero--answers--chapters.vtt">Download --answers--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-p-search--psearch-a-local-search-engine-in-emacs--zac-romero--answers.opus">Download --answers.opus (25MB)</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-p-search--psearch-a-local-search-engine-in-emacs--zac-romero--answers.vtt">Download --answers.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-p-search--psearch-a-local-search-engine-in-emacs--zac-romero--answers.webm">Download --answers.webm (87MB)</a></li></ul></div></div>
+"""]]<div>Listen to just the audio:<br /><audio controls preload="none" id="qanda-p-search-audio" src="https://media.emacsconf.org/2024/emacsconf-2024-p-search--psearch-a-local-search-engine-in-emacs--zac-romero--answers.opus"></audio></div><div></div><div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-p-search--psearch-a-local-search-engine-in-emacs--zac-romero--answers--chapters.vtt">Download --answers--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-p-search--psearch-a-local-search-engine-in-emacs--zac-romero--answers.opus">Download --answers.opus (25MB)</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-p-search--psearch-a-local-search-engine-in-emacs--zac-romero--answers.vtt">Download --answers.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-p-search--psearch-a-local-search-engine-in-emacs--zac-romero--answers.webm">Download --answers.webm (87MB)</a></li><li><a href="https://toobnix.org/w/sh5Qns9GeqHwFwbTEMhckh">View on Toobnix</a></li><li><a href="https://www.youtube.com/watch?v=BrT0tlyUgMk">View on Youtube</a></li></ul></div></div>
# Description
<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2024/info/papers-before.md b/2024/info/papers-before.md
index 7a55a409..46876d15 100644
--- a/2024/info/papers-before.md
+++ b/2024/info/papers-before.md
@@ -23,7 +23,7 @@ Status: TO_CAPTION_QA
07:09.720 Examples
07:41.240 Tags
-"""]]<div></div>Duration: 10:07 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-papers--writing-academic-papers-in-orgroam--vincent-conus--images.zip">Download --images.zip</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-papers--writing-academic-papers-in-orgroam--vincent-conus--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-papers--writing-academic-papers-in-orgroam--vincent-conus--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-papers--writing-academic-papers-in-orgroam--vincent-conus--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-papers--writing-academic-papers-in-orgroam--vincent-conus--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-papers--writing-academic-papers-in-orgroam--vincent-conus--main.webm">Download --main.webm (35MB)</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-papers--writing-academic-papers-in-orgroam--vincent-conus--slides.org">Download --slides.org</a></li><li><a href="https://toobnix.org/w/9LYtH8MWCMZ7N4DNteys17">View on Toobnix</a></li></ul></div></div>
+"""]]<div></div>Duration: 10:07 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-papers--writing-academic-papers-in-orgroam--vincent-conus--images.zip">Download --images.zip</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-papers--writing-academic-papers-in-orgroam--vincent-conus--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-papers--writing-academic-papers-in-orgroam--vincent-conus--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-papers--writing-academic-papers-in-orgroam--vincent-conus--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-papers--writing-academic-papers-in-orgroam--vincent-conus--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-papers--writing-academic-papers-in-orgroam--vincent-conus--main.webm">Download --main.webm (35MB)</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-papers--writing-academic-papers-in-orgroam--vincent-conus--slides.org">Download --slides.org</a></li><li><a href="https://toobnix.org/w/9LYtH8MWCMZ7N4DNteys17">View on Toobnix</a></li><li><a href="https://youtu.be/BKQcgpZS2GM">View on Youtube</a></li></ul></div></div>
# Q&A
@@ -37,6 +37,6 @@ Status: TO_CAPTION_QA
14:21.160 Q: Are you using zotra or org-ref?
14:45.120 Q: How much of this is tied to org-roam specifically?
-"""]]<div>Listen to just the audio:<br /><audio controls preload="none" id="qanda-papers-audio" src="https://media.emacsconf.org/2024/emacsconf-2024-papers--writing-academic-papers-in-orgroam--vincent-conus--answers.opus"></audio></div><div></div>Duration: 19:01 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-papers--writing-academic-papers-in-orgroam--vincent-conus--answers--chapters.vtt">Download --answers--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-papers--writing-academic-papers-in-orgroam--vincent-conus--answers.opus">Download --answers.opus (9.9MB)</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-papers--writing-academic-papers-in-orgroam--vincent-conus--answers.vtt">Download --answers.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-papers--writing-academic-papers-in-orgroam--vincent-conus--answers.webm">Download --answers.webm (34MB)</a></li></ul></div></div>
+"""]]<div>Listen to just the audio:<br /><audio controls preload="none" id="qanda-papers-audio" src="https://media.emacsconf.org/2024/emacsconf-2024-papers--writing-academic-papers-in-orgroam--vincent-conus--answers.opus"></audio></div><div></div>Duration: 19:01 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-papers--writing-academic-papers-in-orgroam--vincent-conus--answers--chapters.vtt">Download --answers--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-papers--writing-academic-papers-in-orgroam--vincent-conus--answers.opus">Download --answers.opus (9.9MB)</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-papers--writing-academic-papers-in-orgroam--vincent-conus--answers.vtt">Download --answers.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-papers--writing-academic-papers-in-orgroam--vincent-conus--answers.webm">Download --answers.webm (34MB)</a></li><li><a href="https://toobnix.org/w/tC5hnamhUC8PJrrMdXsLXJ">View on Toobnix</a></li><li><a href="https://youtu.be/ujUX4vC5TKg">View on Youtube</a></li></ul></div></div>
# Description
<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2024/info/pgmacs-before.md b/2024/info/pgmacs-before.md
index b08174a2..1770f8ee 100644
--- a/2024/info/pgmacs-before.md
+++ b/2024/info/pgmacs-before.md
@@ -22,7 +22,7 @@ Status: TO_CAPTION_QA
09:36.250 Extending pgmacs
11:49.400 Conclusion
-"""]]<div></div>Duration: 13:17 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-pgmacs--pgmacs-browsing-and-editing-postgresql-databases-from-emacs--eric-marsden--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-pgmacs--pgmacs-browsing-and-editing-postgresql-databases-from-emacs--eric-marsden--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-pgmacs--pgmacs-browsing-and-editing-postgresql-databases-from-emacs--eric-marsden--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-pgmacs--pgmacs-browsing-and-editing-postgresql-databases-from-emacs--eric-marsden--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-pgmacs--pgmacs-browsing-and-editing-postgresql-databases-from-emacs--eric-marsden--main.webm">Download --main.webm (43MB)</a></li></ul></div></div>
+"""]]<div></div>Duration: 13:17 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-pgmacs--pgmacs-browsing-and-editing-postgresql-databases-from-emacs--eric-marsden--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-pgmacs--pgmacs-browsing-and-editing-postgresql-databases-from-emacs--eric-marsden--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-pgmacs--pgmacs-browsing-and-editing-postgresql-databases-from-emacs--eric-marsden--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-pgmacs--pgmacs-browsing-and-editing-postgresql-databases-from-emacs--eric-marsden--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-pgmacs--pgmacs-browsing-and-editing-postgresql-databases-from-emacs--eric-marsden--main.webm">Download --main.webm (43MB)</a></li><li><a href="https://youtu.be/BLs9gc_MLh0">View on Youtube</a></li></ul></div></div>
# Q&A
@@ -35,6 +35,6 @@ Status: TO_CAPTION_QA
16:53.850 Q: What do you use for the in-buffer tables? Vtable?
18:16.640 Integrating with Emacs 30?
-"""]]<div>Listen to just the audio:<br /><audio controls preload="none" id="qanda-pgmacs-audio" src="https://media.emacsconf.org/2024/emacsconf-2024-pgmacs--pgmacs-browsing-and-editing-postgresql-databases-from-emacs--eric-marsden--answers.opus"></audio></div><div></div>Duration: 20:02 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-pgmacs--pgmacs-browsing-and-editing-postgresql-databases-from-emacs--eric-marsden--answers--chapters.vtt">Download --answers--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-pgmacs--pgmacs-browsing-and-editing-postgresql-databases-from-emacs--eric-marsden--answers.opus">Download --answers.opus (12MB)</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-pgmacs--pgmacs-browsing-and-editing-postgresql-databases-from-emacs--eric-marsden--answers.vtt">Download --answers.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-pgmacs--pgmacs-browsing-and-editing-postgresql-databases-from-emacs--eric-marsden--answers.webm">Download --answers.webm (38MB)</a></li></ul></div></div>
+"""]]<div>Listen to just the audio:<br /><audio controls preload="none" id="qanda-pgmacs-audio" src="https://media.emacsconf.org/2024/emacsconf-2024-pgmacs--pgmacs-browsing-and-editing-postgresql-databases-from-emacs--eric-marsden--answers.opus"></audio></div><div></div>Duration: 20:02 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-pgmacs--pgmacs-browsing-and-editing-postgresql-databases-from-emacs--eric-marsden--answers--chapters.vtt">Download --answers--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-pgmacs--pgmacs-browsing-and-editing-postgresql-databases-from-emacs--eric-marsden--answers.opus">Download --answers.opus (12MB)</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-pgmacs--pgmacs-browsing-and-editing-postgresql-databases-from-emacs--eric-marsden--answers.vtt">Download --answers.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-pgmacs--pgmacs-browsing-and-editing-postgresql-databases-from-emacs--eric-marsden--answers.webm">Download --answers.webm (38MB)</a></li><li><a href="https://toobnix.org/w/6nLCiZDJECF1uP9fc54gJQ">View on Toobnix</a></li><li><a href="https://www.youtube.com/watch?v=RBS-A-2EboQ">View on Youtube</a></li></ul></div></div>
# Description
<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2024/info/project-before.md b/2024/info/project-before.md
index 10db6b6a..dd34cb38 100644
--- a/2024/info/project-before.md
+++ b/2024/info/project-before.md
@@ -30,7 +30,7 @@ Status: TO_CAPTION_QA
19:49.640 Conclusions
20:34.520 Acknowledgements
-"""]]<div></div>Duration: 21:38 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-project--managing-writing-project-metadata-with-orgmode--blaine-mooers--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-project--managing-writing-project-metadata-with-orgmode--blaine-mooers--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-project--managing-writing-project-metadata-with-orgmode--blaine-mooers--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-project--managing-writing-project-metadata-with-orgmode--blaine-mooers--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-project--managing-writing-project-metadata-with-orgmode--blaine-mooers--main.webm">Download --main.webm (50MB)</a></li><li><a href="https://toobnix.org/w/dEiXtAr3p16hD3atJk78Ex">View on Toobnix</a></li></ul></div></div>
+"""]]<div></div>Duration: 21:38 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-project--managing-writing-project-metadata-with-orgmode--blaine-mooers--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-project--managing-writing-project-metadata-with-orgmode--blaine-mooers--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-project--managing-writing-project-metadata-with-orgmode--blaine-mooers--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-project--managing-writing-project-metadata-with-orgmode--blaine-mooers--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-project--managing-writing-project-metadata-with-orgmode--blaine-mooers--main.webm">Download --main.webm (50MB)</a></li><li><a href="https://toobnix.org/w/dEiXtAr3p16hD3atJk78Ex">View on Toobnix</a></li><li><a href="https://youtu.be/Wn38JmqyTbk">View on Youtube</a></li></ul></div></div>
# Q&A
@@ -47,6 +47,6 @@ Status: TO_CAPTION_QA
52:48.680 Org Mode versus Markdown
56:28.560 Raku
-"""]]<div>Listen to just the audio:<br /><audio controls preload="none" id="qanda-project-audio" src="https://media.emacsconf.org/2024/emacsconf-2024-project--managing-writing-project-metadata-with-orgmode--blaine-mooers--answers.opus"></audio></div><div></div>Duration: 1:02:41 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-project--managing-writing-project-metadata-with-orgmode--blaine-mooers--answers--chapters.vtt">Download --answers--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-project--managing-writing-project-metadata-with-orgmode--blaine-mooers--answers.opus">Download --answers.opus (33MB)</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-project--managing-writing-project-metadata-with-orgmode--blaine-mooers--answers.vtt">Download --answers.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-project--managing-writing-project-metadata-with-orgmode--blaine-mooers--answers.webm">Download --answers.webm (94MB)</a></li></ul></div></div>
+"""]]<div>Listen to just the audio:<br /><audio controls preload="none" id="qanda-project-audio" src="https://media.emacsconf.org/2024/emacsconf-2024-project--managing-writing-project-metadata-with-orgmode--blaine-mooers--answers.opus"></audio></div><div></div>Duration: 1:02:41 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-project--managing-writing-project-metadata-with-orgmode--blaine-mooers--answers--chapters.vtt">Download --answers--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-project--managing-writing-project-metadata-with-orgmode--blaine-mooers--answers.opus">Download --answers.opus (33MB)</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-project--managing-writing-project-metadata-with-orgmode--blaine-mooers--answers.vtt">Download --answers.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-project--managing-writing-project-metadata-with-orgmode--blaine-mooers--answers.webm">Download --answers.webm (94MB)</a></li><li><a href="https://toobnix.org/w/oNdkFWvoxz8mXXtBTCiruv">View on Toobnix</a></li><li><a href="https://www.youtube.com/watch?v=ZJUao__OjBw">View on Youtube</a></li></ul></div></div>
# Description
<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2024/info/regex-before.md b/2024/info/regex-before.md
index 83e05a1e..b8bf89db 100644
--- a/2024/info/regex-before.md
+++ b/2024/info/regex-before.md
@@ -7,6 +7,6 @@ Status: TO_FOLLOW_UP
-<div class="vid mainVideo"><video controls preload="none" id="mainVideo-regex"><source src="https://media.emacsconf.org/2024/emacsconf-2024-regex--emacs-regex-compilation-and-future-directions-for-expressive-pattern-matching--danny-mcclanahan--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-regex--emacs-regex-compilation-and-future-directions-for-expressive-pattern-matching--danny-mcclanahan--main.vtt" default />"""<p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video><div></div>Duration: 24:56 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-regex--emacs-regex-compilation-and-future-directions-for-expressive-pattern-matching--danny-mcclanahan--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-regex--emacs-regex-compilation-and-future-directions-for-expressive-pattern-matching--danny-mcclanahan--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-regex--emacs-regex-compilation-and-future-directions-for-expressive-pattern-matching--danny-mcclanahan--main.webm">Download --main.webm (199MB)</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-regex--emacs-regex-compilation-and-future-directions-for-expressive-pattern-matching--danny-mcclanahan--slides.pdf">Download --slides.pdf</a></li><li><a href="https://toobnix.org/w/q6Mhn7TPtDi7acd6y3KtRf">View on Toobnix</a></li></ul></div></div>
+<div class="vid mainVideo"><video controls preload="none" id="mainVideo-regex"><source src="https://media.emacsconf.org/2024/emacsconf-2024-regex--emacs-regex-compilation-and-future-directions-for-expressive-pattern-matching--danny-mcclanahan--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-regex--emacs-regex-compilation-and-future-directions-for-expressive-pattern-matching--danny-mcclanahan--main.vtt" default />"""<p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video><div></div>Duration: 24:56 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-regex--emacs-regex-compilation-and-future-directions-for-expressive-pattern-matching--danny-mcclanahan--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-regex--emacs-regex-compilation-and-future-directions-for-expressive-pattern-matching--danny-mcclanahan--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-regex--emacs-regex-compilation-and-future-directions-for-expressive-pattern-matching--danny-mcclanahan--main.webm">Download --main.webm (199MB)</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-regex--emacs-regex-compilation-and-future-directions-for-expressive-pattern-matching--danny-mcclanahan--slides.pdf">Download --slides.pdf</a></li><li><a href="https://toobnix.org/w/q6Mhn7TPtDi7acd6y3KtRf">View on Toobnix</a></li><li><a href="https://www.youtube.com/watch?v=v3Bl8VLaLqg">View on Youtube</a></li></ul></div></div>
# Description
<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2024/info/rust-before.md b/2024/info/rust-before.md
index 303796ae..fcd31ab7 100644
--- a/2024/info/rust-before.md
+++ b/2024/info/rust-before.md
@@ -41,7 +41,7 @@ Status: TO_CAPTION_QA
19:07.247 Next directions
19:22.739 How to get involved
-"""]]<div></div>Duration: 20:06 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-rust--an-experimental-emacs-core-in-rust--troy-hinckley--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-rust--an-experimental-emacs-core-in-rust--troy-hinckley--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-rust--an-experimental-emacs-core-in-rust--troy-hinckley--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-rust--an-experimental-emacs-core-in-rust--troy-hinckley--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-rust--an-experimental-emacs-core-in-rust--troy-hinckley--main.webm">Download --main.webm (46MB)</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-rust--an-experimental-emacs-core-in-rust--troy-hinckley--slides.org">Download --slides.org</a></li><li><a href="https://toobnix.org/w/wYBo5m5jsiu1JUfcHzdhhu">View on Toobnix</a></li></ul></div></div>
+"""]]<div></div>Duration: 20:06 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-rust--an-experimental-emacs-core-in-rust--troy-hinckley--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-rust--an-experimental-emacs-core-in-rust--troy-hinckley--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-rust--an-experimental-emacs-core-in-rust--troy-hinckley--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-rust--an-experimental-emacs-core-in-rust--troy-hinckley--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-rust--an-experimental-emacs-core-in-rust--troy-hinckley--main.webm">Download --main.webm (46MB)</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-rust--an-experimental-emacs-core-in-rust--troy-hinckley--slides.org">Download --slides.org</a></li><li><a href="https://toobnix.org/w/wYBo5m5jsiu1JUfcHzdhhu">View on Toobnix</a></li><li><a href="https://youtu.be/629ct-cBwSI">View on Youtube</a></li></ul></div></div>
# Q&A
@@ -61,6 +61,6 @@ Status: TO_CAPTION_QA
14:20.100 Q: Is it possible to bootstrap with just the bytecode interpreter?
17:03.960 What would it take to bootstrap Guile in Rune?
-"""]]<div>Listen to just the audio:<br /><audio controls preload="none" id="qanda-rust-audio" src="https://media.emacsconf.org/2024/emacsconf-2024-rust--an-experimental-emacs-core-in-rust--troy-hinckley--answers.opus"></audio></div><div></div>Duration: 19:15 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-rust--an-experimental-emacs-core-in-rust--troy-hinckley--answers--chapters.vtt">Download --answers--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-rust--an-experimental-emacs-core-in-rust--troy-hinckley--answers.opus">Download --answers.opus (9.8MB)</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-rust--an-experimental-emacs-core-in-rust--troy-hinckley--answers.vtt">Download --answers.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-rust--an-experimental-emacs-core-in-rust--troy-hinckley--answers.webm">Download --answers.webm (42MB)</a></li></ul></div></div>
+"""]]<div>Listen to just the audio:<br /><audio controls preload="none" id="qanda-rust-audio" src="https://media.emacsconf.org/2024/emacsconf-2024-rust--an-experimental-emacs-core-in-rust--troy-hinckley--answers.opus"></audio></div><div></div>Duration: 19:15 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-rust--an-experimental-emacs-core-in-rust--troy-hinckley--answers--chapters.vtt">Download --answers--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-rust--an-experimental-emacs-core-in-rust--troy-hinckley--answers.opus">Download --answers.opus (9.8MB)</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-rust--an-experimental-emacs-core-in-rust--troy-hinckley--answers.vtt">Download --answers.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-rust--an-experimental-emacs-core-in-rust--troy-hinckley--answers.webm">Download --answers.webm (42MB)</a></li><li><a href="https://toobnix.org/w/8n3SZoZGuon4C2tyHhAd2H">View on Toobnix</a></li><li><a href="https://www.youtube.com/watch?v=sBpTP0kJV-g">View on Youtube</a></li></ul></div></div>
# Description
<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2024/info/sat-open-before.md b/2024/info/sat-open-before.md
index b6bd7c01..e0edf012 100644
--- a/2024/info/sat-open-before.md
+++ b/2024/info/sat-open-before.md
@@ -20,6 +20,6 @@ Status: TO_FOLLOW_UP
04:37.333 emacsconf-discuss updates
04:42.249 Let's go!
-"""]]<div></div>Duration: 04:50 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-sat-open--saturday-opening-remarks--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-sat-open--saturday-opening-remarks--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-sat-open--saturday-opening-remarks--main.vtt">Download --main.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-sat-open--saturday-opening-remarks--main.webm">Download --main.webm (16MB)</a></li><li><a href="https://toobnix.org/w/19MY8JrR2x6uJRdWAMgASK">View on Toobnix</a></li></ul></div></div>
+"""]]<div></div>Duration: 04:50 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-sat-open--saturday-opening-remarks--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-sat-open--saturday-opening-remarks--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-sat-open--saturday-opening-remarks--main.vtt">Download --main.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-sat-open--saturday-opening-remarks--main.webm">Download --main.webm (16MB)</a></li><li><a href="https://toobnix.org/w/19MY8JrR2x6uJRdWAMgASK">View on Toobnix</a></li><li><a href="https://youtu.be/YrlAfWfgvIQ">View on Youtube</a></li></ul></div></div>
# Description
<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2024/info/sharing-before.md b/2024/info/sharing-before.md
index ab783b78..e3154751 100644
--- a/2024/info/sharing-before.md
+++ b/2024/info/sharing-before.md
@@ -28,6 +28,6 @@ Status: TO_FOLLOW_UP
18:06.166 Your secret sauce
19:04.933 Cons of YouTube
-"""]]<div></div>Duration: 21:40 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-sharing--so-you-want-to-be-an-emacsfluencer--gopar--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-sharing--so-you-want-to-be-an-emacsfluencer--gopar--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-sharing--so-you-want-to-be-an-emacsfluencer--gopar--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-sharing--so-you-want-to-be-an-emacsfluencer--gopar--main.webm">Download --main.webm (64MB)</a></li><li><a href="https://toobnix.org/w/a8CwD5Svj5AeX3rdzLxyP7">View on Toobnix</a></li></ul></div></div>
+"""]]<div></div>Duration: 21:40 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-sharing--so-you-want-to-be-an-emacsfluencer--gopar--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-sharing--so-you-want-to-be-an-emacsfluencer--gopar--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-sharing--so-you-want-to-be-an-emacsfluencer--gopar--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-sharing--so-you-want-to-be-an-emacsfluencer--gopar--main.webm">Download --main.webm (64MB)</a></li><li><a href="https://toobnix.org/w/a8CwD5Svj5AeX3rdzLxyP7">View on Toobnix</a></li><li><a href="https://youtu.be/0EF-jNk5kUY">View on Youtube</a></li></ul></div></div>
# Description
<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2024/info/shell-before.md b/2024/info/shell-before.md
index 18b88f61..6003d0e5 100644
--- a/2024/info/shell-before.md
+++ b/2024/info/shell-before.md
@@ -23,6 +23,6 @@ Status: TO_FOLLOW_UP
34:21.128 Login shell
36:36.980 Resources
-"""]]<div></div>Duration: 37:13 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-shell--emacs-as-a-shell--christopher-howard--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-shell--emacs-as-a-shell--christopher-howard--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-shell--emacs-as-a-shell--christopher-howard--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-shell--emacs-as-a-shell--christopher-howard--main.webm">Download --main.webm (87MB)</a></li><li><a href="https://toobnix.org/w/hJ11FBLcpEF4cMxMpJi3FE">View on Toobnix</a></li></ul></div></div>
+"""]]<div></div>Duration: 37:13 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-shell--emacs-as-a-shell--christopher-howard--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-shell--emacs-as-a-shell--christopher-howard--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-shell--emacs-as-a-shell--christopher-howard--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-shell--emacs-as-a-shell--christopher-howard--main.webm">Download --main.webm (87MB)</a></li><li><a href="https://toobnix.org/w/hJ11FBLcpEF4cMxMpJi3FE">View on Toobnix</a></li><li><a href="https://youtu.be/jhX8wz8LeXE">View on Youtube</a></li></ul></div></div>
# Description
<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2024/info/students-before.md b/2024/info/students-before.md
index 3fb83974..9358f56c 100644
--- a/2024/info/students-before.md
+++ b/2024/info/students-before.md
@@ -9,7 +9,7 @@ Status: TO_CAPTION_QA
# Talk
-<div class="vid mainVideo"><video controls preload="none" id="mainVideo-students"><source src="https://media.emacsconf.org/2024/emacsconf-2024-students--an-example-of-a-cohesive-student-workflow-in-emacs--daniel-pinkston--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-students--an-example-of-a-cohesive-student-workflow-in-emacs--daniel-pinkston--main.vtt" default />"""<p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video><div></div>Duration: 08:27 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-students--an-example-of-a-cohesive-student-workflow-in-emacs--daniel-pinkston--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-students--an-example-of-a-cohesive-student-workflow-in-emacs--daniel-pinkston--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-students--an-example-of-a-cohesive-student-workflow-in-emacs--daniel-pinkston--main.webm">Download --main.webm (15MB)</a></li><li><a href="https://toobnix.org/w/kBVhYEDpS6mvUPWLeQHGn1">View on Toobnix</a></li></ul></div></div>
+<div class="vid mainVideo"><video controls preload="none" id="mainVideo-students"><source src="https://media.emacsconf.org/2024/emacsconf-2024-students--an-example-of-a-cohesive-student-workflow-in-emacs--daniel-pinkston--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-students--an-example-of-a-cohesive-student-workflow-in-emacs--daniel-pinkston--main.vtt" default />"""<p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video><div></div>Duration: 08:27 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-students--an-example-of-a-cohesive-student-workflow-in-emacs--daniel-pinkston--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-students--an-example-of-a-cohesive-student-workflow-in-emacs--daniel-pinkston--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-students--an-example-of-a-cohesive-student-workflow-in-emacs--daniel-pinkston--main.webm">Download --main.webm (15MB)</a></li><li><a href="https://toobnix.org/w/kBVhYEDpS6mvUPWLeQHGn1">View on Toobnix</a></li><li><a href="https://www.youtube.com/watch?v=7WTIKv5g6mw">View on Youtube</a></li></ul></div></div>
# Q&A
@@ -25,6 +25,6 @@ Status: TO_CAPTION_QA
15:21.920 Q: Has using emacs led to expanded interest in programming/computer science?
16:40.672 Q: How does interaction with others work in technical terms?
-"""]]<div>Listen to just the audio:<br /><audio controls preload="none" id="qanda-students-audio" src="https://media.emacsconf.org/2024/emacsconf-2024-students--an-example-of-a-cohesive-student-workflow-in-emacs--daniel-pinkston--answers.opus"></audio></div><div></div><div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-students--an-example-of-a-cohesive-student-workflow-in-emacs--daniel-pinkston--answers--chapters.vtt">Download --answers--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-students--an-example-of-a-cohesive-student-workflow-in-emacs--daniel-pinkston--answers.json">Download --answers.json</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-students--an-example-of-a-cohesive-student-workflow-in-emacs--daniel-pinkston--answers.opus">Download --answers.opus (9.9MB)</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-students--an-example-of-a-cohesive-student-workflow-in-emacs--daniel-pinkston--answers.srt">Download --answers.srt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-students--an-example-of-a-cohesive-student-workflow-in-emacs--daniel-pinkston--answers.tsv">Download --answers.tsv</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-students--an-example-of-a-cohesive-student-workflow-in-emacs--daniel-pinkston--answers.txt">Download --answers.txt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-students--an-example-of-a-cohesive-student-workflow-in-emacs--daniel-pinkston--answers.vtt">Download --answers.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-students--an-example-of-a-cohesive-student-workflow-in-emacs--daniel-pinkston--answers.webm">Download --answers.webm (47MB)</a></li></ul></div></div>
+"""]]<div>Listen to just the audio:<br /><audio controls preload="none" id="qanda-students-audio" src="https://media.emacsconf.org/2024/emacsconf-2024-students--an-example-of-a-cohesive-student-workflow-in-emacs--daniel-pinkston--answers.opus"></audio></div><div></div><div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-students--an-example-of-a-cohesive-student-workflow-in-emacs--daniel-pinkston--answers--chapters.vtt">Download --answers--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-students--an-example-of-a-cohesive-student-workflow-in-emacs--daniel-pinkston--answers.json">Download --answers.json</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-students--an-example-of-a-cohesive-student-workflow-in-emacs--daniel-pinkston--answers.opus">Download --answers.opus (9.9MB)</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-students--an-example-of-a-cohesive-student-workflow-in-emacs--daniel-pinkston--answers.srt">Download --answers.srt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-students--an-example-of-a-cohesive-student-workflow-in-emacs--daniel-pinkston--answers.tsv">Download --answers.tsv</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-students--an-example-of-a-cohesive-student-workflow-in-emacs--daniel-pinkston--answers.txt">Download --answers.txt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-students--an-example-of-a-cohesive-student-workflow-in-emacs--daniel-pinkston--answers.vtt">Download --answers.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-students--an-example-of-a-cohesive-student-workflow-in-emacs--daniel-pinkston--answers.webm">Download --answers.webm (47MB)</a></li><li><a href="https://toobnix.org/w/tL6A2r56AJ89K2yuxqQNXe">View on Toobnix</a></li><li><a href="https://www.youtube.com/watch?v=1enIJIW2P_w">View on Youtube</a></li></ul></div></div>
# Description
<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2024/info/sun-open-before.md b/2024/info/sun-open-before.md
index e5461c70..ed155b5e 100644
--- a/2024/info/sun-open-before.md
+++ b/2024/info/sun-open-before.md
@@ -7,6 +7,6 @@ Status: All done
-<div class="vid mainVideo"><video controls preload="none" id="mainVideo-sun-open"><source src="https://media.emacsconf.org/2024/emacsconf-2024-sun-open--sunday-opening-remarks--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-sun-open--sunday-opening-remarks--main.vtt" default />"""<p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video><div></div>Duration: 04:37 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-sun-open--sunday-opening-remarks--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-sun-open--sunday-opening-remarks--main.vtt">Download --main.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-sun-open--sunday-opening-remarks--main.webm">Download --main.webm (18MB)</a></li></ul></div></div>
+<div class="vid mainVideo"><video controls preload="none" id="mainVideo-sun-open"><source src="https://media.emacsconf.org/2024/emacsconf-2024-sun-open--sunday-opening-remarks--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-sun-open--sunday-opening-remarks--main.vtt" default />"""<p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video><div></div>Duration: 04:37 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-sun-open--sunday-opening-remarks--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-sun-open--sunday-opening-remarks--main.vtt">Download --main.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-sun-open--sunday-opening-remarks--main.webm">Download --main.webm (18MB)</a></li><li><a href="https://youtu.be/l8F4C77R4v8">View on Youtube</a></li></ul></div></div>
# Description
<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2024/info/theme-before.md b/2024/info/theme-before.md
index 7d8e7874..8a945375 100644
--- a/2024/info/theme-before.md
+++ b/2024/info/theme-before.md
@@ -20,7 +20,7 @@ Status: TO_CAPTION_QA
07:19.780 How to pick a random color palette
08:12.070 XYZ
-"""]]<div></div>Duration: 11:28 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-theme--my-journey-of-finding-and-creating-the-perfect-emacs-theme--metrowind--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-theme--my-journey-of-finding-and-creating-the-perfect-emacs-theme--metrowind--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-theme--my-journey-of-finding-and-creating-the-perfect-emacs-theme--metrowind--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-theme--my-journey-of-finding-and-creating-the-perfect-emacs-theme--metrowind--main.webm">Download --main.webm (30MB)</a></li><li><a href="https://toobnix.org/w/i1zSnandCQWd8688pyxhKr">View on Toobnix</a></li></ul></div></div>
+"""]]<div></div>Duration: 11:28 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-theme--my-journey-of-finding-and-creating-the-perfect-emacs-theme--metrowind--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-theme--my-journey-of-finding-and-creating-the-perfect-emacs-theme--metrowind--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-theme--my-journey-of-finding-and-creating-the-perfect-emacs-theme--metrowind--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-theme--my-journey-of-finding-and-creating-the-perfect-emacs-theme--metrowind--main.webm">Download --main.webm (30MB)</a></li><li><a href="https://toobnix.org/w/i1zSnandCQWd8688pyxhKr">View on Toobnix</a></li><li><a href="https://youtu.be/GMzQs-pbueU">View on Youtube</a></li></ul></div></div>
# Q&A
@@ -30,6 +30,6 @@ Status: TO_CAPTION_QA
02:43.720 Q: One area I see emacs able to do themes that is "underused?" is changing the font
08:53.461 Q: Have you ever kept any of the random themes that were thrown up?
-"""]]<div>Listen to just the audio:<br /><audio controls preload="none" id="qanda-theme-audio" src="https://media.emacsconf.org/2024/emacsconf-2024-theme--my-journey-of-finding-and-creating-the-perfect-emacs-theme--metrowind--answers.opus"></audio></div><div></div>Duration: 09:51 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-theme--my-journey-of-finding-and-creating-the-perfect-emacs-theme--metrowind--answers--chapters.vtt">Download --answers--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-theme--my-journey-of-finding-and-creating-the-perfect-emacs-theme--metrowind--answers--main--chapters.vtt">Download --answers--main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-theme--my-journey-of-finding-and-creating-the-perfect-emacs-theme--metrowind--answers--main.vtt">Download --answers--main.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-theme--my-journey-of-finding-and-creating-the-perfect-emacs-theme--metrowind--answers.opus">Download --answers.opus (5.2MB)</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-theme--my-journey-of-finding-and-creating-the-perfect-emacs-theme--metrowind--answers.vtt">Download --answers.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-theme--my-journey-of-finding-and-creating-the-perfect-emacs-theme--metrowind--answers.webm">Download --answers.webm (16MB)</a></li></ul></div></div>
+"""]]<div>Listen to just the audio:<br /><audio controls preload="none" id="qanda-theme-audio" src="https://media.emacsconf.org/2024/emacsconf-2024-theme--my-journey-of-finding-and-creating-the-perfect-emacs-theme--metrowind--answers.opus"></audio></div><div></div>Duration: 09:51 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-theme--my-journey-of-finding-and-creating-the-perfect-emacs-theme--metrowind--answers--chapters.vtt">Download --answers--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-theme--my-journey-of-finding-and-creating-the-perfect-emacs-theme--metrowind--answers--main--chapters.vtt">Download --answers--main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-theme--my-journey-of-finding-and-creating-the-perfect-emacs-theme--metrowind--answers--main.vtt">Download --answers--main.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-theme--my-journey-of-finding-and-creating-the-perfect-emacs-theme--metrowind--answers.opus">Download --answers.opus (5.2MB)</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-theme--my-journey-of-finding-and-creating-the-perfect-emacs-theme--metrowind--answers.vtt">Download --answers.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-theme--my-journey-of-finding-and-creating-the-perfect-emacs-theme--metrowind--answers.webm">Download --answers.webm (16MB)</a></li><li><a href="https://toobnix.org/w/sqEJFjcC2KjnPZRmifpqLC">View on Toobnix</a></li><li><a href="https://www.youtube.com/watch?v=2xiyUItX5Gw">View on Youtube</a></li></ul></div></div>
# Description
<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2024/info/transducers-after.md b/2024/info/transducers-after.md
index 8dbe9101..3995e5c1 100644
--- a/2024/info/transducers-after.md
+++ b/2024/info/transducers-after.md
@@ -397,7 +397,7 @@ Captioner: sachac
[[!template text="""Hopefully the internet goes well. It's a nice Monday""" start="00:00:00.000" video="qanda-transducers" id="subtitle"]]
[[!template text="""morning here in Tokyo.""" start="00:00:07.560" video="qanda-transducers" id="subtitle"]]
[[!template text="""Are we connected all right?""" start="00:00:32.000" video="qanda-transducers" id="subtitle"]]
-[[!template text="""Okay, I seem to be struggling still with my audio. 1 2nd""" start="00:00:37.880" video="qanda-transducers" id="subtitle"]]
+[[!template text="""Okay, I seem to be struggling still with my audio. One second...""" start="00:00:37.880" video="qanda-transducers" id="subtitle"]]
[[!template text="""calling. Yeah, you were muted for a moment there. Okay,""" start="00:00:40.880" video="qanda-transducers" id="subtitle"]]
[[!template text="""there we are. Okay. All right. Sorry about that. I got a mute""" start="00:00:44.520" video="qanda-transducers" id="subtitle"]]
[[!template text="""out my, my back office chatter. That's kind of distracting""" start="00:00:49.960" video="qanda-transducers" id="subtitle"]]
diff --git a/2024/info/transducers-before.md b/2024/info/transducers-before.md
index 01347152..bd531257 100644
--- a/2024/info/transducers-before.md
+++ b/2024/info/transducers-before.md
@@ -23,7 +23,7 @@ Status: TO_CAPTION_QA
20:00.520 Transducers in the wild - CSV
26:03.240 Issues and next steps
-"""]]<div></div>Duration: 26:51 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-transducers--transducers-finally-ergonomic-data-processing-for-emacs--colin-woodbury--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-transducers--transducers-finally-ergonomic-data-processing-for-emacs--colin-woodbury--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-transducers--transducers-finally-ergonomic-data-processing-for-emacs--colin-woodbury--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-transducers--transducers-finally-ergonomic-data-processing-for-emacs--colin-woodbury--main.json">Download --main.json</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-transducers--transducers-finally-ergonomic-data-processing-for-emacs--colin-woodbury--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-transducers--transducers-finally-ergonomic-data-processing-for-emacs--colin-woodbury--main.webm">Download --main.webm (52MB)</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-transducers--transducers-finally-ergonomic-data-processing-for-emacs--colin-woodbury--silence.webm">Download --silence.webm</a></li></ul></div></div>
+"""]]<div></div>Duration: 26:51 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-transducers--transducers-finally-ergonomic-data-processing-for-emacs--colin-woodbury--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-transducers--transducers-finally-ergonomic-data-processing-for-emacs--colin-woodbury--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-transducers--transducers-finally-ergonomic-data-processing-for-emacs--colin-woodbury--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-transducers--transducers-finally-ergonomic-data-processing-for-emacs--colin-woodbury--main.json">Download --main.json</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-transducers--transducers-finally-ergonomic-data-processing-for-emacs--colin-woodbury--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-transducers--transducers-finally-ergonomic-data-processing-for-emacs--colin-woodbury--main.webm">Download --main.webm (52MB)</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-transducers--transducers-finally-ergonomic-data-processing-for-emacs--colin-woodbury--silence.webm">Download --silence.webm</a></li><li><a href="https://youtu.be/0FTBMyLkPFw">View on Youtube</a></li></ul></div></div>
# Q&A
@@ -31,7 +31,7 @@ Status: TO_CAPTION_QA
01:09.920 Q: When I tried comparing transducers.el to cl-lib and dash (benchmark-compiled), I got the following results
05:40.840 Q: Do you know of any theoretical texts on transducers?
07:04.720 Q: Did you think about [compiler features, macros] viz your cl, fennel, elisp, porting of your transducers?
-08:16.579 Q: Does t-buffer-read provide a lazy stream that\'s linewise, or charwise, or do something else entirely?
+08:16.579 Q: Does t-buffer-read provide a lazy stream that's linewise, or charwise, or do something else entirely?
09:09.424 Q: Can the Elisp library be combined with the stream.el API or seq in general?
11:47.543 Q: How does one debug a t-comp expression? Can you single step and see intermediate results of the different statements you declare?
14:42.495 Q: Is there a path for transducers to enable elisp processing of otherwise overly large datasets as if just normal Emacs \"buffers\" (i.e. just pulling one thing at a time so essentially stream-like under the hood but buffer-like in interface), with none of the usual perf issues with a traditional buffer structure?
@@ -39,7 +39,9 @@ Status: TO_CAPTION_QA
17:50.520 Q: Is the common lisp version ready for 'production' use? Is it complete enough and the API stable enough?
18:17.477 Q: Do we need a pre-written \"t-\" version for every already existing reducing function like + or is there a function to construct them from already defined reducer 2-arg functions?
20:26.320 Q: Is the compelling argument for transducers is that it's a better abstraction?
+22:31.960 Q: Question about how the transducers video was made? Did you use Reveal.js? Do you have a pointer to the html hosted presentation? How did you generate the content for Reveal?
+24:20.160 Q: From your investigations and tests so far, do you think there would be the necessity of transducers to eventually go down into the C level code for things like using them to solve "infinitely-big" buffer-like interfaces and such?
-"""]]<div>Listen to just the audio:<br /><audio controls preload="none" id="qanda-transducers-audio" src="https://media.emacsconf.org/2024/emacsconf-2024-transducers--transducers-finally-ergonomic-data-processing-for-emacs--colin-woodbury--answers.opus"></audio></div><div></div>Duration: 25:24 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-transducers--transducers-finally-ergonomic-data-processing-for-emacs--colin-woodbury--answers--chapters.vtt">Download --answers--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-transducers--transducers-finally-ergonomic-data-processing-for-emacs--colin-woodbury--answers--main--chapters.vtt">Download --answers--main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-transducers--transducers-finally-ergonomic-data-processing-for-emacs--colin-woodbury--answers--main.vtt">Download --answers--main.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-transducers--transducers-finally-ergonomic-data-processing-for-emacs--colin-woodbury--answers.opus">Download --answers.opus (13MB)</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-transducers--transducers-finally-ergonomic-data-processing-for-emacs--colin-woodbury--answers.vtt">Download --answers.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-transducers--transducers-finally-ergonomic-data-processing-for-emacs--colin-woodbury--answers.webm">Download --answers.webm (57MB)</a></li></ul></div></div>
+"""]]<div>Listen to just the audio:<br /><audio controls preload="none" id="qanda-transducers-audio" src="https://media.emacsconf.org/2024/emacsconf-2024-transducers--transducers-finally-ergonomic-data-processing-for-emacs--colin-woodbury--answers.opus"></audio></div><div></div>Duration: 25:24 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-transducers--transducers-finally-ergonomic-data-processing-for-emacs--colin-woodbury--answers--chapters.vtt">Download --answers--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-transducers--transducers-finally-ergonomic-data-processing-for-emacs--colin-woodbury--answers--main--chapters.vtt">Download --answers--main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-transducers--transducers-finally-ergonomic-data-processing-for-emacs--colin-woodbury--answers--main.vtt">Download --answers--main.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-transducers--transducers-finally-ergonomic-data-processing-for-emacs--colin-woodbury--answers.opus">Download --answers.opus (13MB)</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-transducers--transducers-finally-ergonomic-data-processing-for-emacs--colin-woodbury--answers.vtt">Download --answers.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-transducers--transducers-finally-ergonomic-data-processing-for-emacs--colin-woodbury--answers.webm">Download --answers.webm (57MB)</a></li><li><a href="https://toobnix.org/w/24KYPBvSmvYmsCUC9vAW7A">View on Toobnix</a></li><li><a href="https://www.youtube.com/watch?v=eiYXvm7pPuc">View on Youtube</a></li></ul></div></div>
# Description
<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2024/info/water-before.md b/2024/info/water-before.md
index 8a53bd65..cf11c56d 100644
--- a/2024/info/water-before.md
+++ b/2024/info/water-before.md
@@ -17,6 +17,6 @@ Status: TO_FOLLOW_UP
09:05.724 Managing the plant
13:09.560 Conclusion
-"""]]<div></div>Duration: 13:50 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-water--watering-my-digital-plant-with-emacs-timers--christopher-howard--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-water--watering-my-digital-plant-with-emacs-timers--christopher-howard--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-water--watering-my-digital-plant-with-emacs-timers--christopher-howard--main.json">Download --main.json</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-water--watering-my-digital-plant-with-emacs-timers--christopher-howard--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-water--watering-my-digital-plant-with-emacs-timers--christopher-howard--main.webm">Download --main.webm (37MB)</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-water--watering-my-digital-plant-with-emacs-timers--christopher-howard.mp4">Download .mp4 (21MB)</a></li><li><a href="https://toobnix.org/w/kbwz39PxBuNKWcJfr5bGvW">View on Toobnix</a></li></ul></div></div>
+"""]]<div></div>Duration: 13:50 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-water--watering-my-digital-plant-with-emacs-timers--christopher-howard--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-water--watering-my-digital-plant-with-emacs-timers--christopher-howard--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-water--watering-my-digital-plant-with-emacs-timers--christopher-howard--main.json">Download --main.json</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-water--watering-my-digital-plant-with-emacs-timers--christopher-howard--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-water--watering-my-digital-plant-with-emacs-timers--christopher-howard--main.webm">Download --main.webm (37MB)</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-water--watering-my-digital-plant-with-emacs-timers--christopher-howard.mp4">Download .mp4 (21MB)</a></li><li><a href="https://toobnix.org/w/kbwz39PxBuNKWcJfr5bGvW">View on Toobnix</a></li><li><a href="https://youtu.be/dje40OyZuoo">View on Youtube</a></li></ul></div></div>
# Description
<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2024/info/writing-before.md b/2024/info/writing-before.md
index c9ac9ad6..62663ff7 100644
--- a/2024/info/writing-before.md
+++ b/2024/info/writing-before.md
@@ -20,6 +20,6 @@ Status: TO_FOLLOW_UP
10:05.920 The project file
12:18.720 Conclusions
-"""]]<div></div>Duration: 13:31 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-writing--emacs-writing-studio--peter-prevos--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-writing--emacs-writing-studio--peter-prevos--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-writing--emacs-writing-studio--peter-prevos--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-writing--emacs-writing-studio--peter-prevos--main.webm">Download --main.webm (41MB)</a></li><li><a href="https://toobnix.org/w/5iSx9Hu5JvZE7j4UF82t4H">View on Toobnix</a></li></ul></div></div>
+"""]]<div></div>Duration: 13:31 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-writing--emacs-writing-studio--peter-prevos--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-writing--emacs-writing-studio--peter-prevos--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-writing--emacs-writing-studio--peter-prevos--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-writing--emacs-writing-studio--peter-prevos--main.webm">Download --main.webm (41MB)</a></li><li><a href="https://toobnix.org/w/5iSx9Hu5JvZE7j4UF82t4H">View on Toobnix</a></li><li><a href="https://youtu.be/sIoCeje53eU">View on Youtube</a></li></ul></div></div>
# Description
<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2024/organizers-notebook.md b/2024/organizers-notebook.md
index d1144735..82a4e95f 100644
--- a/2024/organizers-notebook.md
+++ b/2024/organizers-notebook.md
@@ -16,21 +16,21 @@ You might also like the [general organizers' notebook](/organizers-notebook) and
- [Draft CFP](#cfp)
- [Draft schedule](#draft-schedule)
- [Prepare shift calendar, ask people to sign up](#shifts)
- - [Rerecord intros](#intros)
-- [Check EmacsConf infrastructure](#orgc175c35):project:
- - [BigBlueButton](#org7ebee47)
- - [IRC web client](#orgebfb739)
- - [IRC announcements](#org60a98ed)
- - [Media](#org8c38fe6)
- - [Publishing resources to the wiki](#orgd0749f1)
- - [Publishing videos to the media server](#org11cdd06)
- - [Playing videos, switching to windows](#org4f36836)
- - [Etherpad](#orge8409fe)
- - [Do a dry run](#org7d9f280)
- - [Resizing](#org15ee37b)
-- [Processes and notes](#org6ac6986)
- - [Hosting](#org5e9b16c)
- - [ERC](#org3b05f2e)
+ - [Record intros and opening remarks](#intros)
+- [Check EmacsConf infrastructure](#check-emacsconf-infrastructure):project:
+ - [BigBlueButton](#check-emacsconf-infrastructure-bigbluebutton)
+ - [IRC web client](#check-emacsconf-infrastructure-irc-web-client)
+ - [IRC announcements](#check-emacsconf-infrastructure-irc-announcements)
+ - [Media](#check-emacsconf-infrastructure-media)
+ - [Publishing resources to the wiki](#check-emacsconf-infrastructure-publishing-resources-to-the-wiki)
+ - [Publishing videos to the media server](#check-emacsconf-infrastructure-publishing-videos-to-the-media-server)
+ - [Playing videos, switching to windows](#check-emacsconf-infrastructure-playing-videos-switching-to-windows)
+ - [Etherpad](#check-emacsconf-infrastructure-etherpad)
+ - [Do a dry run](#check-emacsconf-infrastructure-do-a-dry-run)
+ - [Resizing](#check-emacsconf-infrastructure-resizing)
+- [Processes and notes](#processes-and-notes)
+ - [Hosting](#processes-and-notes-hosting)
+ - [ERC](#processes-and-notes-erc)
- [Decisions](#decisions)
- [BigBlueButton replacement (BBB)](#bbb)
- [Support code](#support-code)
@@ -235,9 +235,9 @@ emacsconf-discuss, reddit.com/r/emacs, Emacs News, emacs-tangents, Mastodon, X
<a id="draft-schedule"></a>
-## DONE Draft schedule
+## TODO Draft schedule
-<svg width="800" height="300" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>Graphical view of the schedule</title><g transform="translate(0,0)"><title>Schedule for Saturday</title><rect width="800" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Saturday</text><a href="https://emacsconf.org/2024/talks/sat-open" title="Saturday opening remarks" data-slug="sat-open"><title> 9:00- 9:10 Saturday opening remarks</title><rect x="0" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(13,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-open</text></g></a><a href="https://emacsconf.org/2024/talks/papers" title="Writing academic papers in Org-Roam" data-slug="papers"><title> 9:10- 9:20 Writing academic papers in Org-Roam</title><rect x="15" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(28,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">papers</text></g></a><a href="https://emacsconf.org/2024/talks/project" title="Managing writing project metadata with org-mode" data-slug="project"><title> 9:40-10:00 Managing writing project metadata with org-mode</title><rect x="62" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(91,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">project</text></g></a><a href="https://emacsconf.org/2024/talks/org-update" title="The Future of Org" data-slug="org-update"><title>10:20-10:40 The Future of Org</title><rect x="125" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(154,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">org-update</text></g></a><a href="https://emacsconf.org/2024/talks/color" title="Colour your Emacs with ease" data-slug="color"><title>11:00-11:10 Colour your Emacs with ease</title><rect x="188" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(201,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">color</text></g></a><a href="https://emacsconf.org/2024/talks/maxima" title="Emacs, eev, and Maxima - now!" data-slug="maxima"><title>11:30-11:50 Emacs, eev, and Maxima - now!</title><rect x="235" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(264,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">maxima</text></g></a><a href="https://emacsconf.org/2024/talks/theme" title="My journey of finding and creating the “perfect” Emacs theme" data-slug="theme"><title> 1:00- 1:10 My journey of finding and creating the “perfect” Emacs theme</title><rect x="376" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(389,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">theme</text></g></a><a href="https://emacsconf.org/2024/talks/water" title="Watering my (digital) plant with Emacs timers" data-slug="water"><title> 1:30- 1:45 Watering my (digital) plant with Emacs timers</title><rect x="423" y="15" opacity="0.8" width="23" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(444,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">water</text></g></a><a href="https://emacsconf.org/2024/talks/shell" title="Emacs as a shell" data-slug="shell"><title> 1:55- 2:35 Emacs as a shell</title><rect x="462" y="15" opacity="0.8" width="62" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(522,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">shell</text></g></a><a href="https://emacsconf.org/2024/talks/casual" title="Re-imagining the Emacs user experience with Casual Suite" data-slug="casual"><title> 2:45- 3:05 Re-imagining the Emacs user experience with Casual Suite</title><rect x="541" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(570,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">casual</text></g></a><a href="https://emacsconf.org/2024/talks/hyperdrive" title="New in hyperdrive.el: org-transclusion, easy installation, and more!" data-slug="hyperdrive"><title> 3:25- 3:45 New in hyperdrive.el: org-transclusion, easy installation, and more!</title><rect x="603" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(632,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperdrive</text></g></a><a href="https://emacsconf.org/2024/talks/writing" title="Emacs Writing Studio" data-slug="writing"><title> 4:05- 4:15 Emacs Writing Studio</title><rect x="666" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(679,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">writing</text></g></a><a href="https://emacsconf.org/2024/talks/emacs30" title="Emacs 30 Highlights" data-slug="emacs30"><title> 4:25- 4:50 Emacs 30 Highlights</title><rect x="698" y="15" opacity="0.8" width="39" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(735,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">emacs30</text></g></a><a href="https://emacsconf.org/2024/talks/sat-close" title="Saturday closing remarks" data-slug="sat-close"><title> 5:00- 5:10 Saturday closing remarks</title><rect x="752" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(765,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-close</text></g></a><a href="https://emacsconf.org/2024/talks/gypsum" title="Gypsum: my clone of Emacs and ELisp written in Scheme" data-slug="gypsum"><title>10:00-10:20 Gypsum: my clone of Emacs and ELisp written in Scheme</title><rect x="94" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(123,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gypsum</text></g></a><a href="https://emacsconf.org/2024/talks/rust" title="An experimental Emacs core in Rust" data-slug="rust"><title>10:40-11:00 An experimental Emacs core in Rust</title><rect x="156" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(185,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">rust</text></g></a><a href="https://emacsconf.org/2024/talks/p-search" title="p-search: a local search engine in Emacs" data-slug="p-search"><title>11:20-11:45 p-search: a local search engine in Emacs</title><rect x="219" y="75" opacity="0.8" width="39" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(256,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">p-search</text></g></a><a href="https://emacsconf.org/2024/talks/julia" title="Exploring shared philosophies in Julia and Emacs" data-slug="julia"><title> 1:00- 1:10 Exploring shared philosophies in Julia and Emacs</title><rect x="376" y="75" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(389,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">julia</text></g></a><a href="https://emacsconf.org/2024/talks/guile" title="Beguiling Emacs: Guile-Emacs relaunched!" data-slug="guile"><title> 1:25- 1:45 Beguiling Emacs: Guile-Emacs relaunched!</title><rect x="415" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(444,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">guile</text></g></a><a href="https://emacsconf.org/2024/talks/secrets" title="Committing secrets with git using sops-mode" data-slug="secrets"><title> 1:55- 2:05 Committing secrets with git using sops-mode</title><rect x="462" y="75" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(475,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">secrets</text></g></a><a href="https://emacsconf.org/2024/talks/mcclim" title="Elisp and McCLIM" data-slug="mcclim"><title> 2:25- 3:25 Elisp and McCLIM</title><rect x="509" y="75" opacity="0.8" width="94" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(601,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">mcclim</text></g></a><a href="https://emacsconf.org/2024/talks/repro" title="Reproducibly building Emacs: “Hey your checksum is the same as mine!”" data-slug="repro"><title> 3:45- 4:05 Reproducibly building Emacs: “Hey your checksum is the same as mine!”</title><rect x="635" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(664,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">repro</text></g></a><g transform="translate(0,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(94,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(188,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(282,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(376,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(470,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(564,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(658,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(752,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">5 PM</text></g></g><g transform="translate(0,150)"><title>Schedule for Sunday</title><rect width="800" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Sunday</text><a href="https://emacsconf.org/2024/talks/sun-open" title="Sunday opening remarks" data-slug="sun-open"><title> 9:00- 9:10 Sunday opening remarks</title><rect x="0" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(13,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-open</text></g></a><a href="https://emacsconf.org/2024/talks/links" title="Unlocking linked data: replacing specialized apps with an Org-based semantic wiki" data-slug="links"><title> 9:10- 9:20 Unlocking linked data: replacing specialized apps with an Org-based semantic wiki</title><rect x="15" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="lightblue"></rect><g transform="translate(28,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">links</text></g></a><a href="https://emacsconf.org/2024/talks/regex" title="Emacs regex compilation and future directions for expressive pattern matching" data-slug="regex"><title> 9:30- 9:50 Emacs regex compilation and future directions for expressive pattern matching</title><rect x="47" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="lightblue"></rect><g transform="translate(76,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">regex</text></g></a><a href="https://emacsconf.org/2024/talks/learning" title="Survival of the skillest: Thriving in the learning jungle" data-slug="learning"><title>10:00-10:20 Survival of the skillest: Thriving in the learning jungle</title><rect x="94" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="lightblue"></rect><g transform="translate(123,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">learning</text></g></a><a href="https://emacsconf.org/2024/talks/blee" title="About Blee: enveloping our own autonomy directed digital ecosystem with Emacs" data-slug="blee"><title>10:30-11:15 About Blee: enveloping our own autonomy directed digital ecosystem with Emacs</title><rect x="141" y="15" opacity="0.8" width="70" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(209,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">blee</text></g></a><a href="https://emacsconf.org/2024/talks/hyperbole" title="Fun things with GNU Hyperbole" data-slug="hyperbole"><title>11:30-11:45 Fun things with GNU Hyperbole</title><rect x="235" y="15" opacity="0.8" width="23" height="59" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(256,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperbole</text></g></a><a href="https://emacsconf.org/2024/talks/hywiki" title="HyWiki: Fast, hyperlinked note-taking with no markup required" data-slug="hywiki"><title> 1:00- 1:20 HyWiki: Fast, hyperlinked note-taking with no markup required</title><rect x="376" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(405,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hywiki</text></g></a><a href="https://emacsconf.org/2024/talks/pgmacs" title="PGmacs: browsing and editing PostgreSQL databases from Emacs" data-slug="pgmacs"><title> 1:40- 1:55 PGmacs: browsing and editing PostgreSQL databases from Emacs</title><rect x="439" y="15" opacity="0.8" width="23" height="59" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(460,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">pgmacs</text></g></a><a href="https://emacsconf.org/2024/talks/literate" title="Literate programming for the 21st Century" data-slug="literate"><title> 2:15- 2:35 Literate programming for the 21st Century</title><rect x="494" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(523,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">literate</text></g></a><a href="https://emacsconf.org/2024/talks/students" title="An example of a cohesive student workflow in Emacs" data-slug="students"><title> 2:55- 3:05 An example of a cohesive student workflow in Emacs</title><rect x="556" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(569,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">students</text></g></a><a href="https://emacsconf.org/2024/talks/sharing" title="So you want to be an Emacs-fluencer?" data-slug="sharing"><title> 3:15- 3:35 So you want to be an Emacs-fluencer?</title><rect x="588" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(617,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sharing</text></g></a><a href="https://emacsconf.org/2024/talks/transducers" title="Transducers: finally, ergonomic data processing for Emacs!" data-slug="transducers"><title> 4:00- 4:30 Transducers: finally, ergonomic data processing for Emacs!</title><rect x="658" y="15" opacity="0.8" width="47" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(703,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">transducers</text></g></a><a href="https://emacsconf.org/2024/talks/sun-close" title="Sunday closing remarks" data-slug="sun-close"><title> 4:50- 5:00 Sunday closing remarks</title><rect x="737" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(750,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-close</text></g></a><g transform="translate(0,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(94,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(188,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(282,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(376,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(470,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(564,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(658,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(752,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">5 PM</text></g></g></svg>
+<svg width="800" height="300" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>Graphical view of the schedule</title><g transform="translate(0,0)"><title>Schedule for Saturday</title><rect width="800" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Saturday</text><a href="https://emacsconf.org/2024/talks/sat-open" title="Saturday opening remarks" data-slug="sat-open"><title> 9:00- 9:10 Saturday opening remarks</title><rect x="0" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(13,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-open</text></g></a><a href="https://emacsconf.org/2024/talks/papers" title="Writing academic papers in Org-Roam" data-slug="papers"><title> 9:10- 9:20 Writing academic papers in Org-Roam</title><rect x="15" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(28,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">papers</text></g></a><a href="https://emacsconf.org/2024/talks/project" title="Managing writing project metadata with org-mode" data-slug="project"><title> 9:40-10:00 Managing writing project metadata with org-mode</title><rect x="62" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(91,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">project</text></g></a><a href="https://emacsconf.org/2024/talks/org-update" title="The Future of Org" data-slug="org-update"><title>10:20-11:00 The Future of Org</title><rect x="125" y="15" opacity="0.8" width="62" height="59" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(185,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">org-update</text></g></a><a href="https://emacsconf.org/2024/talks/color" title="Colour your Emacs with ease" data-slug="color"><title>11:20-11:30 Colour your Emacs with ease</title><rect x="219" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(232,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">color</text></g></a><a href="https://emacsconf.org/2024/talks/theme" title="My journey of finding and creating the “perfect” Emacs theme" data-slug="theme"><title> 1:00- 1:10 My journey of finding and creating the “perfect” Emacs theme</title><rect x="376" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(389,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">theme</text></g></a><a href="https://emacsconf.org/2024/talks/water" title="Watering my (digital) plant with Emacs timers" data-slug="water"><title> 1:30- 1:45 Watering my (digital) plant with Emacs timers</title><rect x="423" y="15" opacity="0.8" width="23" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(444,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">water</text></g></a><a href="https://emacsconf.org/2024/talks/shell" title="Emacs as a shell" data-slug="shell"><title> 1:55- 2:35 Emacs as a shell</title><rect x="462" y="15" opacity="0.8" width="62" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(522,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">shell</text></g></a><a href="https://emacsconf.org/2024/talks/casual" title="Re-imagining the Emacs user experience with Casual Suite" data-slug="casual"><title> 2:45- 3:05 Re-imagining the Emacs user experience with Casual Suite</title><rect x="541" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(570,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">casual</text></g></a><a href="https://emacsconf.org/2024/talks/hyperdrive" title="New in hyperdrive.el: quick install, peer graph, transclusion!" data-slug="hyperdrive"><title> 3:25- 3:45 New in hyperdrive.el: quick install, peer graph, transclusion!</title><rect x="603" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(632,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperdrive</text></g></a><a href="https://emacsconf.org/2024/talks/writing" title="Emacs Writing Studio" data-slug="writing"><title> 4:05- 4:15 Emacs Writing Studio</title><rect x="666" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(679,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">writing</text></g></a><a href="https://emacsconf.org/2024/talks/emacs30" title="Emacs 30 Highlights" data-slug="emacs30"><title> 4:35- 5:00 Emacs 30 Highlights</title><rect x="713" y="15" opacity="0.8" width="39" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(750,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">emacs30</text></g></a><a href="https://emacsconf.org/2024/talks/sat-close" title="Saturday closing remarks" data-slug="sat-close"><title> 5:00- 5:10 Saturday closing remarks</title><rect x="752" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(765,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-close</text></g></a><a href="https://emacsconf.org/2024/talks/gypsum" title="Gypsum: my clone of Emacs and ELisp written in Scheme" data-slug="gypsum"><title>10:00-10:20 Gypsum: my clone of Emacs and ELisp written in Scheme</title><rect x="94" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(123,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gypsum</text></g></a><a href="https://emacsconf.org/2024/talks/rust" title="An experimental Emacs core in Rust" data-slug="rust"><title>10:40-11:00 An experimental Emacs core in Rust</title><rect x="156" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(185,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">rust</text></g></a><a href="https://emacsconf.org/2024/talks/p-search" title="p-search: a local search engine in Emacs" data-slug="p-search"><title>11:20-11:45 p-search: a local search engine in Emacs</title><rect x="219" y="75" opacity="0.8" width="39" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(256,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">p-search</text></g></a><a href="https://emacsconf.org/2024/talks/julia" title="Exploring shared philosophies in Julia and Emacs" data-slug="julia"><title> 1:00- 1:10 Exploring shared philosophies in Julia and Emacs</title><rect x="376" y="75" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(389,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">julia</text></g></a><a href="https://emacsconf.org/2024/talks/guile" title="Beguiling Emacs: Guile-Emacs relaunched!" data-slug="guile"><title> 1:25- 1:45 Beguiling Emacs: Guile-Emacs relaunched!</title><rect x="415" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(444,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">guile</text></g></a><a href="https://emacsconf.org/2024/talks/secrets" title="Committing secrets with git using sops-mode" data-slug="secrets"><title> 1:55- 2:05 Committing secrets with git using sops-mode</title><rect x="462" y="75" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(475,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">secrets</text></g></a><a href="https://emacsconf.org/2024/talks/mcclim" title="Elisp and McCLIM" data-slug="mcclim"><title> 2:25- 3:25 Elisp and McCLIM</title><rect x="509" y="75" opacity="0.8" width="94" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(601,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">mcclim</text></g></a><a href="https://emacsconf.org/2024/talks/maxima" title="Emacs, eev, and Maxima - now!" data-slug="maxima"><title> 3:45- 4:05 Emacs, eev, and Maxima - now!</title><rect x="635" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(664,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">maxima</text></g></a><g transform="translate(0,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(94,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(188,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(282,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(376,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(470,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(564,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(658,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(752,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">5 PM</text></g></g><g transform="translate(0,150)"><title>Schedule for Sunday</title><rect width="800" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Sunday</text><a href="https://emacsconf.org/2024/talks/sun-open" title="Sunday opening remarks" data-slug="sun-open"><title> 9:00- 9:10 Sunday opening remarks</title><rect x="0" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(13,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-open</text></g></a><a href="https://emacsconf.org/2024/talks/links" title="Unlocking linked data: replacing specialized apps with an Org-based semantic wiki" data-slug="links"><title> 9:10- 9:20 Unlocking linked data: replacing specialized apps with an Org-based semantic wiki</title><rect x="15" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="lightblue"></rect><g transform="translate(28,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">links</text></g></a><a href="https://emacsconf.org/2024/talks/regex" title="Emacs regex compilation and future directions for expressive pattern matching" data-slug="regex"><title> 9:30- 9:50 Emacs regex compilation and future directions for expressive pattern matching</title><rect x="47" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="lightblue"></rect><g transform="translate(76,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">regex</text></g></a><a href="https://emacsconf.org/2024/talks/learning" title="Survival of the skillest: Thriving in the learning jungle" data-slug="learning"><title>10:00-10:20 Survival of the skillest: Thriving in the learning jungle</title><rect x="94" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="lightblue"></rect><g transform="translate(123,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">learning</text></g></a><a href="https://emacsconf.org/2024/talks/blee" title="About Blee: enveloping our own autonomy directed digital ecosystem with Emacs" data-slug="blee"><title>10:30-11:15 About Blee: enveloping our own autonomy directed digital ecosystem with Emacs</title><rect x="141" y="15" opacity="0.8" width="70" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(209,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">blee</text></g></a><a href="https://emacsconf.org/2024/talks/hyperbole" title="Fun things with GNU Hyperbole" data-slug="hyperbole"><title>11:30-11:45 Fun things with GNU Hyperbole</title><rect x="235" y="15" opacity="0.8" width="23" height="59" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(256,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperbole</text></g></a><a href="https://emacsconf.org/2024/talks/hywiki" title="HyWiki: Fast, hyperlinked note-taking with no markup required" data-slug="hywiki"><title> 1:00- 1:20 HyWiki: Fast, hyperlinked note-taking with no markup required</title><rect x="376" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(405,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hywiki</text></g></a><a href="https://emacsconf.org/2024/talks/pgmacs" title="PGmacs: browsing and editing PostgreSQL databases from Emacs" data-slug="pgmacs"><title> 1:40- 1:55 PGmacs: browsing and editing PostgreSQL databases from Emacs</title><rect x="439" y="15" opacity="0.8" width="23" height="59" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(460,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">pgmacs</text></g></a><a href="https://emacsconf.org/2024/talks/literate" title="Literate programming for the 21st Century" data-slug="literate"><title> 2:15- 2:35 Literate programming for the 21st Century</title><rect x="494" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(523,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">literate</text></g></a><a href="https://emacsconf.org/2024/talks/students" title="An example of a cohesive student workflow in Emacs" data-slug="students"><title> 3:00- 3:10 An example of a cohesive student workflow in Emacs</title><rect x="564" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(577,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">students</text></g></a><a href="https://emacsconf.org/2024/talks/sharing" title="So you want to be an Emacs-fluencer?" data-slug="sharing"><title> 3:20- 3:40 So you want to be an Emacs-fluencer?</title><rect x="596" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(625,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sharing</text></g></a><a href="https://emacsconf.org/2024/talks/transducers" title="Transducers: finally, ergonomic data processing for Emacs!" data-slug="transducers"><title> 4:00- 4:30 Transducers: finally, ergonomic data processing for Emacs!</title><rect x="658" y="15" opacity="0.8" width="47" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(703,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">transducers</text></g></a><a href="https://emacsconf.org/2024/talks/sun-close" title="Sunday closing remarks" data-slug="sun-close"><title> 4:50- 5:00 Sunday closing remarks</title><rect x="737" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(750,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-close</text></g></a><g transform="translate(0,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(94,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(188,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(282,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(376,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(470,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(564,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(658,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(752,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">5 PM</text></g></g></svg>
Legend:
@@ -286,7 +286,7 @@ AM: 9-12 PM EST, PM: 1-5 PM EST (plus a little extra for setup/transition)
Saturday Dec 7 2024
-<table id="org7840df3">
+<table id="org66cc345">
<colgroup>
@@ -374,7 +374,7 @@ Saturday Dec 7 2024
Sunday Dec 8 2024
-<table id="orgde5d7a1">
+<table id="org6a12bbd">
<colgroup>
@@ -495,10 +495,10 @@ Interested in a shift? Please e-mail <mailto:emacsconf-org-private@gnu.org> and
<a id="intros"></a>
-## Rerecord intros
+## Record intros and opening remarks
-### TODO Redo pkal pronunciation :emacsconf:record:
+### WAITING Redo pkal pronunciation :emacsconf:record:
> kǎlud͡ʑert͡ʃit͡ɕ - zaeph&rsquo;s guess is kah-loo-dyer-tshitch
@@ -508,7 +508,12 @@ Interested in a shift? Please e-mail <mailto:emacsconf-org-private@gnu.org> and
or you can ask questions through Etherpad or IRC.
-### TODO Rerecord intro for Ihor Radchenko and Bastien Guerry
+### WAITING Rerecord intro for Ihor Radchenko and Bastien Guerry
+
+zaeph&rsquo;s tips: Ihor said his name in this presentation: <https://youtu.be/YA1RJxH4xfQ?t=1>
+You’re rolling your Rs for both “Ihor” and “Guerry”, but I think both
+are supposed to be smooth. For Bastien’s family name, it’s
+&ldquo;ghey-ree&rdquo;. <https://paste.xinu.at/A9DFSN/>
zaeph will probably pronounce this so much better than I can. =)
@@ -529,9 +534,11 @@ zaeph will probably pronounce this so much better than I can. =)
You can ask questions via Etherpad or IRC.
-### TODO Rerecord Vincent Conus using psitransfer version :record:emacsconf:
+### WAITING Rerecord Vincent Conus using psitransfer version :record:emacsconf:
+
+<file:///home/sacha/proj/emacsconf/2024/cache/emacsconf-2024-papers--writing-academic-papers-in-orgroam--vincent-conus--name.ogg>
-/ssh:orga@media.emacsconf.org:/srv/upload/emacsconf-papers/0b67be8b-10a1-48f8-9a7b-e73a4c46b9db
+cuhn-us
Next, we have "Writing academic papers in Org-Roam",
by Vincent Conus.
@@ -540,7 +547,7 @@ zaeph will probably pronounce this so much better than I can. =)
or ask questions through Etherpad or IRC.
-### TODO Rerecord Joseph Turner with new title :emacsconf:record:
+### WAITING Rerecord Joseph Turner with new title :emacsconf:record:
[2024-12-02 Emacs news](https://sachachua.com/blog/2024/12/2024-12-02-emacs-news/)
@@ -553,7 +560,261 @@ New in hyperdrive.el: quick install, peer graph, transclusion!
or you can ask questions through Etherpad or IRC.
-<a id="orgc175c35"></a>
+### STARTED Record sat-open remarks :emacsconf:record:
+
+Welcome to EmacsConf 2024, where we have fun
+exploring how much we can do with a text editor.
+It&rsquo;s hard to give a general overview
+of all the cool talks today and tomorrow,
+so you can flip through the talks
+and see what sparks your interests.
+Don&rsquo;t feel limited to one track or another.
+The best parts of EmacsConf are the conversations.
+The wiki has a page on how to watch and participate,
+and I&rsquo;ll give you a quick overview as well.
+You can watch both streams at live.emacsconf.org
+using free and open source software.
+Using a streaming media player like mpv
+seems to be the best way to watch in terms of performance
+but there are also web-based players
+just in case that&rsquo;s all you&rsquo;ve got.
+The schedule shows the General track on top
+and the Development track on the bottom,
+so you can see what else is going on.
+As you&rsquo;re watching the talks,
+you can refer to the schedule in another window.
+Hover over the boxes to see the times and titles,
+and click on the boxes in the schedule
+to jump to the talk&rsquo;s page for more details.
+You can also get the schedule as an iCalendar file
+or as an Org file in different time zones.
+Many talks will be followed by
+live Q&A web conferences with the speaker,
+which will be done in BigBlueButton or BBB.
+These are indicated with a solid border on the schedule
+and by Q&A: BBB on the schedule page.
+You can join the web conference room
+by clicking on the BBB link
+
+on the schedule page or the talk&rsquo;s webpage.
+Then you can ask your questions yourself when the Q&A starts.
+To improve performance, please keep your webcam off
+and stay muted until it&rsquo;s your turn to talk.
+If you don&rsquo;t like Javascript,
+you can still ask questions via IRC
+and the hosts can read them out for you.
+We&rsquo;re probably going to automatically switch
+between talks and Q&A sessions,
+so the transitions on the stream might be a little sudden.
+
+People in the BigBlueButton room
+can continue the conversation
+even after the talk moves off-stream.
+and you can also reach out to the speakers
+using the contact information on the talk page.
+
+Other talks will have Q&A via Etherpad or IRC,
+depending on what the speakers prefer.
+This is indicated in the schedule with a dashed border
+and on the schedule page as well.
+Some talks will have the Q&A after the event,
+so you can add your questions to their Etherpad
+or ask on IRC.
+We&rsquo;ll e-mail the speakers afterwards
+and update the talk pages when they answer.
+The schedule pages and track pages have quick shortcuts
+so that you can find out more about talks, open the Etherpads,
+and join the Q&A sessions. The watch page has more tips
+on how to make the most of Q&A.
+If you can, please add notes and ask questions
+in the Etherpad for the talk. That makes it easier
+for everyone to share their notes,
+and speakers and hosts can read the questions from there.
+We&rsquo;ll copy the notes to the talk pages afterwards.
+We have one pad for each talk,
+so you can follow the links to get to the next one
+or go back to the schedule and get the link from there.
+If you have general feedback about
+the conference itself, please put it in
+pad.emacsconf.org/2024 , which is linked on each pad.
+You can also use this as a general community message board
+for things like Help Wanted.
+Internet Relay Chat or IRC can be another great way
+to be part of lots of conversations.
+You can use chat.emacsconf.org to join the IRC channels
+through your web browser. The tabs on the left can help you
+switch between the different channels.
+There&rsquo;s #emacsconf-gen for the General track
+and #emacsconf-dev for the Development track.
+If you need to reach us, you can join #emacsconf-org
+or e-mail emacsconf-org-private@gnu.org.
+You can use #emacsconf for hallway conversations.
+Of course, you can join any of these channels
+with your favourite IRC client.
+You can connect to irc.libera.chat
+port 6697 with TLS.
+Once again, we&rsquo;re going to be streaming with open captions
+for most of the talks this year, thanks to our speakers and
+captioning volunteers. The captioned talks are indicated
+on the schedule, and with any luck, we&rsquo;ll be posting
+transcripts on talk pages shortly after the talks start.
+If you need additional accommodations,
+please let us know in #emacsconf-org
+and we&rsquo;ll see if we can make things happen.
+If something goes down, we&rsquo;ll update status.emacsconf.org.
+If it doesn&rsquo;t look like we&rsquo;ve noticed yet,
+please let us know in the #emacsconf-org IRC channel,
+where we will be quietly panicking.
+In all of these conversations, please keep in mind
+our guidelines for conduct. You can find them on the wiki,
+They basically boil down to: please be nice.
+If all goes well, the prerecorded talks and transcripts
+should be available from the talk pages
+shortly after they start playing,
+and we&rsquo;ll post the recordings of live talks
+and Q&A sessions within the next month or so.
+If you&rsquo;d like to get an update, you can subscribe to
+the emacsconf-discuss mailing list.
+All right, let&rsquo;s get going.
+Leo is hosting the general track,
+and Corwin hosting the development track.
+The other volunteers and I will run around mostly backstage,
+and you&rsquo;ll probably meet us in the closing remarks.
+That&rsquo;s also where we get to thank
+all the people and organizations
+who make EmacsConf possible.
+Thanks for coming to EmacsConf 2024.
+
+
+### TODO Record sun-open remarks
+
+Welcome to the second day of EmacsConf 2024.
+Today we have one track of talks,
+so you don&rsquo;t have to worry about
+missing out on anything.
+The best parts of EmacsConf are the conversations.
+The wiki has a page on how to watch and participate,
+and I&rsquo;ll give you a quick overview as well.
+You can watch the stream at live.emacsconf.org
+using free and open source software.
+Using a streaming media player like mpv
+seems to be the best way to watch in terms of performance
+but there are also web-based players
+just in case that&rsquo;s all you&rsquo;ve got.
+As you&rsquo;re watching the talks,
+you can refer to the schedule in another window.
+Hover over the boxes to see the times and titles,
+and click on the boxes in the schedule
+to jump to the talk&rsquo;s page for more details.
+You can also get the schedule as an iCalendar file
+or as an Org file in different time zones.
+
+Many talks will be followed by
+live Q&A web conferences with the speaker,
+which will be done in BigBlueButton or BBB.
+These are indicated with a solid border on the schedule
+and by Q&A: BBB on the schedule page.
+You can join the web conference room
+by clicking on the BBB link
+on the schedule page or the talk&rsquo;s webpage.
+Then you can ask your questions yourself when the Q&A starts.
+To improve performance, please keep your webcam off
+and stay muted until it&rsquo;s your turn to talk.
+If you don&rsquo;t like Javascript,
+you can still ask questions via IRC
+and the hosts can read them out for you.
+
+We&rsquo;re probably going to automatically switch
+between talks and Q&A sessions,
+so the transitions on the stream might be a little sudden,
+People in the BigBlueButton room
+can continue the conversation
+even after the talk moves off-stream,
+and you can also reach out to the speakers
+using the contact information on the talk page.
+
+Other talks will have Q&A via Etherpad or IRC,
+depending on what the speakers prefer.
+This is indicated in the schedule with a dashed border
+and on the schedule page as well.
+Please ask your questions in the recommended places
+so that the speakers can easily see them.
+
+Some talks will have the Q&A after the event,
+so you can add your questions to their Etherpad.
+We&rsquo;ll e-mail the speakers afterwards
+and update the talk pages when they answer.
+
+We&rsquo;re going to start Sunday morning
+with more IRC/Etherpad Q&A
+to try to get around
+some of the bandwidth issues
+that we noticed last year.
+
+The schedule pages and track pages have quick shortcuts
+so that you can find out more about talks, open the Etherpads,
+and join the Q&A sessions. The watch page has more tips
+on how to make the most of Q&A.
+If you can, please add notes and ask questions
+in the Etherpad for the talk. That makes it easier
+for everyone to share their notes,
+and speakers and hosts can read the questions from there.
+We&rsquo;ll copy the notes to the talk pages afterwards.
+We have one pad for each talk,
+so you can follow the links to get to the next one
+or go back to the schedule and get the link from there.
+If you have general feedback about
+the conference itself, please put it in
+pad.emacsconf.org/2024 , which is linked on each pad.
+You can also use this as a general community message board
+for things like Help Wanted.
+Internet Relay Chat or IRC can be another great way
+to be part of lots of conversations.
+You can use chat.emacsconf.org to join the IRC channels
+through your web browser. The tabs on the left can help you
+switch between the different channels.
+Most discussions will be in
+\#emacsconf-gen for the General track.
+If you need to reach us, you can join #emacsconf-org
+or e-mail emacsconf-org-private@gnu.org.
+You can use #emacsconf for hallway conversations.
+Of course, you can join any of these channels
+with your favourite IRC client.
+You can connect to irc.libera.chat
+port 6697 with TLS.
+Once again, we&rsquo;re going to be streaming with open captions
+for most of the talks this year, thanks to our speakers and
+captioning volunteers. The captioned talks are indicated
+on the schedule, and with any luck, we&rsquo;ll be posting
+transcripts on talk pages shortly after the talks start.
+If you need additional accommodations,
+please let us know in #emacsconf-org
+and we&rsquo;ll see if we can make things happen.
+If something goes down, we&rsquo;ll update status.emacsconf.org.
+If it doesn&rsquo;t look like we&rsquo;ve noticed yet,
+please let us know in the #emacsconf-org IRC channel,
+where we will be quietly panicking.
+In all of these conversations, please keep in mind
+our guidelines for conduct. You can find them on the wiki,
+They basically boil down to: please be nice.
+If all goes well, the prerecorded talks and transcripts
+should be available from the talk pages
+shortly after they start playing,
+and we&rsquo;ll post the recordings of live talks
+and Q&A sessions within the next month or so.
+If you&rsquo;d like to get an update, you can subscribe to
+the emacsconf-discuss mailing list.
+All right, let&rsquo;s get going.
+Leo Vivier is hosting the general track again today.
+The other volunteers and I will run around mostly backstage,
+and you&rsquo;ll probably meet us in the closing remarks.
+That&rsquo;s also where we get to thank
+all the people and organizations
+who make EmacsConf even possible.
+Thanks for coming to EmacsConf 2024.
+
+
+<a id="check-emacsconf-infrastructure"></a>
# TODO Check EmacsConf infrastructure :project:
@@ -567,9 +828,10 @@ New in hyperdrive.el: quick install, peer graph, transclusion!
- [ ] Streaming
- [ ] Toobnix
- [ ] YouTube
+- [X] Mumble: Can join from my phone, can speak on stream
-<a id="org7ebee47"></a>
+<a id="check-emacsconf-infrastructure-bigbluebutton"></a>
## TODO BigBlueButton
@@ -586,10 +848,11 @@ New in hyperdrive.el: quick install, peer graph, transclusion!
Prerequisites:
- BBB requires 4 CPU cores before it will install. bbb-conf.sh is fairly straightforward, so I guess we could spin down and then spin up again.
+ Image: Ubuntu 22.04
Steps:
-1. Run the BBB installer: ~./bbb-install.sh -v jammy-300 -s bbb.emacsverse.org -e emacsconf@sachachua.com -g ~
+1. Run the BBB installer: `./bbb-install.sh -v jammy-300 -s bbb.emacsverse.org -e emacsconf@sachachua.com -g`
2. `sudo apt install bbb-playback-video` and then follow the instructions at [Server Customization | BigBlueButton](https://docs.bigbluebutton.org/3.0/administration/customize/#install-additional-recording-processing-formats) .
3. <https://docs.bigbluebutton.org/3.0/administration/customize/#mute-all-users-on-startup>
@@ -766,11 +1029,6 @@ Print out the room IDs with
<https://github.com/bigbluebutton/greenlight/issues/1925>
-After about 6 seconds, the rails console quits.
-502 bad gateway
-
-aaaaaaaaaah
-
### DONE Check BBB audio from my phone
@@ -828,7 +1086,7 @@ yq e -i &ldquo;.public.app.clientTitle = \\&rdquo;EmacsConf\\&ldquo;&rdquo; $TAR
### TODO Explore meeting layout? Default to custom, hosts will need to drag people&rsquo;s webcam over if there&rsquo;s a share
-<a id="orgebfb739"></a>
+<a id="check-emacsconf-infrastructure-irc-web-client"></a>
## IRC web client
@@ -836,7 +1094,7 @@ yq e -i &ldquo;.public.app.clientTitle = \\&rdquo;EmacsConf\\&ldquo;&rdquo; $TAR
### DONE Ask libera.chat to increase connections allowed from chat.emacsconf.org on Dec 7 and 8
-<a id="org60a98ed"></a>
+<a id="check-emacsconf-infrastructure-irc-announcements"></a>
## IRC announcements
@@ -847,7 +1105,7 @@ yq e -i &ldquo;.public.app.clientTitle = \\&rdquo;EmacsConf\\&ldquo;&rdquo; $TAR
### TODO Confirm automated IRC announcements from res
-<a id="org8c38fe6"></a>
+<a id="check-emacsconf-infrastructure-media"></a>
## Media
@@ -861,19 +1119,19 @@ yq e -i &ldquo;.public.app.clientTitle = \\&rdquo;EmacsConf\\&ldquo;&rdquo; $TAR
You can generate the index with `emacsconf-publish-update-media`.
-<a id="orgd0749f1"></a>
+<a id="check-emacsconf-infrastructure-publishing-resources-to-the-wiki"></a>
## TODO Publishing resources to the wiki
ansible-playbook -i inventory.yml prod-playbook.yml &#x2013;tags publish
-<a id="org11cdd06"></a>
+<a id="check-emacsconf-infrastructure-publishing-videos-to-the-media-server"></a>
## TODO Publishing videos to the media server
-<a id="org4f36836"></a>
+<a id="check-emacsconf-infrastructure-playing-videos-switching-to-windows"></a>
## Playing videos, switching to windows
@@ -884,7 +1142,7 @@ ansible-playbook -i inventory.yml prod-playbook.yml &#x2013;tags publish
### TODO Document how to get that set up again
-<a id="orge8409fe"></a>
+<a id="check-emacsconf-infrastructure-etherpad"></a>
## Etherpad
@@ -895,7 +1153,7 @@ ansible-playbook -i inventory.yml prod-playbook.yml &#x2013;tags publish
### TODO Generate the main index
-<a id="org7d9f280"></a>
+<a id="check-emacsconf-infrastructure-do-a-dry-run"></a>
## TODO Do a dry run
@@ -906,7 +1164,7 @@ ansible-playbook -i inventory.yml prod-playbook.yml &#x2013;tags publish
### TODO Test connecting to VNC and streaming via OBS
-<a id="org15ee37b"></a>
+<a id="check-emacsconf-infrastructure-resizing"></a>
## Resizing
@@ -933,12 +1191,12 @@ front0: nanode
meet: nanode
-<a id="org6ac6986"></a>
+<a id="processes-and-notes"></a>
# Processes and notes
-<a id="org5e9b16c"></a>
+<a id="processes-and-notes-hosting"></a>
## Hosting
@@ -946,7 +1204,7 @@ meet: nanode
### TODO Finalize host for dev track
-<a id="org3b05f2e"></a>
+<a id="processes-and-notes-erc"></a>
## ERC
diff --git a/2024/organizers-notebook/index.org b/2024/organizers-notebook/index.org
index 7b32b803..4c47e4b1 100644
--- a/2024/organizers-notebook/index.org
+++ b/2024/organizers-notebook/index.org
@@ -55,6 +55,9 @@ You might also like the [general organizers' notebook](/organizers-notebook) and
#+TOC: headlines 2
* COMMENT Shortcuts
+:PROPERTIES:
+:CUSTOM_ID: shortcuts
+:END:
[[file:~/proj/emacsconf/wiki/organizers-notebook/index.org][Common notebook]]
@@ -137,6 +140,9 @@ CLOSED: [2024-09-17 Tue 16:45]
:END:
**** Draft linked pages
+:PROPERTIES:
+:CUSTOM_ID: phases-draft-cfp-draft-linked-pages
+:END:
- [X] cfp
- [X] submit page
@@ -146,9 +152,13 @@ CLOSED: [2024-09-17 Tue 16:45]
CLOSED: [2024-06-11 Tue 19:21] DEADLINE: <2024-06-14 Fri>
:PROPERTIES:
:CREATED: [024-06-03 Mon 10:1]
+:CUSTOM_ID: phases-draft-cfp-check-with-other-organizers
:END:
**** DONE Post CFP in the usual places
CLOSED: [2024-09-17 Tue 16:45]
+:PROPERTIES:
+:CUSTOM_ID: phases-draft-cfp-post-cfp-in-the-usual-places
+:END:
emacsconf-discuss, reddit.com/r/emacs, Emacs News, emacs-tangents, Mastodon, X
** TODO Draft schedule
:PROPERTIES:
@@ -482,6 +492,7 @@ Interested in a shift? Please e-mail [[mailto:emacsconf-org-private@gnu.org]] an
SCHEDULED: <2024-12-03 Tue>
:PROPERTIES:
:CREATED: [2024-12-02 Mon 16:48]
+:CUSTOM_ID: phases-record-intros-and-opening-remarks-redo-pkal-pronunciation
:END:
#+begin_quote
@@ -496,6 +507,9 @@ or you can ask questions through Etherpad or IRC.
#+end_example
*** WAITING Rerecord intro for Ihor Radchenko and Bastien Guerry
+:PROPERTIES:
+:CUSTOM_ID: phases-record-intros-and-opening-remarks-rerecord-intro-for-ihor-radchenko-and-bastien-guerry
+:END:
zaeph's tips: Ihor said his name in this presentation: https://youtu.be/YA1RJxH4xfQ?t=1
@@ -514,6 +528,9 @@ or ask questions through Etherpad or IRC.
#+end_example
*** TODO Rerecord Eev intro with MAC-SYM-A pronunciation :record:emacsconf:
+:PROPERTIES:
+:CUSTOM_ID: phases-record-intros-and-opening-remarks-rerecord-eev-intro-with-mac-sym-a-pronunciation
+:END:
#+begin_quote
My name in the intro is perfect, but Maxima comes from Macsyma, and it is
@@ -530,6 +547,7 @@ You can ask questions via Etherpad or IRC.
SCHEDULED: <2024-12-03 Tue>
:PROPERTIES:
:CREATED: [2024-12-02 Mon 19:48]
+:CUSTOM_ID: phases-record-intros-and-opening-remarks-rerecord-vincent-conus-using-psitransfer-version
:END:
[[file:~/proj/emacsconf/2024/cache/emacsconf-2024-papers--writing-academic-papers-in-orgroam--vincent-conus--name.ogg]]
@@ -548,6 +566,7 @@ or ask questions through Etherpad or IRC.
*** WAITING Rerecord Joseph Turner with new title :emacsconf:record:
:PROPERTIES:
:CREATED: [2024-12-02 Mon 13:51]
+:CUSTOM_ID: phases-record-intros-and-opening-remarks-rerecord-joseph-turner-with-new-title
:END:
[[https://sachachua.com/blog/2024/12/2024-12-02-emacs-news/][2024-12-02 Emacs news]]
@@ -564,6 +583,7 @@ or you can ask questions through Etherpad or IRC.
*** STARTED Record sat-open remarks :emacsconf:record:
:PROPERTIES:
:Effort: 0:30
+:CUSTOM_ID: phases-record-intros-and-opening-remarks-record-sat-open-remarks
:END:
:LOGBOOK:
CLOCK: [2024-12-03 Tue 13:38]--[2024-12-04 Wed 08:48] => 19:10
@@ -692,6 +712,9 @@ all the people and organizations
who make EmacsConf possible.
Thanks for coming to EmacsConf 2024.
*** TODO Record sun-open remarks
+:PROPERTIES:
+:CUSTOM_ID: phases-record-intros-and-opening-remarks-record-sun-open-remarks
+:END:
Welcome to the second day of EmacsConf 2024.
Today we have one track of talks,
@@ -819,6 +842,9 @@ who make EmacsConf even possible.
Thanks for coming to EmacsConf 2024.
* TODO [#A] Check EmacsConf infrastructure :project:
+:PROPERTIES:
+:CUSTOM_ID: check-emacsconf-infrastructure
+:END:
- [X] IRC
- [ ] Streaming assets
@@ -836,19 +862,27 @@ Thanks for coming to EmacsConf 2024.
DEADLINE: <2024-11-15 Fri>
:PROPERTIES:
:CREATED: [2024-11-02 Sat 11:38]
+:CUSTOM_ID: check-emacsconf-infrastructure-bigbluebutton
:END:
- Plan: spin up Linode temporarily: [[#bbb][BigBlueButton replacement]]
*** Notes
+:PROPERTIES:
+:CUSTOM_ID: check-emacsconf-infrastructure-bigbluebutton-notes
+:END:
**** install, sizes
+:PROPERTIES:
+:CUSTOM_ID: check-emacsconf-infrastructure-bigbluebutton-notes-install-sizes
+:END:
[2024-11-19 Tue]
Prerequisites:
- BBB requires 4 CPU cores before it will install. bbb-conf.sh is fairly straightforward, so I guess we could spin down and then spin up again.
+ Image: Ubuntu 22.04
Steps:
-1. Run the BBB installer: ~./bbb-install.sh -v jammy-300 -s bbb.emacsverse.org -e emacsconf@sachachua.com -g ~
+1. Run the BBB installer: ~./bbb-install.sh -v jammy-300 -s bbb.emacsverse.org -e emacsconf@sachachua.com -g~
2. ~sudo apt install bbb-playback-video~ and then follow the instructions at [[https://docs.bigbluebutton.org/3.0/administration/customize/#install-additional-recording-processing-formats][Server Customization | BigBlueButton]] .
3. https://docs.bigbluebutton.org/3.0/administration/customize/#mute-all-users-on-startup
@@ -868,7 +902,6 @@ linode-cli linodes resize 67329098 --type g6-nanode-1 --allow_auto_disk_resize t
#+begin_src
echo "notify-send 'Resizing BBB...'; linode-cli linodes resize 67329098 --type g6-nanode-1 --allow_auto_disk_resize true" | at 'now + 1 hour'
-
#+end_src
Resize disk
@@ -881,11 +914,15 @@ https://techdocs.akamai.com/linode-api/reference/post-resize-disk
https://www.linode.com/community/questions/21942/how-can-i-schedule-resizing-a-linode
**** backing up
+:PROPERTIES:
+:CUSTOM_ID: check-emacsconf-infrastructure-bigbluebutton-notes-backing-up
+:END:
[2024-11-20 Wed] ssh root@66.175.208.243 'tar zcvf - /var/bigbluebutton /etc/bigbluebutton /root/greenlight-v3 /usr/local/bigbluebutton /usr/share/bbb-web' > bbb-backup.tar.gz
**** DONE Set up bbb with new domain name
CLOSED: [2024-11-28 Thu 10:00]
:PROPERTIES:
:Effort: 1:00
+:CUSTOM_ID: check-emacsconf-infrastructure-bigbluebutton-notes-set-up-bbb-with-new-domain-name
:END:
:LOGBOOK:
CLOCK: [2024-11-28 Thu 09:06]--[2024-11-28 Thu 09:17] => 0:11
@@ -929,6 +966,7 @@ SCHEDULED: <2024-11-28 Thu>
:PROPERTIES:
:CREATED: [2024-11-28 Thu 11:12]
:Effort: 0:30
+:CUSTOM_ID: check-emacsconf-infrastructure-bigbluebutton-set-up-moderator-access-codes-for-all-the-meeting-rooms-and-make-it-so-people-can-start-the-meeting
:END:
:LOGBOOK:
CLOCK: [2024-11-28 Thu 12:13]--[2024-11-28 Thu 13:10] => 0:57
@@ -1009,6 +1047,7 @@ CLOSED: [2024-11-28 Thu 10:59] SCHEDULED: <2024-11-28 Thu>
:PROPERTIES:
:CREATED: [2024-11-28 Thu 10:12]
:Effort: 1:00
+:CUSTOM_ID: check-emacsconf-infrastructure-bigbluebutton-figure-out-what-s-going-on-with-bbb
:END:
:LOGBOOK:
CLOCK: [2024-11-28 Thu 10:47]--[2024-11-28 Thu 10:59] => 0:12
@@ -1093,13 +1132,18 @@ https://github.com/bigbluebutton/greenlight/issues/1925
CLOSED: [2024-11-28 Thu 13:03] SCHEDULED: <2024-11-21 Thu>
:PROPERTIES:
:CREATED: [2024-11-19 Tue 15:39]
+:CUSTOM_ID: check-emacsconf-infrastructure-bigbluebutton-check-bbb-audio-from-my-phone
:END:
*** DONE Create accounts for corwin
CLOSED: [2024-11-28 Thu 10:11]
+:PROPERTIES:
+:CUSTOM_ID: check-emacsconf-infrastructure-bigbluebutton-create-accounts-for-corwin
+:END:
*** CANCELLED [#C] Customize BBB to process at night
CLOSED: [2024-11-27 Wed 13:17]
:PROPERTIES:
:CREATED: [2024-11-20 Wed 12:11]
+:CUSTOM_ID: check-emacsconf-infrastructure-bigbluebutton-customize-bbb-to-process-at-night
:END:
https://docs.bigbluebutton.org/3.0/administration/customize/
@@ -1117,40 +1161,75 @@ and do systemctl daemon-reload. This file overrides the timing of when systemd r
- [[file:~/sync/orgzly/Inbox.org::*Set up rooms and assign as properties][Set up rooms and assign as properties]]
*** TODO [#C] Change background presentation
+:PROPERTIES:
+:CUSTOM_ID: check-emacsconf-infrastructure-bigbluebutton-change-background-presentation
+:END:
https://docs.bigbluebutton.org/3.0/administration/customize/#change-the-default-presentation
*** TODO [#C] Modify landing page
+:PROPERTIES:
+:CUSTOM_ID: check-emacsconf-infrastructure-bigbluebutton-modify-landing-page
+:END:
/var/www/bigbluebutton-default/assets/index.html
keep backup copy as it will be overwritten when bbb-conf is called
*** TODO [#C] Change default welcome message
:PROPERTIES:
:Effort: 0:30
+:CUSTOM_ID: check-emacsconf-infrastructure-bigbluebutton-change-default-welcome-message
:END:
:LOGBOOK:
CLOCK: [2024-11-20 Wed 12:21]--[2024-11-20 Wed 12:46] => 0:25
:END:
https://docs.bigbluebutton.org/3.0/administration/customize/#change-the-default-welcome-message
*** TODO [#C] Change html5 title
+:PROPERTIES:
+:CUSTOM_ID: check-emacsconf-infrastructure-bigbluebutton-change-html5-title
+:END:
/usr/share/bigbluebutton/html5-client/private/config/settings.yml
TARGET=/usr/share/bigbluebutton/html5-client/private/config/settings.yml
yq e -i ".public.app.clientTitle = \"EmacsConf\"" $TARGET
*** TODO [#C] Try live captions
+:PROPERTIES:
+:CUSTOM_ID: check-emacsconf-infrastructure-bigbluebutton-try-live-captions
+:END:
https://docs.bigbluebutton.org/3.0/administration/customize/#enable-live-captions
*** TODO Explore meeting layout? Default to custom, hosts will need to drag people's webcam over if there's a share
+:PROPERTIES:
+:CUSTOM_ID: check-emacsconf-infrastructure-bigbluebutton-explore-meeting-layout-default-to-custom-hosts-will-need-to-drag-people-s-webcam-over-if-there-s-a-share
+:END:
** IRC web client
+:PROPERTIES:
+:CUSTOM_ID: check-emacsconf-infrastructure-irc-web-client
+:END:
*** DONE Ask libera.chat to increase connections allowed from chat.emacsconf.org on Dec 7 and 8
CLOSED: [2024-11-27 Wed 13:18]
+:PROPERTIES:
+:CUSTOM_ID: check-emacsconf-infrastructure-irc-web-client-ask-libera-chat-to-increase-connections-allowed-from-chat-emacsconf-org-on-dec-7-and-8
+:END:
** IRC announcements
+:PROPERTIES:
+:CUSTOM_ID: check-emacsconf-infrastructure-irc-announcements
+:END:
*** DONE Confirm manual IRC announcements
CLOSED: [2024-11-02 Sat 12:05]
+:PROPERTIES:
+:CUSTOM_ID: check-emacsconf-infrastructure-irc-announcements-confirm-manual-irc-announcements
+:END:
*** TODO Confirm automated IRC announcements from res
+:PROPERTIES:
+:CUSTOM_ID: check-emacsconf-infrastructure-irc-announcements-confirm-automated-irc-announcements-from-res
+:END:
** Media
+:PROPERTIES:
+:CUSTOM_ID: check-emacsconf-infrastructure-media
+:END:
*** TODO Switch public media to unprotected root before the conference
SCHEDULED: <2024-11-29 Fri>
:PROPERTIES:
:CREATED: [2024-11-12 Tue 14:18]
+:CUSTOM_ID: check-emacsconf-infrastructure-media-switch-public-media-to-unprotected-root-before-the-conference
:END:
1. Clear public media directory.
@@ -1159,27 +1238,53 @@ SCHEDULED: <2024-11-29 Fri>
You can generate the index with =emacsconf-publish-update-media=.
** TODO Publishing resources to the wiki
+:PROPERTIES:
+:CUSTOM_ID: check-emacsconf-infrastructure-publishing-resources-to-the-wiki
+:END:
ansible-playbook -i inventory.yml prod-playbook.yml --tags publish
** TODO Publishing videos to the media server
+:PROPERTIES:
+:CUSTOM_ID: check-emacsconf-infrastructure-publishing-videos-to-the-media-server
+:END:
** Playing videos, switching to windows
+:PROPERTIES:
+:CUSTOM_ID: check-emacsconf-infrastructure-playing-videos-switching-to-windows
+:END:
*** TODO Generate test videos for everything
+:PROPERTIES:
+:CUSTOM_ID: check-emacsconf-infrastructure-playing-videos-switching-to-windows-generate-test-videos-for-everything
+:END:
*** TODO Document how to get that set up again
+:PROPERTIES:
+:CUSTOM_ID: check-emacsconf-infrastructure-playing-videos-switching-to-windows-document-how-to-get-that-set-up-again
+:END:
** Etherpad
+:PROPERTIES:
+:CUSTOM_ID: check-emacsconf-infrastructure-etherpad
+:END:
*** TODO Generate pads for all the talks
+:PROPERTIES:
+:CUSTOM_ID: check-emacsconf-infrastructure-etherpad-generate-pads-for-all-the-talks
+:END:
*** TODO Generate the main index
+:PROPERTIES:
+:CUSTOM_ID: check-emacsconf-infrastructure-etherpad-generate-the-main-index
+:END:
** TODO Do a dry run
SCHEDULED: <2024-11-22 Fri>
:PROPERTIES:
:CREATED: [2024-11-02 Sat 11:40]
+:CUSTOM_ID: check-emacsconf-infrastructure-do-a-dry-run
:END:
*** DONE Generate all the test assets
CLOSED: [2024-11-06 Wed 18:52]
:PROPERTIES:
:Effort: 0:15
+:CUSTOM_ID: check-emacsconf-infrastructure-do-a-dry-run-generate-all-the-test-assets
:END:
:LOGBOOK:
CLOCK: [2024-11-06 Wed 18:47]--[2024-11-06 Wed 18:52] => 0:05
@@ -1188,8 +1293,12 @@ CLOCK: [2024-11-06 Wed 18:47]--[2024-11-06 Wed 18:52] => 0:05
SCHEDULED: <2024-11-07 Thu>
:PROPERTIES:
:CREATED: [2024-11-06 Wed 18:52]
+:CUSTOM_ID: check-emacsconf-infrastructure-do-a-dry-run-test-connecting-to-vnc-and-streaming-via-obs
:END:
** Resizing
+:PROPERTIES:
+:CUSTOM_ID: check-emacsconf-infrastructure-resizing
+:END:
live0: 64GB
front0: 32GB
@@ -1199,6 +1308,7 @@ meet: 64GB
SCHEDULED: <2024-12-06 Fri>
:PROPERTIES:
:CREATED: [2024-11-22 Fri 13:46]
+:CUSTOM_ID: check-emacsconf-infrastructure-resizing-resize-nodes-before-production
:END:
live0: 64GB
@@ -1209,6 +1319,7 @@ meet: 64GB
SCHEDULED: <2024-12-08 Sun>
:PROPERTIES:
:CREATED: [2024-11-22 Fri 13:46]
+:CUSTOM_ID: check-emacsconf-infrastructure-resizing-resize-nodes-after-production
:END:
live0: nanode
@@ -1217,12 +1328,25 @@ front0: nanode
SCHEDULED: <2024-12-10 Tue>
:PROPERTIES:
:CREATED: [2024-11-22 Fri 13:47]
+:CUSTOM_ID: check-emacsconf-infrastructure-resizing-resize-meet-after-production
:END:
meet: nanode
* Processes and notes
+:PROPERTIES:
+:CUSTOM_ID: processes-and-notes
+:END:
** Hosting
+:PROPERTIES:
+:CUSTOM_ID: processes-and-notes-hosting
+:END:
*** TODO Finalize host for dev track
+:PROPERTIES:
+:CUSTOM_ID: processes-and-notes-hosting-finalize-host-for-dev-track
+:END:
** ERC
+:PROPERTIES:
+:CUSTOM_ID: processes-and-notes-erc
+:END:
Some convenient commands are defined in emacsconf-el:emacsconf-erc.el.
diff --git a/2024/report.md b/2024/report.md
new file mode 100644
index 00000000..3064515c
--- /dev/null
+++ b/2024/report.md
@@ -0,0 +1,199 @@
+<!-- report.md is exported report.org, please modify that instead. -->
+[[!sidebar content=""]]
+
+This file is automatically exported from [/2024/report.org](/2024/report.org). You might prefer to navigate this as an Org file instead. To do so, [clone the wiki repository](https://emacsconf.org/edit/).
+[[!meta title="EmacsConf 2024 Report"]]
+[[!date "2024-12-28"]]
+[[!meta copyright="Copyright &copy; 2024 Sacha Chua"]]
+
+
+# Table of Contents
+
+- [Overview](#overview)
+- [Technical details](#technical-details)
+- [Process improvements](#process-improvements)
+- [Finances](#finances)
+- [Acknowledgements](#acknowledgements)
+- [Updates](#updates)
+
+
+<a id="overview"></a>
+
+# Overview
+
+EmacsConf 2024 was held on December 7 and 8 as an online conference. We had 31 talks across two tracks (general and development), with a total of 11 hours of presentations, 8 hours of Q&A via web conference, and lots of lively discussion across IRC and Etherpad. Throughout the conference, there were up to 430 people watching via the livestream, and more than 80 people joined the live Q&A web conferences. There were also satellite events in Switzerland and Slovenia where people watched together.
+
+Thanks to volunteers who edited captions for pre-recorded videos, we were able to broadcast all the early submissions with open captions. This not only made talks more accessible while watching the livestreams, but it also made it easier to enjoy the talks in noisy environments or to catch up on talks. People said:
+
+We posted pre-recorded videos and transcripts on talk pages shortly after they started streaming, and the recordings of live talks and Q&A sessions are now also available. We've also archived questions and comments from IRC and Etherpad onto the talk pages. You can find the talk pages at <https://emacsconf.org/2024/talks> . The videos are also available on Toobnix (<https://toobnix.org/c/emacsconf/videos>) and YouTube (<https://www.youtube.com/@EmacsConf>).
+
+Overall, people said:
+
+- "It's the first time I've been able to attend the whole conference live, and it's been great fun, I've had a blast :)"
+- "Thanks again to the organizers, and presenters for many great talks, and participants for interesting exchanges, see you all next year (fingers crossed)"
+- "EmacsConf is one of the big highlights of my year every year."
+
+
+<a id="technical-details"></a>
+
+# Technical details
+
+EmacsConf is committed to software freedom. We used the following tools
+for this year's conference:
+
+- [Org Mode](https://orgmode.org/), [Emacs](https://www.gnu.org/software/emacs/): organization and collaboration
+- [MPV](https://mpv.io): video player
+- [BigBlueButton](https://bigbluebutton.org/): web conference
+- [OBS Studio](https://obsproject.com/): streaming
+- [TigerVNC](https://tigervnc.org/): controlling the remote server
+- [Icecast](https://icecast.org/): streaming WEBM
+- [Internet Relay Chat via Libera.chat](https://libera.chat/), [The Lounge](https://thelounge.chat/), and [ERC](https://www.gnu.org/software/emacs/erc.html): conversation
+- [Mumble](https://www.mumble.info/): audio conferencing for coordination
+- [Etherpad](https://etherpad.org/): questions and notes
+- [Ikiwiki](https://ikiwiki.info/): website
+- [PsiTransfer](https://github.com/psi-4ward/psitransfer): uploads
+- [FFmpeg](https://ffmpeg.org): video and audio processing
+- [Audacity](https://www.audacityteam.org/): audio editing
+- [WhisperX](https://github.com/m-bain/whisperX): captioning
+- [Aeneas](https://www.readbeyond.it/aeneas/): forced alignment to get timestamps
+- [subed-mode](https://codeberg.org/sachac/subed): captioning
+- [Git](https://git-scm.com/): version control
+- [Mailman](https://list.org/): mailing lists; service provided by the Free Software Foundation
+- [Nginx](https://www.nginx.com/): web server; server provided by the Free Software Foundation
+- [Ansible](https://www.ansible.com/): system configuration
+
+You can find out more about our infrastructure at
+<https://emacsconf.org/infra> .
+
+
+<a id="process-improvements"></a>
+
+# Process improvements
+
+This year we tried out the following experiments:
+
+- BigBlueButton 3.0: We set up our own server since the previous donated server was decommissioned.
+ Using BBB 3.0 let us customize the on-screen layout and export recorded videos easily.
+- We added an open mic session and moved some of our closing remarks earlier. This let people share last-minute updates and also allowed us to wrap up the conference more promptly.
+- We used WhisperX for the first draft of captions for improved performance.
+- Automatic normalization with ffmpeg-normalize didn't work out, so we manually normalized the video files.
+- We needed to upgrade MPV to v0.38 in order to deal with palette smearing.
+- In addition to livestreaming to live.emacsconf.org via Icecast, we also livestreamed via YouTube. We were unable to livestream via Toobnix due to technical difficulties.
+- We experimented with upgrading the streaming server to a 64GB 32core dedicated CPU server, but this additional capacity was not needed. We downgraded back to 64GB 16core shared.
+- We updated the wiki layout to include sticky videos on the talk pages.
+- We developed more tools for copying IRC messages to the clipboard, checking and adjusting subtitle timing, and cropping media files.
+- We offered stickers and pins as tokens of appreciation.
+
+For in-depth notes, see <https://sachachua.com/blog/2024/12/emacsconf-2024-notes/> .
+
+Next year we're looking forward to building on top of even more documentation and automation. Fun!
+
+
+<a id="finances"></a>
+
+# Finances
+
+Costs (USD, not including 13% tax):
+
+<table>
+
+
+<colgroup>
+<col class="org-right">
+
+<col class="org-left">
+</colgroup>
+<tbody>
+<tr>
+<td class="org-right">52.54</td>
+<td class="org-left">Extra costs for hosting in December</td>
+</tr>
+
+<tr>
+<td class="org-right">3.11</td>
+<td class="org-left">Extra costs for BBB testing in November</td>
+</tr>
+
+<tr>
+<td class="org-right">120</td>
+<td class="org-left">Hosting costs year-round (two Linode nanodes)</td>
+</tr>
+</tbody>
+</table>
+
+Total of USD 175.65 + tax, or USD 198.48 for 2024.
+
+Thanks to people who donated through the [Working
+Together](https://www.fsf.org/working-together/fund) program of the Free Software Foundation,
+we are well-equipped to cover those costs for this
+year.
+
+
+<a id="acknowledgements"></a>
+
+# Acknowledgements
+
+We would like to thank the following:
+
+- Thank you to all the speakers, volunteers, and participants, and to all those other people in our lives who make it possible through time and support.
+- Thanks to Leo Vivier and Corwin Brust for hosting the sessions, and to FlowyCoder for checking people in.
+- Thanks to our proposal review volunteers James Howell, JC Helary, and others for helping with the early acceptance process.
+- Thanks to our captioning volunteers: Mark Lewin, Rodrigo Morales, Anush, annona, and James Howell, and some speakers who captioned their own talks.
+- Thanks to Leo Vivier for fiddling with the audio to get things nicely synced.
+- Thanks to volunteers who kept the mailing lists free from spam.
+- Thanks to Bhavin Gandhi, Christopher Howard, Joseph Turner, and screwlisp for quality-checking.
+- Thanks to shoshin for the music.
+- Thanks to Amin Bandali for help with infrastructure and communication.
+- Thanks to Ry P for the server that we're using for OBS streaming and for processing videos.
+- Thanks to the Free Software Foundation for Emacs itself, the mailing lists, the media.emacsconf.org server, and handling donations on our behalf through the FSF Working Together program. <https://www.fsf.org/working-together/fund>
+- Thanks to the many users and contributers and project teams that create all the awesome free software we use, especially: BigBlueButton, Etherpad, Icecast, OBS, TheLounge, libera.chat, ffmpeg, OpenAI Whisper, WhisperX, the aeneas forced alignment tool, PsiTransfer, subed, and many, many other tools and services we used to prepare and host this years conference
+- Thanks to everyone!
+
+
+<a id="updates"></a>
+
+# Updates
+
+If you would like to get updates and announcements, you can sign up at
+<https://lists.gnu.org/mailman/listinfo/emacsconf-discuss> .
+
+Please keep an eye out for interesting things that
+might be fun to present at next year's EmacsConf.
+We'd love to get talks at all levels of experience
+and about lots of different kinds of interests.
+Previous speakers wrote:
+
+- "I always got the feeling of being heard and
+ welcome in spite of the vast distances and
+ cultures separating us. This community always
+ feels like it is open to new members any time.
+ With regards to the conference process also, it
+ was a microcosm of the bigger community and
+ hence I got the same feeling. You didn't have to
+ be an expert or a person who's been using emacs
+ for a long time to talk about something useful
+ for the community. Even the struggles of a noob
+ may be useful for someone else in the
+ community."
+- "I can honestly say though that I had a great
+ time putting my talk together. I hope people
+ will have a good time listening to it. Now that
+ the work is over, I can say it was worth it. so
+ I recommend it warmly"
+- "This has been an all-around fantastic
+ experience, both as a first-time attendee and
+ speaker. many thanks to the volunteers who make
+ emacsconf possible, and the other speakers for
+ their wonderful talks (many of which i'll be
+ reviewing now that i'm not so busy preparing)"
+
+If you'd like to volunteer for EmacsConf, check
+out <https://emacsconf.org/volunteer/> to see if
+anything resonates with you, and e-mail us at
+<mailto:emacsconf-org@gnu.org>. We'd love to have
+you on board.
+
+Hope to see you next year!
+
+- Sacha Chua
+
diff --git a/2024/report.org b/2024/report.org
new file mode 100644
index 00000000..2591a9d8
--- /dev/null
+++ b/2024/report.org
@@ -0,0 +1,237 @@
+# [[elisp:(org-md-export-to-markdown)][Export this file to Markdown]]
+
+#+begin_export md
+<!-- report.md is exported report.org, please modify that instead. -->
+[[!sidebar content=""]]
+
+This file is automatically exported from [/2024/report.org](/2024/report.org). You might prefer to navigate this as an Org file instead. To do so, [clone the wiki repository](https://emacsconf.org/edit/).
+[[!meta title="EmacsConf 2024 Report"]]
+[[!date "2024-12-28"]]
+[[!meta copyright="Copyright &copy; 2024 Sacha Chua"]]
+#+end_export
+
+#+TOC: headlines 1
+
+* COMMENT About this document
+:PROPERTIES:
+:CUSTOM_ID: comment-about-this-document
+:END:
+
+Goal for this document:
+
+- summarize results of EmacsConf into something that we can pull
+ relevant excerpts from depending on the audience
+ - fundraising, FSF
+
+Examples:
+
+- https://emacsconf.org/2023/report/
+- [[https://www.linkedin.com/pulse/pycon-namibia-2023-report-pycon-namibia]] - brief
+- [[https://pycon.blogspot.com/2023/06/pycon-us-2023-recap-and-recording.html]] - recap PDF with stats and quotes
+- [[https://media.debconf.org/dc14/report/DebConf14_final_report.en.pdf]] - PDF with lots of details
+- [[https://www.fsf.org/blogs/community/from-freedom-trail-to-free-boot-and-free-farms-charting-the-course-at-libreplanet-day-2]]
+
+* COMMENT Generating stats
+
+Other notes from
+https://sachachua.com/blog/2024/12/emacsconf-2024-notes/
+
+** Presentation and Q&A stats
+
+#+begin_src emacs-lisp :results table replace :exports results :eval never-export
+(let ((main
+ (seq-remove (lambda (o) (string-match "\\(sat\\|sun\\)-\\(open\\|close\\)" o))
+ (directory-files emacsconf-cache-dir t "--main.webm")))
+ (answers
+ (seq-remove (lambda (o) (string-match "\\(sat\\|sun\\)-\\(open\\|close\\)" o))
+ (directory-files emacsconf-cache-dir t "--answers.webm"))))
+ `(("Talks" ,(length main))
+ ("Hours" ,(format "%.1f" (/ (apply '+ (mapcar #'compile-media-get-file-duration-ms main)) (* 1000 60 60))))
+ ("Q&A web conferences" ,(length answers))
+ ("Hours" ,(format "%.1f" (/ (apply '+ (mapcar #'compile-media-get-file-duration-ms answers)) (* 1000 60 60))))))
+#+end_src
+
+#+RESULTS:
+:results:
+| Talks | 31 |
+| Hours | 10.7 |
+| Q&A web conferences | 21 |
+| Hours | 7.8 |
+:end:
+
+** BigBlueButton
+
+#+begin_src emacs-lisp :results table :eval never-export
+(emacsconf-extract-bbb-report
+ (directory-files-recursively
+ "~/proj/emacsconf/2024/backups/bigbluebutton/recording/raw"
+ "events.xml"))
+#+end_src
+
+#+RESULTS:
+:results:
+| 107 | Max number of simultaneous users |
+| 7 | Max number of simultaneous meetings |
+| 25 | Max number of people in one meeting |
+| 102 | Total unique users |
+| 40 | Total unique talking |
+:end:
+
+* Overview
+:PROPERTIES:
+:CUSTOM_ID: overview
+:END:
+
+EmacsConf 2024 was held on December 7 and 8 as an online conference. We had 31 talks across two tracks (general and development), with a total of 11 hours of presentations, 8 hours of Q&A via web conference, and lots of lively discussion across IRC and Etherpad. Throughout the conference, there were up to 430 people watching via the livestream, and more than 80 people joined the live Q&A web conferences. There were also satellite events in Switzerland and Slovenia where people watched together.
+
+Thanks to volunteers who edited captions for pre-recorded videos, we were able to broadcast all the early submissions with open captions. This not only made talks more accessible while watching the livestreams, but it also made it easier to enjoy the talks in noisy environments or to catch up on talks. People said:
+
+We posted pre-recorded videos and transcripts on talk pages shortly after they started streaming, and the recordings of live talks and Q&A sessions are now also available. We've also archived questions and comments from IRC and Etherpad onto the talk pages. You can find the talk pages at [[https://emacsconf.org/2024/talks]] . The videos are also available on Toobnix ([[https://toobnix.org/c/emacsconf/videos]]) and YouTube ([[https://www.youtube.com/@EmacsConf]]).
+
+Overall, people said:
+
+- "It's the first time I've been able to attend the whole conference live, and it's been great fun, I've had a blast :)"
+- "Thanks again to the organizers, and presenters for many great talks, and participants for interesting exchanges, see you all next year (fingers crossed)"
+- "EmacsConf is one of the big highlights of my year every year."
+
+* Technical details
+:PROPERTIES:
+:CUSTOM_ID: technical-details
+:END:
+
+EmacsConf is committed to software freedom. We used the following tools
+for this year's conference:
+
+- [[https://orgmode.org/][Org Mode]], [[https://www.gnu.org/software/emacs/][Emacs]]: organization and collaboration
+- [[https://mpv.io][MPV]]: video player
+- [[https://bigbluebutton.org/][BigBlueButton]]: web conference
+- [[https://obsproject.com/][OBS Studio]]: streaming
+- [[https://tigervnc.org/][TigerVNC]]: controlling the remote server
+- [[https://icecast.org/][Icecast]]: streaming WEBM
+- [[https://libera.chat/][Internet Relay Chat via Libera.chat]], [[https://thelounge.chat/][The Lounge]], and [[https://www.gnu.org/software/emacs/erc.html][ERC]]: conversation
+- [[https://www.mumble.info/][Mumble]]: audio conferencing for coordination
+- [[https://etherpad.org/][Etherpad]]: questions and notes
+- [[https://ikiwiki.info/][Ikiwiki]]: website
+- [[https://github.com/psi-4ward/psitransfer][PsiTransfer]]: uploads
+- [[https://ffmpeg.org][FFmpeg]]: video and audio processing
+- [[https://www.audacityteam.org/][Audacity]]: audio editing
+- [[https://github.com/m-bain/whisperX][WhisperX]]: captioning
+- [[https://www.readbeyond.it/aeneas/][Aeneas]]: forced alignment to get timestamps
+- [[https://codeberg.org/sachac/subed][subed-mode]]: captioning
+- [[https://git-scm.com/][Git]]: version control
+- [[https://list.org/][Mailman]]: mailing lists; service provided by the Free Software Foundation
+- [[https://www.nginx.com/][Nginx]]: web server; server provided by the Free Software Foundation
+- [[https://www.ansible.com/][Ansible]]: system configuration
+
+You can find out more about our infrastructure at
+[[https://emacsconf.org/infra]] .
+
+* Process improvements
+:PROPERTIES:
+:CUSTOM_ID: process-improvements
+:END:
+
+This year we tried out the following experiments:
+
+- BigBlueButton 3.0: We set up our own server since the previous donated server was decommissioned.
+ Using BBB 3.0 let us customize the on-screen layout and export recorded videos easily.
+- We added an open mic session and moved some of our closing remarks earlier. This let people share last-minute updates and also allowed us to wrap up the conference more promptly.
+- We used WhisperX for the first draft of captions for improved performance.
+- Automatic normalization with ffmpeg-normalize didn't work out, so we manually normalized the video files.
+- We needed to upgrade MPV to v0.38 in order to deal with palette smearing.
+- In addition to livestreaming to live.emacsconf.org via Icecast, we also livestreamed via YouTube. We were unable to livestream via Toobnix due to technical difficulties.
+- We experimented with upgrading the streaming server to a 64GB 32core dedicated CPU server, but this additional capacity was not needed. We downgraded back to 64GB 16core shared.
+- We updated the wiki layout to include sticky videos on the talk pages.
+- We developed more tools for copying IRC messages to the clipboard, checking and adjusting subtitle timing, and cropping media files.
+- We offered stickers and pins as tokens of appreciation.
+
+For in-depth notes, see https://sachachua.com/blog/2024/12/emacsconf-2024-notes/ .
+
+Next year we're looking forward to building on top of even more documentation and automation. Fun!
+
+* Finances
+:PROPERTIES:
+:CUSTOM_ID: finances
+:END:
+
+Costs (USD, not including 13% tax):
+
+| 52.54 | Extra costs for hosting in December |
+| 3.11 | Extra costs for BBB testing in November |
+| 120 | Hosting costs year-round (two Linode nanodes) |
+
+Total of USD 175.65 + tax, or USD 198.48 for 2024.
+
+Thanks to people who donated through the [[https://www.fsf.org/working-together/fund][Working
+Together]] program of the Free Software Foundation,
+we are well-equipped to cover those costs for this
+year.
+
+* Acknowledgements
+:PROPERTIES:
+:CUSTOM_ID: acknowledgements
+:END:
+
+We would like to thank the following:
+
+- Thank you to all the speakers, volunteers, and participants, and to all those other people in our lives who make it possible through time and support.
+- Thanks to Leo Vivier and Corwin Brust for hosting the sessions, and to FlowyCoder for checking people in.
+- Thanks to our proposal review volunteers James Howell, JC Helary, and others for helping with the early acceptance process.
+- Thanks to our captioning volunteers: Mark Lewin, Rodrigo Morales, Anush, annona, and James Howell, and some speakers who captioned their own talks.
+- Thanks to Leo Vivier for fiddling with the audio to get things nicely synced.
+- Thanks to volunteers who kept the mailing lists free from spam.
+- Thanks to Bhavin Gandhi, Christopher Howard, Joseph Turner, and screwlisp for quality-checking.
+- Thanks to shoshin for the music.
+- Thanks to Amin Bandali for help with infrastructure and communication.
+- Thanks to Ry P for the server that we're using for OBS streaming and for processing videos.
+- Thanks to the Free Software Foundation for Emacs itself, the mailing lists, the media.emacsconf.org server, and handling donations on our behalf through the FSF Working Together program. https://www.fsf.org/working-together/fund
+- Thanks to the many users and contributers and project teams that create all the awesome free software we use, especially: BigBlueButton, Etherpad, Icecast, OBS, TheLounge, libera.chat, ffmpeg, OpenAI Whisper, WhisperX, the aeneas forced alignment tool, PsiTransfer, subed, and many, many other tools and services we used to prepare and host this years conference
+- Thanks to everyone!
+
+* Updates
+:PROPERTIES:
+:CUSTOM_ID: updates
+:END:
+
+If you would like to get updates and announcements, you can sign up at
+[[https://lists.gnu.org/mailman/listinfo/emacsconf-discuss]] .
+
+Please keep an eye out for interesting things that
+might be fun to present at next year's EmacsConf.
+We'd love to get talks at all levels of experience
+and about lots of different kinds of interests.
+Previous speakers wrote:
+
+- "I always got the feeling of being heard and
+ welcome in spite of the vast distances and
+ cultures separating us. This community always
+ feels like it is open to new members any time.
+ With regards to the conference process also, it
+ was a microcosm of the bigger community and
+ hence I got the same feeling. You didn't have to
+ be an expert or a person who's been using emacs
+ for a long time to talk about something useful
+ for the community. Even the struggles of a noob
+ may be useful for someone else in the
+ community."
+- "I can honestly say though that I had a great
+ time putting my talk together. I hope people
+ will have a good time listening to it. Now that
+ the work is over, I can say it was worth it. so
+ I recommend it warmly"
+- "This has been an all-around fantastic
+ experience, both as a first-time attendee and
+ speaker. many thanks to the volunteers who make
+ emacsconf possible, and the other speakers for
+ their wonderful talks (many of which i'll be
+ reviewing now that i'm not so busy preparing)"
+
+If you'd like to volunteer for EmacsConf, check
+out https://emacsconf.org/volunteer/ to see if
+anything resonates with you, and e-mail us at
+mailto:emacsconf-org@gnu.org. We'd love to have
+you on board.
+
+Hope to see you next year!
+
+- Sacha Chua
diff --git a/2024/schedule-details.md b/2024/schedule-details.md
index 34db3ccc..a769e01b 100644
--- a/2024/schedule-details.md
+++ b/2024/schedule-details.md
@@ -15,7 +15,7 @@ Jump to: <a href="#dev">Development</a>
[[!template id=sched resources="""<li><a href="https://media.emacsconf.org/2024/emacsconf-2024-links--unlocking-linked-data-replacing-specialized-apps-with-an-orgbased-semantic-wiki--abhinav-tushar--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-links--unlocking-linked-data-replacing-specialized-apps-with-an-orgbased-semantic-wiki--abhinav-tushar--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-links--unlocking-linked-data-replacing-specialized-apps-with-an-orgbased-semantic-wiki--abhinav-tushar--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-links--unlocking-linked-data-replacing-specialized-apps-with-an-orgbased-semantic-wiki--abhinav-tushar--main.webm">Download --main.webm (21MB)</a></li>""" title="""Unlocking linked data: replacing specialized apps with an Org-based semantic wiki""" url="""/2024/talks/links""" speakers="""Abhinav Tushar""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""links""" note="""captioned, video posted, video: 11:21"""]]
[[!template id=sched resources="""<li><a href="https://media.emacsconf.org/2024/emacsconf-2024-regex--emacs-regex-compilation-and-future-directions-for-expressive-pattern-matching--danny-mcclanahan--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-regex--emacs-regex-compilation-and-future-directions-for-expressive-pattern-matching--danny-mcclanahan--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-regex--emacs-regex-compilation-and-future-directions-for-expressive-pattern-matching--danny-mcclanahan--main.webm">Download --main.webm (199MB)</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-regex--emacs-regex-compilation-and-future-directions-for-expressive-pattern-matching--danny-mcclanahan--slides.pdf">Download --slides.pdf</a></li>""" title="""Emacs regex compilation and future directions for expressive pattern matching""" url="""/2024/talks/regex""" speakers="""Danny McClanahan""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""regex""" note="""captioned, video posted, video: 24:56"""]]
[[!template id=sched resources="""<li><a href="https://media.emacsconf.org/2024/emacsconf-2024-learning--survival-of-the-skillest-thriving-in-the-learning-jungle--bala-ramadurai--answers--chapters.vtt">Download --answers--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-learning--survival-of-the-skillest-thriving-in-the-learning-jungle--bala-ramadurai--answers--edited.opus">Download --answers--edited.opus (20MB)</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-learning--survival-of-the-skillest-thriving-in-the-learning-jungle--bala-ramadurai--answers.opus">Download --answers.opus (11MB)</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-learning--survival-of-the-skillest-thriving-in-the-learning-jungle--bala-ramadurai--answers.vtt">Download --answers.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-learning--survival-of-the-skillest-thriving-in-the-learning-jungle--bala-ramadurai--answers.webm">Download --answers.webm (57MB)</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-learning--survival-of-the-skillest-thriving-in-the-learning-jungle--bala-ramadurai--edited.webm">Download --edited.webm (57MB)</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-learning--survival-of-the-skillest-thriving-in-the-learning-jungle--bala-ramadurai--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-learning--survival-of-the-skillest-thriving-in-the-learning-jungle--bala-ramadurai--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-learning--survival-of-the-skillest-thriving-in-the-learning-jungle--bala-ramadurai--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-learning--survival-of-the-skillest-thriving-in-the-learning-jungle--bala-ramadurai--main.webm">Download --main.webm (137MB)</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-learning--survival-of-the-skillest-thriving-in-the-learning-jungle--bala-ramadurai--slides.pdf">Download --slides.pdf (9.5MB)</a></li>""" title="""Survival of the skillest: Thriving in the learning jungle""" url="""/2024/talks/learning""" speakers="""Bala Ramadurai""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""learning""" note="""captioned, video posted, Q&A posted, video: 19:39, answers: 24:41"""]]
-[[!template id=sched resources="""<li><a href="https://media.emacsconf.org/2024/emacsconf-2024-blee--about-blee-towards-an-integrated-emacs-environment-for-enveloping-our-own-autonomy-directed-digital-ecosystem--mohsen-banan--answers--chapters.vtt">Download --answers--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-blee--about-blee-towards-an-integrated-emacs-environment-for-enveloping-our-own-autonomy-directed-digital-ecosystem--mohsen-banan--answers.opus">Download --answers.opus (8.9MB)</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-blee--about-blee-towards-an-integrated-emacs-environment-for-enveloping-our-own-autonomy-directed-digital-ecosystem--mohsen-banan--answers.vtt">Download --answers.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-blee--about-blee-towards-an-integrated-emacs-environment-for-enveloping-our-own-autonomy-directed-digital-ecosystem--mohsen-banan--answers.webm">Download --answers.webm (41MB)</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-blee--about-blee-towards-an-integrated-emacs-environment-for-enveloping-our-own-autonomy-directed-digital-ecosystem--mohsen-banan--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-blee--about-blee-towards-an-integrated-emacs-environment-for-enveloping-our-own-autonomy-directed-digital-ecosystem--mohsen-banan--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-blee--about-blee-towards-an-integrated-emacs-environment-for-enveloping-our-own-autonomy-directed-digital-ecosystem--mohsen-banan--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-blee--about-blee-towards-an-integrated-emacs-environment-for-enveloping-our-own-autonomy-directed-digital-ecosystem--mohsen-banan--main.webm">Download --main.webm (110MB)</a></li>""" title="""About Blee: enveloping our own autonomy directed digital ecosystem with Emacs""" url="""/2024/talks/blee""" speakers="""Mohsen BANAN""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""blee""" note="""captioned, video posted, Q&A posted, video: 45:30, answers: 18:11"""]]
+[[!template id=sched resources="""<li><a href="https://media.emacsconf.org/2024/emacsconf-2024-blee--about-blee-towards-an-integrated-emacs-environment-for-enveloping-our-own-autonomy-directed-digital-ecosystem--mohsen-banan--answers--chapters.vtt">Download --answers--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-blee--about-blee-towards-an-integrated-emacs-environment-for-enveloping-our-own-autonomy-directed-digital-ecosystem--mohsen-banan--answers.opus">Download --answers.opus (8.9MB)</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-blee--about-blee-towards-an-integrated-emacs-environment-for-enveloping-our-own-autonomy-directed-digital-ecosystem--mohsen-banan--answers.vtt">Download --answers.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-blee--about-blee-towards-an-integrated-emacs-environment-for-enveloping-our-own-autonomy-directed-digital-ecosystem--mohsen-banan--answers.webm">Download --answers.webm (41MB)</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-blee--about-blee-towards-an-integrated-emacs-environment-for-enveloping-our-own-autonomy-directed-digital-ecosystem--mohsen-banan--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-blee--about-blee-towards-an-integrated-emacs-environment-for-enveloping-our-own-autonomy-directed-digital-ecosystem--mohsen-banan--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-blee--about-blee-towards-an-integrated-emacs-environment-for-enveloping-our-own-autonomy-directed-digital-ecosystem--mohsen-banan--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-blee--about-blee-towards-an-integrated-emacs-environment-for-enveloping-our-own-autonomy-directed-digital-ecosystem--mohsen-banan--main.webm">Download --main.webm (110MB)</a></li>""" title="""About Blee: enveloping our own autonomy directed digital ecosystem with Emacs""" url="""/2024/talks/blee""" speakers="""Mohsen BANAN""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""blee""" note="""captioned, video posted, Q&A posted, video: 45:30, answers: 18:11"""]]
[[!template id=sched resources="""<li><a href="https://media.emacsconf.org/2024/emacsconf-2024-hyperbole--fun-things-with-gnu-hyperbole--mats-lidell--answers--chapters.vtt">Download --answers--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-hyperbole--fun-things-with-gnu-hyperbole--mats-lidell--answers.opus">Download --answers.opus (8.1MB)</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-hyperbole--fun-things-with-gnu-hyperbole--mats-lidell--answers.vtt">Download --answers.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-hyperbole--fun-things-with-gnu-hyperbole--mats-lidell--answers.webm">Download --answers.webm (30MB)</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-hyperbole--fun-things-with-gnu-hyperbole--mats-lidell--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-hyperbole--fun-things-with-gnu-hyperbole--mats-lidell--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-hyperbole--fun-things-with-gnu-hyperbole--mats-lidell--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-hyperbole--fun-things-with-gnu-hyperbole--mats-lidell--main.webm">Download --main.webm (47MB)</a></li>""" title="""Fun things with GNU Hyperbole""" url="""/2024/talks/hyperbole""" speakers="""Mats Lidell""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""hyperbole""" note="""captioned, video posted, Q&A posted, video: 14:10, answers: 21:56"""]]
[[!template id=sched resources="""<li><a href="https://media.emacsconf.org/2024/emacsconf-2024-pgmacs--pgmacs-browsing-and-editing-postgresql-databases-from-emacs--eric-marsden--answers--chapters.vtt">Download --answers--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-pgmacs--pgmacs-browsing-and-editing-postgresql-databases-from-emacs--eric-marsden--answers.opus">Download --answers.opus (12MB)</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-pgmacs--pgmacs-browsing-and-editing-postgresql-databases-from-emacs--eric-marsden--answers.vtt">Download --answers.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-pgmacs--pgmacs-browsing-and-editing-postgresql-databases-from-emacs--eric-marsden--answers.webm">Download --answers.webm (38MB)</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-pgmacs--pgmacs-browsing-and-editing-postgresql-databases-from-emacs--eric-marsden--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-pgmacs--pgmacs-browsing-and-editing-postgresql-databases-from-emacs--eric-marsden--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-pgmacs--pgmacs-browsing-and-editing-postgresql-databases-from-emacs--eric-marsden--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-pgmacs--pgmacs-browsing-and-editing-postgresql-databases-from-emacs--eric-marsden--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-pgmacs--pgmacs-browsing-and-editing-postgresql-databases-from-emacs--eric-marsden--main.webm">Download --main.webm (43MB)</a></li>""" title="""PGmacs: browsing and editing PostgreSQL databases from Emacs""" url="""/2024/talks/pgmacs""" speakers="""Eric Marsden""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""pgmacs""" note="""captioned, video posted, Q&A posted, video: 13:17, answers: 20:02"""]]
[[!template id=sched resources="""<li><a href="https://media.emacsconf.org/2024/emacsconf-2024-literate--literate-programming-for-the-21st-century--howard-abrams--answers--chapters.vtt">Download --answers--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-literate--literate-programming-for-the-21st-century--howard-abrams--answers.opus">Download --answers.opus (12MB)</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-literate--literate-programming-for-the-21st-century--howard-abrams--answers.vtt">Download --answers.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-literate--literate-programming-for-the-21st-century--howard-abrams--answers.webm">Download --answers.webm (56MB)</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-literate--literate-programming-for-the-21st-century--howard-abrams--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-literate--literate-programming-for-the-21st-century--howard-abrams--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-literate--literate-programming-for-the-21st-century--howard-abrams--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-literate--literate-programming-for-the-21st-century--howard-abrams--main.webm">Download --main.webm (42MB)</a></li>""" title="""Literate programming for the 21st Century""" url="""/2024/talks/literate""" speakers="""Howard Abrams""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""literate""" note="""captioned, video posted, Q&A posted, video: 15:51, answers: 22:48"""]]
diff --git a/2024/talks/literate.md b/2024/talks/literate.md
index 82319369..94f5332c 100644
--- a/2024/talks/literate.md
+++ b/2024/talks/literate.md
@@ -232,6 +232,8 @@ Feedback:
- I for one had been looking forward to this particular talk, so there's that :)
- YouTube comment: Legend!
- YouTube comment: Howard! Your videos have been such an amazing source of information. You voice is engrained in my brains haha
+- Somehow my interest in #emacs reignited and a lot of is due to org presentation by @howard [@mms@bsd.cafe](https://mastodon.bsd.cafe/@mms/113724843960332570)
+
[[!inline pages="internal(2024/info/literate-after)" raw="yes"]]
diff --git a/2024/talks/sun-close.md b/2024/talks/sun-close.md
index 56f74ff8..66ed8965 100644
--- a/2024/talks/sun-close.md
+++ b/2024/talks/sun-close.md
@@ -77,11 +77,6 @@
- \<@sachac\> robin: I write to the pads with Emacs Lisp, but
I don't know how to, say, append considering the realtime
edits
-- \<robin\> this has been an all-around fantastic experience, both as
- a first-time attendee and speaker. many thanks to the volunteers who
- make emacsconf possible, and the other speakers for their wonderful
- talks (many of which i'll be reviewing now that i'm not so busy
- preparing \^\^)
- Things that have been working well
- Crontab
- Automation
@@ -196,7 +191,7 @@
- Ask speakers what kind of facilitation they want
- \<kickingvegas\> wish for next year: localized schedule times on
the emacsconf website
-
+ - Next year, I'll add pronouns and pronunciations to the Etherpad template
[[!inline pages="internal(2024/info/sun-close-after)" raw="yes"]]