summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--2023/captions/emacsconf-2023-hyperdrive--hyperdriveel-peertopeer-filesystem-in-emacs--joseph-turner--main--chapters.vtt41
-rw-r--r--2023/captions/emacsconf-2023-unentangling--unentangling-projects-and-repos--alexey-bochkarev--main--chapters.vtt26
-rw-r--r--2023/captions/emacsconf-2023-unentangling--unentangling-projects-and-repos--alexey-bochkarev--main.vtt81
-rw-r--r--2023/info/adventure-after.md21
-rw-r--r--2023/info/adventure-before.md6
-rw-r--r--2023/info/adventure-nav.md2
-rw-r--r--2023/info/collab-after.md33
-rw-r--r--2023/info/collab-before.md6
-rw-r--r--2023/info/collab-nav.md2
-rw-r--r--2023/info/core-after.md5
-rw-r--r--2023/info/core-before.md4
-rw-r--r--2023/info/core-nav.md2
-rw-r--r--2023/info/cubing-after.md53
-rw-r--r--2023/info/cubing-before.md6
-rw-r--r--2023/info/cubing-nav.md2
-rw-r--r--2023/info/devel-after.md5
-rw-r--r--2023/info/devel-before.md4
-rw-r--r--2023/info/devel-nav.md2
-rw-r--r--2023/info/doc-after.md102
-rw-r--r--2023/info/doc-before.md8
-rw-r--r--2023/info/doc-nav.md2
-rw-r--r--2023/info/eat-after.md41
-rw-r--r--2023/info/eat-before.md4
-rw-r--r--2023/info/eat-nav.md2
-rw-r--r--2023/info/emacsconf-after.md78
-rw-r--r--2023/info/emacsconf-before.md8
-rw-r--r--2023/info/emacsconf-nav.md2
-rw-r--r--2023/info/emacsen-after.md54
-rw-r--r--2023/info/emacsen-before.md8
-rw-r--r--2023/info/emacsen-nav.md2
-rw-r--r--2023/info/emms-after.md114
-rw-r--r--2023/info/emms-before.md8
-rw-r--r--2023/info/emms-nav.md2
-rw-r--r--2023/info/eval-after.md29
-rw-r--r--2023/info/eval-before.md6
-rw-r--r--2023/info/eval-nav.md2
-rw-r--r--2023/info/flat-after.md5
-rw-r--r--2023/info/flat-before.md4
-rw-r--r--2023/info/flat-nav.md2
-rw-r--r--2023/info/gc-after.md370
-rw-r--r--2023/info/gc-before.md4
-rw-r--r--2023/info/gc-nav.md2
-rw-r--r--2023/info/hyperamp-after.md5
-rw-r--r--2023/info/hyperamp-before.md6
-rw-r--r--2023/info/hyperamp-nav.md2
-rw-r--r--2023/info/hyperdrive-after.md62
-rw-r--r--2023/info/hyperdrive-before.md21
-rw-r--r--2023/info/hyperdrive-nav.md2
-rw-r--r--2023/info/koutline-after.md5
-rw-r--r--2023/info/koutline-before.md4
-rw-r--r--2023/info/koutline-nav.md2
-rw-r--r--2023/info/llm-after.md62
-rw-r--r--2023/info/llm-before.md8
-rw-r--r--2023/info/llm-nav.md2
-rw-r--r--2023/info/lspocaml-after.md82
-rw-r--r--2023/info/lspocaml-before.md8
-rw-r--r--2023/info/lspocaml-nav.md2
-rw-r--r--2023/info/matplotllm-after.md25
-rw-r--r--2023/info/matplotllm-before.md6
-rw-r--r--2023/info/matplotllm-nav.md2
-rw-r--r--2023/info/mentor-after.md90
-rw-r--r--2023/info/mentor-before.md6
-rw-r--r--2023/info/mentor-nav.md2
-rw-r--r--2023/info/nabokov-after.md30
-rw-r--r--2023/info/nabokov-before.md8
-rw-r--r--2023/info/nabokov-nav.md2
-rw-r--r--2023/info/one-after.md58
-rw-r--r--2023/info/one-before.md8
-rw-r--r--2023/info/one-nav.md2
-rw-r--r--2023/info/overlay-after.md114
-rw-r--r--2023/info/overlay-before.md8
-rw-r--r--2023/info/overlay-nav.md2
-rw-r--r--2023/info/parallel-after.md72
-rw-r--r--2023/info/parallel-before.md8
-rw-r--r--2023/info/parallel-nav.md2
-rw-r--r--2023/info/poltys-before.md4
-rw-r--r--2023/info/poltys-nav.md2
-rw-r--r--2023/info/ref-after.md29
-rw-r--r--2023/info/ref-before.md6
-rw-r--r--2023/info/ref-nav.md2
-rw-r--r--2023/info/repl-after.md53
-rw-r--r--2023/info/repl-before.md6
-rw-r--r--2023/info/repl-nav.md2
-rw-r--r--2023/info/sat-close-after.md5
-rw-r--r--2023/info/sat-close-before.md6
-rw-r--r--2023/info/sat-close-nav.md2
-rw-r--r--2023/info/sat-open-after.md5
-rw-r--r--2023/info/sat-open-before.md4
-rw-r--r--2023/info/sat-open-nav.md2
-rw-r--r--2023/info/scheme-after.md224
-rw-r--r--2023/info/scheme-before.md6
-rw-r--r--2023/info/scheme-nav.md2
-rw-r--r--2023/info/sharing-after.md90
-rw-r--r--2023/info/sharing-before.md8
-rw-r--r--2023/info/sharing-nav.md2
-rw-r--r--2023/info/solo-after.md62
-rw-r--r--2023/info/solo-before.md8
-rw-r--r--2023/info/solo-nav.md2
-rw-r--r--2023/info/steno-after.md5
-rw-r--r--2023/info/steno-before.md4
-rw-r--r--2023/info/steno-nav.md2
-rw-r--r--2023/info/sun-close-before.md4
-rw-r--r--2023/info/sun-close-nav.md2
-rw-r--r--2023/info/sun-open-after.md5
-rw-r--r--2023/info/sun-open-before.md4
-rw-r--r--2023/info/sun-open-nav.md2
-rw-r--r--2023/info/table-after.md41
-rw-r--r--2023/info/table-before.md4
-rw-r--r--2023/info/table-nav.md2
-rw-r--r--2023/info/teaching-after.md78
-rw-r--r--2023/info/teaching-before.md8
-rw-r--r--2023/info/teaching-nav.md2
-rw-r--r--2023/info/test-after.md96
-rw-r--r--2023/info/test-before.md8
-rw-r--r--2023/info/test-nav.md2
-rw-r--r--2023/info/unentangling-after.md77
-rw-r--r--2023/info/unentangling-before.md14
-rw-r--r--2023/info/unentangling-nav.md2
-rw-r--r--2023/info/uni-after.md72
-rw-r--r--2023/info/uni-before.md8
-rw-r--r--2023/info/uni-nav.md2
-rw-r--r--2023/info/voice-after.md80
-rw-r--r--2023/info/voice-before.md8
-rw-r--r--2023/info/voice-nav.md2
-rw-r--r--2023/info/web-after.md58
-rw-r--r--2023/info/web-before.md8
-rw-r--r--2023/info/web-nav.md2
-rw-r--r--2023/info/windows-after.md8
-rw-r--r--2023/info/windows-before.md6
-rw-r--r--2023/info/windows-nav.md2
-rw-r--r--2023/info/world-after.md185
-rw-r--r--2023/info/world-before.md8
-rw-r--r--2023/info/world-nav.md2
-rw-r--r--2023/info/writing-after.md42
-rw-r--r--2023/info/writing-before.md8
-rw-r--r--2023/info/writing-nav.md2
-rw-r--r--2023/schedule-2023-12-02.md2
-rw-r--r--2023/schedule-2023-12-03.md2
-rw-r--r--2024/captions/emacsconf-2024-blee--about-blee-towards-an-integrated-emacs-environment-for-enveloping-our-own-autonomy-directed-digital-ecosystem--mohsen-banan--answers.vtt533
-rw-r--r--2024/captions/emacsconf-2024-casual--reimagining-the-emacs-user-experience-with-casual-suite--charles-choi--answers.vtt966
-rw-r--r--2024/captions/emacsconf-2024-color--colour-your-emacs-with-ease--ryota--answers.vtt748
-rw-r--r--2024/captions/emacsconf-2024-emacs30--emacs-30-highlights--philip-kaludercic--answers.vtt957
-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-guile--beguiling-emacs-guileemacs-relaunched--robin-templeton--answers.vtt720
-rw-r--r--2024/captions/emacsconf-2024-gypsum--gypsum-my-clone-of-emacs-and-elisp-written-in-scheme--ramin-honary--answers.vtt725
-rw-r--r--2024/captions/emacsconf-2024-hyperbole--fun-things-with-gnu-hyperbole--mats-lidell--answers.vtt690
-rw-r--r--2024/captions/emacsconf-2024-hyperdrive--new-in-hyperdriveel-quick-install-peer-graph-transclusion--joseph-turner--answers.vtt630
-rw-r--r--2024/captions/emacsconf-2024-julia--exploring-shared-philosophies-in-julia-and-emacs--gabriele-bozzola--answers.vtt346
-rw-r--r--2024/captions/emacsconf-2024-learning--survival-of-the-skillest-thriving-in-the-learning-jungle--bala-ramadurai--answers.vtt961
-rw-r--r--2024/captions/emacsconf-2024-literate--literate-programming-for-the-21st-century--howard-abrams--answers.vtt996
-rw-r--r--2024/captions/emacsconf-2024-mcclim--elisp-and-mcclim--screwlisp--answers.vtt574
-rw-r--r--2024/captions/emacsconf-2024-org-update--the-future-of-org--ihor-radchenko--answers.vtt1294
-rw-r--r--2024/captions/emacsconf-2024-org-update--the-future-of-org--ihor-radchenko--main.vtt2
-rw-r--r--2024/captions/emacsconf-2024-p-search--psearch-a-local-search-engine-in-emacs--zac-romero--answers.vtt2017
-rw-r--r--2024/captions/emacsconf-2024-papers--writing-academic-papers-in-orgroam--vincent-conus--answers.vtt842
-rw-r--r--2024/captions/emacsconf-2024-pgmacs--pgmacs-browsing-and-editing-postgresql-databases-from-emacs--eric-marsden--answers.vtt873
-rw-r--r--2024/captions/emacsconf-2024-project--managing-writing-project-metadata-with-orgmode--blaine-mooers--answers.vtt2423
-rw-r--r--2024/captions/emacsconf-2024-rust--an-experimental-emacs-core-in-rust--troy-hinckley--answers.vtt926
-rw-r--r--2024/captions/emacsconf-2024-students--an-example-of-a-cohesive-student-workflow-in-emacs--daniel-pinkston--answers.vtt846
-rw-r--r--2024/captions/emacsconf-2024-theme--my-journey-of-finding-and-creating-the-perfect-emacs-theme--metrowind--answers.vtt405
-rw-r--r--2024/captions/emacsconf-2024-transducers--transducers-finally-ergonomic-data-processing-for-emacs--colin-woodbury--answers.vtt1032
-rw-r--r--2024/draft-schedule.md68
-rw-r--r--2024/info/blee-after.md44
-rw-r--r--2024/info/blee-before.md9
-rw-r--r--2024/info/casual-before.md9
-rw-r--r--2024/info/color-after.md478
-rw-r--r--2024/info/color-before.md17
-rw-r--r--2024/info/emacs30-after.md864
-rw-r--r--2024/info/emacs30-before.md31
-rw-r--r--2024/info/guile-before.md7
-rw-r--r--2024/info/gypsum-after.md472
-rw-r--r--2024/info/gypsum-before.md25
-rw-r--r--2024/info/hyperbole-before.md9
-rw-r--r--2024/info/hyperdrive-after.md2
-rw-r--r--2024/info/hyperdrive-before.md7
-rw-r--r--2024/info/julia-after.md216
-rw-r--r--2024/info/julia-before.md19
-rw-r--r--2024/info/learning-before.md9
-rw-r--r--2024/info/links-before.md5
-rw-r--r--2024/info/literate-before.md9
-rw-r--r--2024/info/maxima-before.md5
-rw-r--r--2024/info/mcclim-before.md9
-rw-r--r--2024/info/open-mic-before.md5
-rw-r--r--2024/info/org-update-after.md2
-rw-r--r--2024/info/org-update-before.md9
-rw-r--r--2024/info/p-search-before.md9
-rw-r--r--2024/info/papers-after.md41
-rw-r--r--2024/info/papers-before.md9
-rw-r--r--2024/info/pgmacs-before.md9
-rw-r--r--2024/info/project-after.md17
-rw-r--r--2024/info/project-before.md9
-rw-r--r--2024/info/regex-before.md3
-rw-r--r--2024/info/rust-before.md9
-rw-r--r--2024/info/sat-close-before.md3
-rw-r--r--2024/info/sat-open-before.md5
-rw-r--r--2024/info/secrets-before.md5
-rw-r--r--2024/info/sharing-before.md5
-rw-r--r--2024/info/shell-before.md5
-rw-r--r--2024/info/students-before.md7
-rw-r--r--2024/info/sun-close-before.md5
-rw-r--r--2024/info/sun-open-before.md3
-rw-r--r--2024/info/theme-before.md9
-rw-r--r--2024/info/transducers-after.md2
-rw-r--r--2024/info/transducers-before.md13
-rw-r--r--2024/info/water-before.md5
-rw-r--r--2024/info/writing-before.md5
-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.md4
-rw-r--r--2024/talks/blee.md21
-rw-r--r--2024/talks/literate.md2
-rw-r--r--2024/talks/sun-close.md7
-rw-r--r--captioning.md4
-rw-r--r--donors.md6
-rw-r--r--local.css12
-rw-r--r--organizers-notebook.md434
-rw-r--r--organizers-notebook/index.org297
-rw-r--r--script.js227
-rw-r--r--templates/page.tmpl132
-rw-r--r--templates/script.js227
223 files changed, 24234 insertions, 4262 deletions
diff --git a/2023/captions/emacsconf-2023-hyperdrive--hyperdriveel-peertopeer-filesystem-in-emacs--joseph-turner--main--chapters.vtt b/2023/captions/emacsconf-2023-hyperdrive--hyperdriveel-peertopeer-filesystem-in-emacs--joseph-turner--main--chapters.vtt
new file mode 100644
index 00000000..6f7d26b1
--- /dev/null
+++ b/2023/captions/emacsconf-2023-hyperdrive--hyperdriveel-peertopeer-filesystem-in-emacs--joseph-turner--main--chapters.vtt
@@ -0,0 +1,41 @@
+WEBVTT
+
+
+00:00:19.840 --> 00:03:04.599
+Hyperdrives introduction
+
+00:03:04.600 --> 00:04:32.099
+About USHIN and the contributors
+
+00:04:32.646 --> 00:06:06.132
+Basic introduction to Hyperdrive
+
+00:06:06.133 --> 00:12:56.572
+Managing files with Hyperdrive.el
+
+00:12:56.573 --> 00:15:01.233
+Dired like interface
+
+00:15:01.234 --> 00:17:39.973
+History in hyperdrive
+
+00:17:39.973 --> 00:19:20.793
+Use case of sharing large files
+
+00:19:20.913 --> 00:23:26.198
+Drive creation with hyperdrive.el
+
+00:23:26.199 --> 00:30:06.818
+hyperdrive-mirror
+
+00:30:06.819 --> 00:34:20.879
+hyperdrive history
+
+00:34:20.880 --> 00:35:07.119
+Streaming video from hyperdrive
+
+00:35:08.746 --> 00:38:57.540
+hyperdrive.el under the hood
+
+00:38:57.541 --> 00:40:02.859
+Next steps
diff --git a/2023/captions/emacsconf-2023-unentangling--unentangling-projects-and-repos--alexey-bochkarev--main--chapters.vtt b/2023/captions/emacsconf-2023-unentangling--unentangling-projects-and-repos--alexey-bochkarev--main--chapters.vtt
new file mode 100644
index 00000000..d0e8d577
--- /dev/null
+++ b/2023/captions/emacsconf-2023-unentangling--unentangling-projects-and-repos--alexey-bochkarev--main--chapters.vtt
@@ -0,0 +1,26 @@
+WEBVTT
+
+
+00:00:01.220 --> 00:00:43.160
+Introduction
+
+00:00:44.120 --> 00:02:02.180
+The problem
+
+00:02:04.860 --> 00:03:25.280
+Jumping around
+
+00:03:25.280 --> 00:04:46.420
+Capturing
+
+00:04:46.560 --> 00:05:41.780
+Ctags
+
+00:05:43.080 --> 00:07:59.339
+Org Roam
+
+00:07:59.340 --> 00:10:28.880
+How does it work?
+
+00:10:31.860 --> 00:12:38.900
+Time tracking
diff --git a/2023/captions/emacsconf-2023-unentangling--unentangling-projects-and-repos--alexey-bochkarev--main.vtt b/2023/captions/emacsconf-2023-unentangling--unentangling-projects-and-repos--alexey-bochkarev--main.vtt
index a10fafef..1086b80b 100644
--- a/2023/captions/emacsconf-2023-unentangling--unentangling-projects-and-repos--alexey-bochkarev--main.vtt
+++ b/2023/captions/emacsconf-2023-unentangling--unentangling-projects-and-repos--alexey-bochkarev--main.vtt
@@ -1,8 +1,9 @@
-WEBVTT
+WEBVTT captioned by sachac
+NOTE Introduction
00:00:01.220 --> 00:00:03.580
-Hello, I'm Alexey Bychkadov,
+Hello, I'm Alexey Bochkarev,
00:00:03.740 --> 00:00:06.899
and I'm talking about unentangling projects
@@ -46,8 +47,10 @@ So I prepare papers, presentations,
00:00:41.260 --> 00:00:43.160
memos, and so on and so forth.
+NOTE The problem
+
00:00:44.120 --> 00:00:47.940
-And so The workflow problem I had is
+The workflow problem I had is
00:00:49.160 --> 00:00:53.000
sometimes all this does not really fit into a
@@ -59,19 +62,19 @@ concept of a single repository per project.
So I might want to have,
00:00:58.180 --> 00:01:01.160
-for example, a source code in 1 repository
+for example, a source code in one repository
00:01:01.320 --> 00:01:03.480
and then I would like to have a paper in
00:01:03.480 --> 00:01:05.200
-another 1 and then I want to have a
+another one, and then I want to have a
00:01:05.200 --> 00:01:08.620
collection of notes somewhere unrelated to
00:01:08.620 --> 00:01:12.500
-those 2. Emacs is pretty good at supporting
+those two. Emacs is pretty good at supporting
00:01:12.500 --> 00:01:15.840
your workflows and I figured I should share
@@ -80,19 +83,19 @@ your workflows and I figured I should share
what I used and what works for me.
00:01:20.560 --> 00:01:24.900
-So, from the technical perspective,
+From the technical perspective,
00:01:26.479 --> 00:01:27.940
things are pretty easy.
00:01:27.940 --> 00:01:30.720
-So I use a collection of pretty standard
+I use a collection of pretty standard
00:01:30.720 --> 00:01:33.240
-components of Emacs. So it's a projectile org
+components of Emacs. So it's projectile, org
00:01:33.240 --> 00:01:35.360
-mode with this capture templates and other
+mode with this capture templates, and other
00:01:35.360 --> 00:01:38.100
things. Then I sustained a collection of
@@ -107,13 +110,13 @@ which is essentially it's a glorified
collection of org mode files.
00:01:46.100 --> 00:01:48.160
-Then I used directory local variables,
+Then I used directory-local variables,
00:01:48.260 --> 00:01:51.140
-maybe a C text to jump through the source
+maybe a ctags to jump through the source
00:01:51.140 --> 00:01:54.920
-code and very, very little LELisp glue to
+code and very, very little elisp glue to
00:01:54.920 --> 00:01:57.620
make this all work, but that's not really
@@ -124,6 +127,8 @@ rocket science. So that's the workflow I
00:02:00.400 --> 00:02:02.180
would like to talk about today.
+NOTE Jumping around
+
00:02:04.860 --> 00:02:07.120
So what I mean by all that,
@@ -134,7 +139,7 @@ it's pretty straightforward to make Emacs,
to make it easy to jump around a single
00:02:12.720 --> 00:02:14.980
-repository in Emacs. So if I,
+repository in Emacs. So if I...
00:02:15.060 --> 00:02:16.640
Now I have Doom Emacs,
@@ -167,7 +172,7 @@ project, right? So if I create a couple of
custom shortcuts, so if I press a magic
00:02:42.780 --> 00:02:45.280
-button, hyper-OP, don't worry about
+button, Hyper+o p... don't worry about
00:02:45.280 --> 00:02:47.460
hyper-key. So I want it to have a modifier
@@ -200,7 +205,7 @@ binding. Yeah, essentially an Emacs.
And if I hit, for example,
00:03:12.540 --> 00:03:15.200
-R, I end up in a readme file within this
+r, I end up in a README file within this
00:03:15.200 --> 00:03:17.320
specific repository I was sitting in,
@@ -209,11 +214,13 @@ specific repository I was sitting in,
right? So if I want to document something
00:03:19.000 --> 00:03:21.420
-real quick, I go to the readme file.
+real quick, I go to the README file.
00:03:21.680 --> 00:03:25.280
Then I could go to a change log file,
+NOTE Capturing
+
00:03:25.280 --> 00:03:27.440
right? So I have a list of changes and the
@@ -269,10 +276,10 @@ entries 1 by 1 and discuss what I haven't
implemented last time.
00:04:19.540 --> 00:04:22.580
-I could go to project specific,
+I could go to project-specific,
00:04:24.100 --> 00:04:26.320
-sorry, to repo specific to-do list.
+sorry, to repo-specific to-do list.
00:04:26.320 --> 00:04:29.020
And I have list of to-dos that would leave
@@ -298,8 +305,10 @@ there are very many ways to jump through the
00:04:45.400 --> 00:04:46.420
source code conveniently.
+NOTE Ctags
+
00:04:46.560 --> 00:04:49.960
-I ended up not using language servers I use a
+I ended up not using language servers. I use a
00:04:49.960 --> 00:04:53.320
special program called ctags and so the way
@@ -355,6 +364,8 @@ repository, it makes it really convenient to
00:05:39.720 --> 00:05:41.780
jump between all of those.
+NOTE Org Roam
+
00:05:43.080 --> 00:05:46.980
But I have a few problems here.
@@ -476,13 +487,13 @@ so I create a special folder within my
org-roam storage. So it's a special folder
00:07:38.240 --> 00:07:40.940
-outside of Henry Postories that got backed up
+outside of any repositories that got backed up
00:07:40.940 --> 00:07:43.940
to my hard drive with certain redundancy,
00:07:44.080 --> 00:07:46.720
-but I don't really need like version control,
+but I don't really need version control,
00:07:46.720 --> 00:07:48.280
full blown version control for that.
@@ -499,8 +510,13 @@ here. So PKB stands for personal knowledge
00:07:55.320 --> 00:07:58.020
base, and I have a folder project notes in
-00:07:58.020 --> 00:08:01.520
-there, right? So, and How does it work?
+00:07:58.020 --> 00:07:59.339
+there, right?
+
+NOTE How does it work?
+
+00:07:59.340 --> 00:08:01.520
+How does it work?
00:08:01.680 --> 00:08:04.940
So I have a folder per project in there,
@@ -557,10 +573,10 @@ that would be open project.
And then for example, org mode file,
00:08:55.920 --> 00:08:58.260
-right? So this is my personal notes about the
+right? So this is my personal notes about
00:08:58.260 --> 00:09:01.260
-maxconf, not specifically about this very
+EmacsConf, not specifically about this very
00:09:01.260 --> 00:09:02.580
talk, but I can have, you know,
@@ -578,7 +594,7 @@ And how does that happen?
If we try to like look at the code,
00:09:13.080 --> 00:09:14.660
-the e-list magic here,
+the elisp magic here,
00:09:15.040 --> 00:09:17.560
what is happening is it's just a couple of
@@ -634,11 +650,8 @@ And how do I define this variable?
00:10:09.280 --> 00:10:12.500
Is essentially there is this magical file in
-00:10:12.500 --> 00:10:14.160
-a folder called dear locals,
-
-00:10:14.440 --> 00:10:17.380
-elist. And I just put it there.
+00:10:12.500 --> 00:10:17.380
+a folder called .dir-locals.el. And I just put it there.
00:10:17.440 --> 00:10:20.380
And then whenever I go into that folder or
@@ -655,6 +668,8 @@ And that's pretty much it.
00:10:26.280 --> 00:10:28.880
That's how it works for me.
+NOTE Time tracking
+
00:10:31.860 --> 00:10:34.620
I guess 1 thing that I wanted to emphasize
@@ -713,7 +728,7 @@ there. And that's how it works.
So again, what comes in handy,
00:11:28.860 --> 00:11:31.500
-if I hit Control O, I just go back to the
+if I hit C-o, I just go back to the
00:11:31.500 --> 00:11:34.240
file I jumped in into and that's I jumped
diff --git a/2023/info/adventure-after.md b/2023/info/adventure-after.md
index 4a5d4f30..f9d69acc 100644
--- a/2023/info/adventure-after.md
+++ b/2023/info/adventure-after.md
@@ -1,13 +1,10 @@
<!-- Automatically generated by emacsconf-publish-after-page -->
-<a name="adventure-mainVideo-transcript"></a>
-# Transcript
+<div class="transcript transcript-mainVideo"><a name="adventure-mainVideo-transcript"></a><h1>Transcript</h1>
-[[!template new="1" text="""Introduction""" start="00:00:00.000" video="mainVideo-adventure" id="subtitle"]]
-
-[[!template text="""Hi, I'm going to give you a little demo""" start="00:00:00.000" video="mainVideo-adventure" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Introduction""" start="00:00:00.000" video="mainVideo-adventure" id="subtitle"]]</div>[[!template text="""Hi, I'm going to give you a little demo""" start="00:00:00.000" video="mainVideo-adventure" id="subtitle"]]
[[!template text="""of a project that I'm working on""" start="00:00:04.040" video="mainVideo-adventure" id="subtitle"]]
[[!template text="""which is called the `orgdungeon`.""" start="00:00:06.440" video="mainVideo-adventure" id="subtitle"]]
[[!template text="""As you can see here, they are just a bunch of Org files""" start="00:00:09.840" video="mainVideo-adventure" id="subtitle"]]
@@ -23,9 +20,7 @@
[[!template text="""so a similar interface to the developer""" start="00:00:53.200" video="mainVideo-adventure" id="subtitle"]]
[[!template text="""who was using that technology to develop the game.""" start="00:00:57.560" video="mainVideo-adventure" id="subtitle"]]
-[[!template new="1" text="""Demo""" start="00:01:01.200" video="mainVideo-adventure" id="subtitle"]]
-
-[[!template text="""Concretely, I'm going to give you""" start="00:01:01.200" video="mainVideo-adventure" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Demo""" start="00:01:01.200" video="mainVideo-adventure" id="subtitle"]]</div>[[!template text="""Concretely, I'm going to give you""" start="00:01:01.200" video="mainVideo-adventure" id="subtitle"]]
[[!template text="""a demo of how the game looks like.""" start="00:01:03.800" video="mainVideo-adventure" id="subtitle"]]
[[!template text="""So, this is a very vanilla Emacs setup.""" start="00:01:08.880" video="mainVideo-adventure" id="subtitle"]]
[[!template text="""Then I open up the first Org file.""" start="00:01:14.840" video="mainVideo-adventure" id="subtitle"]]
@@ -69,9 +64,7 @@
[[!template text="""I'm just try that. `M-x` and then `emi-escape-10`.""" start="00:03:21.400" video="mainVideo-adventure" id="subtitle"]]
[[!template text="""All right.""" start="00:03:31.480" video="mainVideo-adventure" id="subtitle"]]
-[[!template new="1" text="""emi-escape-12""" start="00:03:33.360" video="mainVideo-adventure" id="subtitle"]]
-
-[[!template text="""So I will jump to another file.""" start="00:03:33.360" video="mainVideo-adventure" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""emi-escape-12""" start="00:03:33.360" video="mainVideo-adventure" id="subtitle"]]</div>[[!template text="""So I will jump to another file.""" start="00:03:33.360" video="mainVideo-adventure" id="subtitle"]]
[[!template text="""Or in the game, you jump to another plane.""" start="00:03:36.040" video="mainVideo-adventure" id="subtitle"]]
[[!template text="""And now you know that""" start="00:03:39.360" video="mainVideo-adventure" id="subtitle"]]
[[!template text="""there is a function called `emi-escape-12`.""" start="00:03:40.339" video="mainVideo-adventure" id="subtitle"]]
@@ -95,9 +88,7 @@
[[!template text="""Write `emi-escape-12`,""" start="00:04:36.440" video="mainVideo-adventure" id="subtitle"]]
[[!template text="""and then now you know the password is `emi`. Right.""" start="00:04:42.240" video="mainVideo-adventure" id="subtitle"]]
-[[!template new="1" text="""The rest of the game""" start="00:04:47.040" video="mainVideo-adventure" id="subtitle"]]
-
-[[!template text="""So you can progress along these different files,""" start="00:04:47.040" video="mainVideo-adventure" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""The rest of the game""" start="00:04:47.040" video="mainVideo-adventure" id="subtitle"]]</div>[[!template text="""So you can progress along these different files,""" start="00:04:47.040" video="mainVideo-adventure" id="subtitle"]]
[[!template text="""and then if you...""" start="00:04:51.840" video="mainVideo-adventure" id="subtitle"]]
[[!template text="""Okay, it's like a game,""" start="00:04:53.520" video="mainVideo-adventure" id="subtitle"]]
[[!template text="""but at the same time, it also teaches you""" start="00:04:54.640" video="mainVideo-adventure" id="subtitle"]]
@@ -119,7 +110,7 @@
[[!template text="""I hope you enjoyed this little demo.""" start="00:05:51.360" video="mainVideo-adventure" id="subtitle"]]
[[!template text="""Thank you.""" start="00:05:56.540" video="mainVideo-adventure" id="subtitle"]]
-
+</div>
Captioner: sachac
diff --git a/2023/info/adventure-before.md b/2023/info/adventure-before.md
index c774f5ff..7c9dda68 100644
--- a/2023/info/adventure-before.md
+++ b/2023/info/adventure-before.md
@@ -1,18 +1,18 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
[[!toc ]]
-Format: 6-min talk; Q&A: Etherpad
+Format: 6-min talk ; Q&A: Etherpad
Status: All done
-<div class="vid"><video controls preload="none" id="adventure-mainVideo"><source src="https://media.emacsconf.org/2023/emacsconf-2023-adventure--an-orgmode-based-text-adventure-game-for-learning-the-basics-of-emacs-inside-emacs-written-in-emacs-lisp--chunghong-chan--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-adventure--an-orgmode-based-text-adventure-game-for-learning-the-basics-of-emacs-inside-emacs-written-in-emacs-lisp--chunghong-chan--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2023/captions/emacsconf-2023-adventure--an-orgmode-based-text-adventure-game-for-learning-the-basics-of-emacs-inside-emacs-written-in-emacs-lisp--chunghong-chan--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="adventure-mainVideo" data="""
+<div class="vid mainVideo"><video controls preload="none" id="mainVideo-adventure"><source src="https://media.emacsconf.org/2023/emacsconf-2023-adventure--an-orgmode-based-text-adventure-game-for-learning-the-basics-of-emacs-inside-emacs-written-in-emacs-lisp--chunghong-chan--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-adventure--an-orgmode-based-text-adventure-game-for-learning-the-basics-of-emacs-inside-emacs-written-in-emacs-lisp--chunghong-chan--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2023/captions/emacsconf-2023-adventure--an-orgmode-based-text-adventure-game-for-learning-the-basics-of-emacs-inside-emacs-written-in-emacs-lisp--chunghong-chan--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-adventure" data="""
00:00.000 Introduction
01:01.200 Demo
03:33.360 emi-escape-12
04:47.040 The rest of the game
-"""]]<div></div>Duration: 05:58 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-adventure--an-orgmode-based-text-adventure-game-for-learning-the-basics-of-emacs-inside-emacs-written-in-emacs-lisp--chunghong-chan--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-adventure--an-orgmode-based-text-adventure-game-for-learning-the-basics-of-emacs-inside-emacs-written-in-emacs-lisp--chunghong-chan--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-adventure--an-orgmode-based-text-adventure-game-for-learning-the-basics-of-emacs-inside-emacs-written-in-emacs-lisp--chunghong-chan--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-adventure--an-orgmode-based-text-adventure-game-for-learning-the-basics-of-emacs-inside-emacs-written-in-emacs-lisp--chunghong-chan--main.opus">Download --main.opus (3.3MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-adventure--an-orgmode-based-text-adventure-game-for-learning-the-basics-of-emacs-inside-emacs-written-in-emacs-lisp--chunghong-chan--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-adventure--an-orgmode-based-text-adventure-game-for-learning-the-basics-of-emacs-inside-emacs-written-in-emacs-lisp--chunghong-chan--main.webm">Download --main.webm (19MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-adventure--an-orgmode-based-text-adventure-game-for-learning-the-basics-of-emacs-inside-emacs-written-in-emacs-lisp--chunghong-chan--pad.html">Download --pad.html</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-adventure--an-orgmode-based-text-adventure-game-for-learning-the-basics-of-emacs-inside-emacs-written-in-emacs-lisp--chunghong-chan--pad.md">Download --pad.md</a></li><li><a href="https://toobnix.org/w/2oqbPJB8Wm3QSo4HCKAyVn">View on Toobnix</a></li></ul></div></div>
+"""]]<div></div>Duration: 05:58 minutes<div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2023-adventure">Open Etherpad</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-adventure--an-orgmode-based-text-adventure-game-for-learning-the-basics-of-emacs-inside-emacs-written-in-emacs-lisp--chunghong-chan--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-adventure--an-orgmode-based-text-adventure-game-for-learning-the-basics-of-emacs-inside-emacs-written-in-emacs-lisp--chunghong-chan--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-adventure--an-orgmode-based-text-adventure-game-for-learning-the-basics-of-emacs-inside-emacs-written-in-emacs-lisp--chunghong-chan--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-adventure--an-orgmode-based-text-adventure-game-for-learning-the-basics-of-emacs-inside-emacs-written-in-emacs-lisp--chunghong-chan--main.opus">Download --main.opus (3.3MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-adventure--an-orgmode-based-text-adventure-game-for-learning-the-basics-of-emacs-inside-emacs-written-in-emacs-lisp--chunghong-chan--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-adventure--an-orgmode-based-text-adventure-game-for-learning-the-basics-of-emacs-inside-emacs-written-in-emacs-lisp--chunghong-chan--main.webm">Download --main.webm (19MB)</a></li><li><a href="https://toobnix.org/w/2oqbPJB8Wm3QSo4HCKAyVn">View on Toobnix</a></li><li><a href="https://youtu.be/7R0yA0R1jsk">View on Youtube</a></li></ul></div></div>
# Description
<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2023/info/adventure-nav.md b/2023/info/adventure-nav.md
index 95382fff..d50bda6c 100644
--- a/2023/info/adventure-nav.md
+++ b/2023/info/adventure-nav.md
@@ -2,5 +2,5 @@
<div class="talk-nav">
Back to the [[talks]]
Next by track: <a href="/2023/talks/uni">Authoring and presenting university courses with Emacs and a full libre software stack</a>
-Track: <span class="sched-track General">General</span>
+Track: <span class="sched-track General">General</span> - <strong><a href="https://emacsconf.org/2023/watch/gen">Watch</a></strong>
</div>
diff --git a/2023/info/collab-after.md b/2023/info/collab-after.md
index de166231..06ebf8d4 100644
--- a/2023/info/collab-after.md
+++ b/2023/info/collab-after.md
@@ -1,13 +1,10 @@
<!-- Automatically generated by emacsconf-publish-after-page -->
-<a name="collab-mainVideo-transcript"></a>
-# Transcript
+<div class="transcript transcript-mainVideo"><a name="collab-mainVideo-transcript"></a><h1>Transcript</h1>
-[[!template new="1" text="""Introduction""" start="00:00:00.000" video="mainVideo-collab" id="subtitle"]]
-
-[[!template text="""[Lukas]: Welcome to our presentation,""" start="00:00:00.000" video="mainVideo-collab" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Introduction""" start="00:00:00.000" video="mainVideo-collab" id="subtitle"]]</div>[[!template text="""[Lukas]: Welcome to our presentation,""" start="00:00:00.000" video="mainVideo-collab" id="subtitle"]]
[[!template text="""Collaborative Data Processing""" start="00:00:01.875" video="mainVideo-collab" id="subtitle"]]
[[!template text="""and Documenting using org-babel.""" start="00:00:03.600" video="mainVideo-collab" id="subtitle"]]
[[!template text="""My name is Lukas Bossert, and I'm""" start="00:00:06.040" video="mainVideo-collab" id="subtitle"]]
@@ -35,9 +32,7 @@
[[!template text="""All right.""" start="00:01:13.360" video="mainVideo-collab" id="subtitle"]]
[[!template text="""Let's dive in to that.""" start="00:01:14.240" video="mainVideo-collab" id="subtitle"]]
-[[!template new="1" text="""Org Mode""" start="00:01:16.080" video="mainVideo-collab" id="subtitle"]]
-
-[[!template text="""Jonathan, can you give us an introduction about Org Mode?""" start="00:01:16.080" video="mainVideo-collab" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Org Mode""" start="00:01:16.080" video="mainVideo-collab" id="subtitle"]]</div>[[!template text="""Jonathan, can you give us an introduction about Org Mode?""" start="00:01:16.080" video="mainVideo-collab" id="subtitle"]]
[[!template text="""[Jonathan]: Of course.""" start="00:01:19.920" video="mainVideo-collab" id="subtitle"]]
[[!template text="""So in case anyone isn't familiar with it,""" start="00:01:20.440" video="mainVideo-collab" id="subtitle"]]
[[!template text="""Org Mode, in the words of Carsten Dominik,""" start="00:01:23.080" video="mainVideo-collab" id="subtitle"]]
@@ -62,9 +57,7 @@
[[!template text="""So what you see here is the plain text underneath it.""" start="00:02:10.800" video="mainVideo-collab" id="subtitle"]]
[[!template text="""So this is Org Mode.""" start="00:02:14.720" video="mainVideo-collab" id="subtitle"]]
-[[!template new="1" text="""Working together""" start="00:02:18.960" video="mainVideo-collab" id="subtitle"]]
-
-[[!template text="""And Jonathan, since we kind of already""" start="00:02:18.960" video="mainVideo-collab" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Working together""" start="00:02:18.960" video="mainVideo-collab" id="subtitle"]]</div>[[!template text="""And Jonathan, since we kind of already""" start="00:02:18.960" video="mainVideo-collab" id="subtitle"]]
[[!template text="""did the introduction together, should we""" start="00:02:21.920" video="mainVideo-collab" id="subtitle"]]
[[!template text="""also do the working part together?""" start="00:02:26.120" video="mainVideo-collab" id="subtitle"]]
[[!template text="""[Jonathan]: Of course.""" start="00:02:28.761" video="mainVideo-collab" id="subtitle"]]
@@ -152,9 +145,7 @@
[[!template text="""50 items is fine.""" start="00:06:23.160" video="mainVideo-collab" id="subtitle"]]
[[!template text="""So what do we see here, Jonathan?""" start="00:06:25.360" video="mainVideo-collab" id="subtitle"]]
-[[!template new="1" text="""Data cleaning""" start="00:06:27.840" video="mainVideo-collab" id="subtitle"]]
-
-[[!template text="""[Jonathan]: Right.""" start="00:06:27.840" video="mainVideo-collab" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Data cleaning""" start="00:06:27.840" video="mainVideo-collab" id="subtitle"]]</div>[[!template text="""[Jonathan]: Right.""" start="00:06:27.840" video="mainVideo-collab" id="subtitle"]]
[[!template text="""So the first thing we see when we look at this""" start="00:06:28.320" video="mainVideo-collab" id="subtitle"]]
[[!template text="""is a couple of Q codes at the top,""" start="00:06:31.240" video="mainVideo-collab" id="subtitle"]]
[[!template text="""which are an artifact of Wikidata.""" start="00:06:33.308" video="mainVideo-collab" id="subtitle"]]
@@ -194,9 +185,7 @@
[[!template text="""and consortia.""" start="00:07:59.960" video="mainVideo-collab" id="subtitle"]]
[[!template text="""Very nice.""" start="00:08:02.760" video="mainVideo-collab" id="subtitle"]]
-[[!template new="1" text="""Processing""" start="00:08:04.040" video="mainVideo-collab" id="subtitle"]]
-
-[[!template text="""So let's come to our main part, doing some processing.""" start="00:08:04.040" video="mainVideo-collab" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Processing""" start="00:08:04.040" video="mainVideo-collab" id="subtitle"]]</div>[[!template text="""So let's come to our main part, doing some processing.""" start="00:08:04.040" video="mainVideo-collab" id="subtitle"]]
[[!template text="""Let me give you a headline here, process the data.""" start="00:08:08.720" video="mainVideo-collab" id="subtitle"]]
[[!template text="""What do you want to do first?""" start="00:08:13.640" video="mainVideo-collab" id="subtitle"]]
[[!template text="""[Jonathan]: This is not a very complicated data set,""" start="00:08:15.520" video="mainVideo-collab" id="subtitle"]]
@@ -283,9 +272,7 @@
[[!template text="""this also will be updated once it's exported.""" start="00:12:30.400" video="mainVideo-collab" id="subtitle"]]
[[!template text="""Very nice, Jonathan.""" start="00:12:35.080" video="mainVideo-collab" id="subtitle"]]
-[[!template new="1" text="""Visualization""" start="00:12:36.040" video="mainVideo-collab" id="subtitle"]]
-
-[[!template text="""But I think we did a lot of analysis""" start="00:12:36.040" video="mainVideo-collab" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Visualization""" start="00:12:36.040" video="mainVideo-collab" id="subtitle"]]</div>[[!template text="""But I think we did a lot of analysis""" start="00:12:36.040" video="mainVideo-collab" id="subtitle"]]
[[!template text="""on text and counting things.""" start="00:12:38.975" video="mainVideo-collab" id="subtitle"]]
[[!template text="""Can we also do something more visual?""" start="00:12:41.080" video="mainVideo-collab" id="subtitle"]]
[[!template text="""Show me something.""" start="00:12:43.680" video="mainVideo-collab" id="subtitle"]]
@@ -318,9 +305,7 @@
[[!template text="""and I get a nice plot of the network below our cell.""" start="00:13:52.920" video="mainVideo-collab" id="subtitle"]]
[[!template text="""So this is very nice indeed.""" start="00:13:59.160" video="mainVideo-collab" id="subtitle"]]
-[[!template new="1" text="""Preserve""" start="00:14:01.760" video="mainVideo-collab" id="subtitle"]]
-
-[[!template text="""So I think it's about time to wrap it up and to export""" start="00:14:01.760" video="mainVideo-collab" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Preserve""" start="00:14:01.760" video="mainVideo-collab" id="subtitle"]]</div>[[!template text="""So I think it's about time to wrap it up and to export""" start="00:14:01.760" video="mainVideo-collab" id="subtitle"]]
[[!template text="""and to preserve the data and the documentation""" start="00:14:05.200" video="mainVideo-collab" id="subtitle"]]
[[!template text="""that we have in our very last step, calling preserve.""" start="00:14:07.960" video="mainVideo-collab" id="subtitle"]]
[[!template text="""So I would like to do it in two steps.""" start="00:14:13.080" video="mainVideo-collab" id="subtitle"]]
@@ -413,7 +398,7 @@
[[!template text="""Thanks for listening.""" start="00:19:01.120" video="mainVideo-collab" id="subtitle"]]
[[!template text="""[Jonathan]: Thank you all, have a good day.""" start="00:19:05.720" video="mainVideo-collab" id="subtitle"]]
-
+</div>
Captioner: amine
diff --git a/2023/info/collab-before.md b/2023/info/collab-before.md
index 22e68600..a4d8979c 100644
--- a/2023/info/collab-before.md
+++ b/2023/info/collab-before.md
@@ -1,13 +1,13 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
[[!toc ]]
-Format: 20-min talk; Q&A: ask questions via Etherpad/IRC; we'll e-mail the speaker and post answers on this wiki page after the conference
+Format: 20-min talk ; Q&A: ask questions via Etherpad/IRC; we'll e-mail the speaker and post answers on this wiki page after the conference
Status: All done
-<div class="vid"><video controls preload="none" id="collab-mainVideo"><source src="https://media.emacsconf.org/2023/emacsconf-2023-collab--collaborative-data-processing-and-documenting-using-orgbabel--jonathan-hartman-lukas-c-bossert--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-collab--collaborative-data-processing-and-documenting-using-orgbabel--jonathan-hartman-lukas-c-bossert--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2023/captions/emacsconf-2023-collab--collaborative-data-processing-and-documenting-using-orgbabel--jonathan-hartman-lukas-c-bossert--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="collab-mainVideo" data="""
+<div class="vid mainVideo"><video controls preload="none" id="mainVideo-collab"><source src="https://media.emacsconf.org/2023/emacsconf-2023-collab--collaborative-data-processing-and-documenting-using-orgbabel--jonathan-hartman-lukas-c-bossert--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-collab--collaborative-data-processing-and-documenting-using-orgbabel--jonathan-hartman-lukas-c-bossert--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2023/captions/emacsconf-2023-collab--collaborative-data-processing-and-documenting-using-orgbabel--jonathan-hartman-lukas-c-bossert--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-collab" data="""
00:00.000 Introduction
01:16.080 Org Mode
02:18.960 Working together
@@ -16,6 +16,6 @@ Status: All done
12:36.040 Visualization
14:01.760 Preserve
-"""]]<div></div>Duration: 19:16 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-collab--collaborative-data-processing-and-documenting-using-orgbabel--jonathan-hartman-lukas-c-bossert--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-collab--collaborative-data-processing-and-documenting-using-orgbabel--jonathan-hartman-lukas-c-bossert--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-collab--collaborative-data-processing-and-documenting-using-orgbabel--jonathan-hartman-lukas-c-bossert--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-collab--collaborative-data-processing-and-documenting-using-orgbabel--jonathan-hartman-lukas-c-bossert--main.opus">Download --main.opus (11MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-collab--collaborative-data-processing-and-documenting-using-orgbabel--jonathan-hartman-lukas-c-bossert--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-collab--collaborative-data-processing-and-documenting-using-orgbabel--jonathan-hartman-lukas-c-bossert--main.webm">Download --main.webm (62MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-collab--collaborative-data-processing-and-documenting-using-orgbabel--jonathan-hartman-lukas-c-bossert--pad.html">Download --pad.html</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-collab--collaborative-data-processing-and-documenting-using-orgbabel--jonathan-hartman-lukas-c-bossert--pad.md">Download --pad.md</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-collab--collaborative-data-processing-and-documenting-using-orgbabel--jonathan-hartman-lukas-c-bossert--room-noise.webm">Download --room-noise.webm</a></li><li><a href="https://toobnix.org/w/7AAwoawr5MXNSrqiHJQoak">View on Toobnix</a></li></ul></div></div>
+"""]]<div></div>Duration: 19:16 minutes<div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2023-collab">Open Etherpad</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-collab--collaborative-data-processing-and-documenting-using-orgbabel--jonathan-hartman-lukas-c-bossert--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-collab--collaborative-data-processing-and-documenting-using-orgbabel--jonathan-hartman-lukas-c-bossert--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-collab--collaborative-data-processing-and-documenting-using-orgbabel--jonathan-hartman-lukas-c-bossert--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-collab--collaborative-data-processing-and-documenting-using-orgbabel--jonathan-hartman-lukas-c-bossert--main.opus">Download --main.opus (11MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-collab--collaborative-data-processing-and-documenting-using-orgbabel--jonathan-hartman-lukas-c-bossert--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-collab--collaborative-data-processing-and-documenting-using-orgbabel--jonathan-hartman-lukas-c-bossert--main.webm">Download --main.webm (62MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-collab--collaborative-data-processing-and-documenting-using-orgbabel--jonathan-hartman-lukas-c-bossert--room-noise.webm">Download --room-noise.webm</a></li><li><a href="https://toobnix.org/w/7AAwoawr5MXNSrqiHJQoak">View on Toobnix</a></li><li><a href="https://www.youtube.com/watch?v=fz7-Kd83IjM">View on Youtube</a></li></ul></div></div>
# Description
<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2023/info/collab-nav.md b/2023/info/collab-nav.md
index 55c61f3f..66f593f6 100644
--- a/2023/info/collab-nav.md
+++ b/2023/info/collab-nav.md
@@ -3,5 +3,5 @@
Back to the [[talks]]
Previous by track: <a href="/2023/talks/nabokov">Why Nabokov would use Org-Mode if he were writing today</a>
Next by track: <a href="/2023/talks/solo">How I play TTRPGs in Emacs</a>
-Track: <span class="sched-track General">General</span>
+Track: <span class="sched-track General">General</span> - <strong><a href="https://emacsconf.org/2023/watch/gen">Watch</a></strong>
</div>
diff --git a/2023/info/core-after.md b/2023/info/core-after.md
index 13fa508a..6a24fa1c 100644
--- a/2023/info/core-after.md
+++ b/2023/info/core-after.md
@@ -1,8 +1,7 @@
<!-- Automatically generated by emacsconf-publish-after-page -->
-<a name="core-mainVideo-transcript"></a>
-# Transcript (unedited)
+<div class="transcript transcript-mainVideo"><a name="core-mainVideo-transcript"></a><h1>Transcript (unedited)</h1>
[[!template text="""All right. Hi again, everyone.""" start="00:00:02.540" video="mainVideo-core" id="subtitle"]]
[[!template text="""It's been a while. Well,""" start="00:00:03.840" video="mainVideo-core" id="subtitle"]]
@@ -1559,7 +1558,7 @@
[[!template text="""felt like it was tiring to stay and listen to""" start="01:07:08.040" video="mainVideo-core" id="subtitle"]]
[[!template text="""your answers. So thank you so much Stefan.""" start="01:07:10.900" video="mainVideo-core" id="subtitle"]]
-Questions or comments? Please e-mail [emacsconf-org-private@gnu.org](mailto:emacsconf-org-private@gnu.org?subject=Comment%20for%20EmacsConf%202023%20core%3A%20Emacs%20core%20development%3A%20how%20it%20works)
+</div>Questions or comments? Please e-mail [emacsconf-org-private@gnu.org](mailto:emacsconf-org-private@gnu.org?subject=Comment%20for%20EmacsConf%202023%20core%3A%20Emacs%20core%20development%3A%20how%20it%20works)
<!-- End of emacsconf-publish-after-page -->
diff --git a/2023/info/core-before.md b/2023/info/core-before.md
index dfa57577..7360c892 100644
--- a/2023/info/core-before.md
+++ b/2023/info/core-before.md
@@ -1,12 +1,12 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
[[!toc ]]
-Format: 68-min talk; Q&A: BigBlueButton conference room
+Format: 68-min talk ; Q&A: BigBlueButton conference room
Status: Q&A to be extracted from the room recordings
-<div class="vid"><video controls preload="none" id="core-mainVideo"><source src="https://media.emacsconf.org/2023/emacsconf-2023-core--emacs-core-development-how-it-works--stefan-kangas--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-core--emacs-core-development-how-it-works--stefan-kangas--main.vtt" default />"""<p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video><div></div>Duration: 1:07:13 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-core--emacs-core-development-how-it-works--stefan-kangas--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-core--emacs-core-development-how-it-works--stefan-kangas--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-core--emacs-core-development-how-it-works--stefan-kangas--main.json">Download --main.json (2.4MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-core--emacs-core-development-how-it-works--stefan-kangas--main.opus">Download --main.opus (23MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-core--emacs-core-development-how-it-works--stefan-kangas--main.vtt">Download --main.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-core--emacs-core-development-how-it-works--stefan-kangas--main.webm">Download --main.webm (211MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-core--emacs-core-development-how-it-works--stefan-kangas--pad.html">Download --pad.html</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-core--emacs-core-development-how-it-works--stefan-kangas--pad.md">Download --pad.md</a></li><li><a href="https://toobnix.org/w/m4XmrmE9Geat54AKT1RQaH">View on Toobnix</a></li></ul></div></div>
+<div class="vid mainVideo"><video controls preload="none" id="mainVideo-core"><source src="https://media.emacsconf.org/2023/emacsconf-2023-core--emacs-core-development-how-it-works--stefan-kangas--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-core--emacs-core-development-how-it-works--stefan-kangas--main.vtt" default />"""<p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video><div></div>Duration: 1:07:13 minutes<div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2023-core">Open Etherpad</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-core--emacs-core-development-how-it-works--stefan-kangas--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-core--emacs-core-development-how-it-works--stefan-kangas--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-core--emacs-core-development-how-it-works--stefan-kangas--main.json">Download --main.json (2.4MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-core--emacs-core-development-how-it-works--stefan-kangas--main.opus">Download --main.opus (23MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-core--emacs-core-development-how-it-works--stefan-kangas--main.vtt">Download --main.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-core--emacs-core-development-how-it-works--stefan-kangas--main.webm">Download --main.webm (211MB)</a></li><li><a href="https://toobnix.org/w/m4XmrmE9Geat54AKT1RQaH">View on Toobnix</a></li><li><a href="https://www.youtube.com/watch?v=2izQJiuL0vA">View on Youtube</a></li></ul></div></div>
# Description
<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2023/info/core-nav.md b/2023/info/core-nav.md
index 57508c7e..5eb44913 100644
--- a/2023/info/core-nav.md
+++ b/2023/info/core-nav.md
@@ -3,5 +3,5 @@
Back to the [[talks]]
Previous by track: <a href="/2023/talks/devel">Emacs development updates</a>
Next by track: <a href="/2023/talks/hyperamp">Top 10 ways Hyperbole amps up Emacs</a>
-Track: <span class="sched-track General">General</span>
+Track: <span class="sched-track General">General</span> - <strong><a href="https://emacsconf.org/2023/watch/gen">Watch</a></strong>
</div>
diff --git a/2023/info/cubing-after.md b/2023/info/cubing-after.md
index dae3e345..a0ac454b 100644
--- a/2023/info/cubing-after.md
+++ b/2023/info/cubing-after.md
@@ -1,13 +1,10 @@
<!-- Automatically generated by emacsconf-publish-after-page -->
-<a name="cubing-mainVideo-transcript"></a>
-# Transcript
+<div class="transcript transcript-mainVideo"><a name="cubing-mainVideo-transcript"></a><h1>Transcript</h1>
-[[!template new="1" text="""Introduction""" start="00:00:00.000" video="mainVideo-cubing" id="subtitle"]]
-
-[[!template text="""Hello, everyone, and welcome to Speedcubing in Emacs.""" start="00:00:00.000" video="mainVideo-cubing" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Introduction""" start="00:00:00.000" video="mainVideo-cubing" id="subtitle"]]</div>[[!template text="""Hello, everyone, and welcome to Speedcubing in Emacs.""" start="00:00:00.000" video="mainVideo-cubing" id="subtitle"]]
[[!template text="""First of all, a little bit about myself.""" start="00:00:08.360" video="mainVideo-cubing" id="subtitle"]]
[[!template text="""My name is Vasilij Schneidermann. Online, I go by wasamasa.""" start="00:00:10.120" video="mainVideo-cubing" id="subtitle"]]
[[!template text="""I'm 31 years old. I work in information security,""" start="00:00:13.680" video="mainVideo-cubing" id="subtitle"]]
@@ -39,9 +36,7 @@
[[!template text="""for example the cstimer software""" start="00:01:31.240" video="mainVideo-cubing" id="subtitle"]]
[[!template text="""or the twisty-timer app on Android.""" start="00:01:33.240" video="mainVideo-cubing" id="subtitle"]]
-[[!template new="1" text="""Cubing in Emacs""" start="00:01:35.400" video="mainVideo-cubing" id="subtitle"]]
-
-[[!template text="""To my surprise, I did not find a single decent option""" start="00:01:35.400" video="mainVideo-cubing" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Cubing in Emacs""" start="00:01:35.400" video="mainVideo-cubing" id="subtitle"]]</div>[[!template text="""To my surprise, I did not find a single decent option""" start="00:01:35.400" video="mainVideo-cubing" id="subtitle"]]
[[!template text="""inside Emacs, so this is basically a case study""" start="00:01:39.320" video="mainVideo-cubing" id="subtitle"]]
[[!template text="""how to do better. For this, I wanted to make use of""" start="00:01:41.960" video="mainVideo-cubing" id="subtitle"]]
[[!template text="""all the cool new Emacs features that appeared,""" start="00:01:45.000" video="mainVideo-cubing" id="subtitle"]]
@@ -50,9 +45,7 @@
[[!template text="""and the recently added sqlite-mode.""" start="00:01:53.600" video="mainVideo-cubing" id="subtitle"]]
[[!template text="""And most importantly it was about having fun.""" start="00:01:56.440" video="mainVideo-cubing" id="subtitle"]]
-[[!template new="1" text="""Prior art""" start="00:02:01.160" video="mainVideo-cubing" id="subtitle"]]
-
-[[!template text="""So here's a full list of prior art,""" start="00:02:01.160" video="mainVideo-cubing" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Prior art""" start="00:02:01.160" video="mainVideo-cubing" id="subtitle"]]</div>[[!template text="""So here's a full list of prior art,""" start="00:02:01.160" video="mainVideo-cubing" id="subtitle"]]
[[!template text="""I will not go into detail about this,""" start="00:02:02.760" video="mainVideo-cubing" id="subtitle"]]
[[!template text="""but basically we have things solving""" start="00:02:04.280" video="mainVideo-cubing" id="subtitle"]]
[[!template text="""very different parts of this,""" start="00:02:06.240" video="mainVideo-cubing" id="subtitle"]]
@@ -66,9 +59,7 @@
[[!template text="""which kind of surprised me.""" start="00:02:25.920" video="mainVideo-cubing" id="subtitle"]]
[[!template text="""So I present the `wca-prep` package.""" start="00:02:28.120" video="mainVideo-cubing" id="subtitle"]]
-[[!template new="1" text="""The name""" start="00:02:32.040" video="mainVideo-cubing" id="subtitle"]]
-
-[[!template text="""So the name, I found it difficult""" start="00:02:32.040" video="mainVideo-cubing" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""The name""" start="00:02:32.040" video="mainVideo-cubing" id="subtitle"]]</div>[[!template text="""So the name, I found it difficult""" start="00:02:32.040" video="mainVideo-cubing" id="subtitle"]]
[[!template text="""to come up with a good name and so I looked""" start="00:02:35.560" video="mainVideo-cubing" id="subtitle"]]
[[!template text="""and I saw, well there's this World Cube Association""" start="00:02:39.960" video="mainVideo-cubing" id="subtitle"]]
[[!template text="""that holds these competitions where you compete.""" start="00:02:42.560" video="mainVideo-cubing" id="subtitle"]]
@@ -86,9 +77,7 @@
[[!template text="""because it helps me prepare for this kind of competition""" start="00:03:10.920" video="mainVideo-cubing" id="subtitle"]]
[[!template text="""and this limited the scope significantly,""" start="00:03:13.640" video="mainVideo-cubing" id="subtitle"]]
-[[!template new="1" text="""What's in wca-prep""" start="00:03:16.520" video="mainVideo-cubing" id="subtitle"]]
-
-[[!template text="""I have a scrambler, visualization of the scramble,""" start="00:03:16.520" video="mainVideo-cubing" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""What's in wca-prep""" start="00:03:16.520" video="mainVideo-cubing" id="subtitle"]]</div>[[!template text="""I have a scrambler, visualization of the scramble,""" start="00:03:16.520" video="mainVideo-cubing" id="subtitle"]]
[[!template text="""timer, and statistics.""" start="00:03:19.000" video="mainVideo-cubing" id="subtitle"]]
[[!template text="""I excluded pretty much everything else I've seen.""" start="00:03:23.320" video="mainVideo-cubing" id="subtitle"]]
[[!template text="""For this reason, I only tried to focus on""" start="00:03:25.560" video="mainVideo-cubing" id="subtitle"]]
@@ -99,15 +88,11 @@
[[!template text="""no exotic events, and no specialized scrambles""" start="00:03:40.480" video="mainVideo-cubing" id="subtitle"]]
[[!template text="""that are only good for practicing specific algorithms.""" start="00:03:43.920" video="mainVideo-cubing" id="subtitle"]]
-[[!template new="1" text="""Demo""" start="00:03:49.240" video="mainVideo-cubing" id="subtitle"]]
-
-[[!template text="""So at this point the organizer should hopefully show""" start="00:03:49.240" video="mainVideo-cubing" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Demo""" start="00:03:49.240" video="mainVideo-cubing" id="subtitle"]]</div>[[!template text="""So at this point the organizer should hopefully show""" start="00:03:49.240" video="mainVideo-cubing" id="subtitle"]]
[[!template text="""a small video I've prepared, a one minute video showing how""" start="00:03:54.200" video="mainVideo-cubing" id="subtitle"]]
[[!template text="""I actually use this to solve a cube and to time my solve.""" start="00:03:58.000" video="mainVideo-cubing" id="subtitle"]]
-[[!template new="1" text="""Challenges: Representing the cube""" start="00:05:15.240" video="mainVideo-cubing" id="subtitle"]]
-
-[[!template text="""Okay, so building this thing, there were several challenges.""" start="00:05:15.240" video="mainVideo-cubing" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Challenges: Representing the cube""" start="00:05:15.240" video="mainVideo-cubing" id="subtitle"]]</div>[[!template text="""Okay, so building this thing, there were several challenges.""" start="00:05:15.240" video="mainVideo-cubing" id="subtitle"]]
[[!template text="""The first one was how do I even represent""" start="00:05:18.509" video="mainVideo-cubing" id="subtitle"]]
[[!template text="""the state of a Rubik's cube.""" start="00:05:20.509" video="mainVideo-cubing" id="subtitle"]]
[[!template text="""For this there are many possible representations,""" start="00:05:22.469" video="mainVideo-cubing" id="subtitle"]]
@@ -148,9 +133,7 @@
[[!template text="""mathematically speaking, they are the same thing,""" start="00:07:03.869" video="mainVideo-cubing" id="subtitle"]]
[[!template text="""they just look very, very different.""" start="00:07:07.349" video="mainVideo-cubing" id="subtitle"]]
-[[!template new="1" text="""Scrambling""" start="00:07:09.269" video="mainVideo-cubing" id="subtitle"]]
-
-[[!template text="""So the scramble algorithm itself,""" start="00:07:09.269" video="mainVideo-cubing" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Scrambling""" start="00:07:09.269" video="mainVideo-cubing" id="subtitle"]]</div>[[!template text="""So the scramble algorithm itself,""" start="00:07:09.269" video="mainVideo-cubing" id="subtitle"]]
[[!template text="""I pondered how this would even be done. In the competitions,""" start="00:07:14.309" video="mainVideo-cubing" id="subtitle"]]
[[!template text="""They do this in a very, very elaborate way.""" start="00:07:19.429" video="mainVideo-cubing" id="subtitle"]]
[[!template text="""They generate a random cube,""" start="00:07:21.589" video="mainVideo-cubing" id="subtitle"]]
@@ -172,9 +155,7 @@
[[!template text="""canonicalizing and repeating""" start="00:08:02.389" video="mainVideo-cubing" id="subtitle"]]
[[!template text="""until enough have been generated.""" start="00:08:04.029" video="mainVideo-cubing" id="subtitle"]]
-[[!template new="1" text="""Visualization""" start="00:08:09.549" video="mainVideo-cubing" id="subtitle"]]
-
-[[!template text="""For the visualization I had to figure out""" start="00:08:09.549" video="mainVideo-cubing" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Visualization""" start="00:08:09.549" video="mainVideo-cubing" id="subtitle"]]</div>[[!template text="""For the visualization I had to figure out""" start="00:08:09.549" video="mainVideo-cubing" id="subtitle"]]
[[!template text="""something else too complicated.""" start="00:08:13.149" video="mainVideo-cubing" id="subtitle"]]
[[!template text="""For this, I tried to figure out""" start="00:08:14.509" video="mainVideo-cubing" id="subtitle"]]
[[!template text="""where every facelift would end up in the puzzle view""" start="00:08:17.229" video="mainVideo-cubing" id="subtitle"]]
@@ -192,9 +173,7 @@
[[!template text="""that does not have the same color mappings as I do,""" start="00:08:51.589" video="mainVideo-cubing" id="subtitle"]]
[[!template text="""then you should be able to fix this.""" start="00:08:54.690" video="mainVideo-cubing" id="subtitle"]]
-[[!template new="1" text="""UI with Transient""" start="00:08:56.469" video="mainVideo-cubing" id="subtitle"]]
-
-[[!template text="""Next challenge was to build""" start="00:08:56.469" video="mainVideo-cubing" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""UI with Transient""" start="00:08:56.469" video="mainVideo-cubing" id="subtitle"]]</div>[[!template text="""Next challenge was to build""" start="00:08:56.469" video="mainVideo-cubing" id="subtitle"]]
[[!template text="""a beautiful intuitive UI with Transient.""" start="00:09:01.429" video="mainVideo-cubing" id="subtitle"]]
[[!template text="""The reason why I chose this is""" start="00:09:03.949" video="mainVideo-cubing" id="subtitle"]]
[[!template text="""because it would be self-documenting and Magit-style,""" start="00:09:06.869" video="mainVideo-cubing" id="subtitle"]]
@@ -217,9 +196,7 @@
[[!template text="""to have an executable reference basically""" start="00:09:50.589" video="mainVideo-cubing" id="subtitle"]]
[[!template text="""and try to improve my use of it.""" start="00:09:53.429" video="mainVideo-cubing" id="subtitle"]]
-[[!template new="1" text="""Book-keeping with SQLite""" start="00:09:55.629" video="mainVideo-cubing" id="subtitle"]]
-
-[[!template text="""For the book-keeping, I used SQLite.""" start="00:09:55.629" video="mainVideo-cubing" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Book-keeping with SQLite""" start="00:09:55.629" video="mainVideo-cubing" id="subtitle"]]</div>[[!template text="""For the book-keeping, I used SQLite.""" start="00:09:55.629" video="mainVideo-cubing" id="subtitle"]]
[[!template text="""This is a very recent addition to Emacs,""" start="00:10:01.549" video="mainVideo-cubing" id="subtitle"]]
[[!template text="""it only appeared in the current major version.""" start="00:10:04.549" video="mainVideo-cubing" id="subtitle"]]
[[!template text="""It's still very early days.""" start="00:10:07.309" video="mainVideo-cubing" id="subtitle"]]
@@ -247,9 +224,7 @@
[[!template text="""and don't have to run into foot guns""" start="00:11:07.389" video="mainVideo-cubing" id="subtitle"]]
[[!template text="""with Lisp-style serialization, deserialization.""" start="00:11:10.469" video="mainVideo-cubing" id="subtitle"]]
-[[!template new="1" text="""Conclusion""" start="00:11:12.629" video="mainVideo-cubing" id="subtitle"]]
-
-[[!template text="""So yes, that concludes it so far.""" start="00:11:12.629" video="mainVideo-cubing" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Conclusion""" start="00:11:12.629" video="mainVideo-cubing" id="subtitle"]]</div>[[!template text="""So yes, that concludes it so far.""" start="00:11:12.629" video="mainVideo-cubing" id="subtitle"]]
[[!template text="""So what did I learn from this exercise?""" start="00:11:18.189" video="mainVideo-cubing" id="subtitle"]]
[[!template text="""Well, there are still plenty of packages""" start="00:11:22.189" video="mainVideo-cubing" id="subtitle"]]
[[!template text="""for Emacs to be written.""" start="00:11:24.509" video="mainVideo-cubing" id="subtitle"]]
@@ -300,7 +275,7 @@
[[!template text="""And this concludes the talk.""" start="00:13:22.429" video="mainVideo-cubing" id="subtitle"]]
[[!template text="""Thank you very much.""" start="00:13:26.629" video="mainVideo-cubing" id="subtitle"]]
-
+</div>
Captioner: sachac
diff --git a/2023/info/cubing-before.md b/2023/info/cubing-before.md
index c1dbf0c3..3a3af241 100644
--- a/2023/info/cubing-before.md
+++ b/2023/info/cubing-before.md
@@ -1,13 +1,13 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
[[!toc ]]
-Format: 14-min talk; Q&A: IRC
+Format: 14-min talk ; Q&A: IRC
Status: All done
-<div class="vid"><video controls preload="none" id="cubing-mainVideo"><source src="https://media.emacsconf.org/2023/emacsconf-2023-cubing--speedcubing-in-emacs--vasilij-wasamasa-schneidermann--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-cubing--speedcubing-in-emacs--vasilij-wasamasa-schneidermann--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2023/captions/emacsconf-2023-cubing--speedcubing-in-emacs--vasilij-wasamasa-schneidermann--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="cubing-mainVideo" data="""
+<div class="vid mainVideo"><video controls preload="none" id="mainVideo-cubing"><source src="https://media.emacsconf.org/2023/emacsconf-2023-cubing--speedcubing-in-emacs--vasilij-wasamasa-schneidermann--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-cubing--speedcubing-in-emacs--vasilij-wasamasa-schneidermann--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2023/captions/emacsconf-2023-cubing--speedcubing-in-emacs--vasilij-wasamasa-schneidermann--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-cubing" data="""
00:00.000 Introduction
01:35.400 Cubing in Emacs
02:01.160 Prior art
@@ -21,6 +21,6 @@ Status: All done
09:55.580 Book-keeping with SQLite
11:12.580 Conclusion
-"""]]<div></div>Duration: 13:35 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-cubing--speedcubing-in-emacs--vasilij-wasamasa-schneidermann--alternative.webm">Download --alternative.webm (16MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-cubing--speedcubing-in-emacs--vasilij-wasamasa-schneidermann--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-cubing--speedcubing-in-emacs--vasilij-wasamasa-schneidermann--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-cubing--speedcubing-in-emacs--vasilij-wasamasa-schneidermann--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-cubing--speedcubing-in-emacs--vasilij-wasamasa-schneidermann--main.opus">Download --main.opus (8.6MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-cubing--speedcubing-in-emacs--vasilij-wasamasa-schneidermann--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-cubing--speedcubing-in-emacs--vasilij-wasamasa-schneidermann--main.webm">Download --main.webm (57MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-cubing--speedcubing-in-emacs--vasilij-wasamasa-schneidermann--pad.html">Download --pad.html</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-cubing--speedcubing-in-emacs--vasilij-wasamasa-schneidermann--pad.md">Download --pad.md</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-cubing--speedcubing-in-emacs--vasilij-wasamasa-schneidermann--presentation.webm">Download --presentation.webm (16MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-cubing--speedcubing-in-emacs--vasilij-wasamasa-schneidermann--solve-demo.webm">Download --solve-demo.webm (11MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-cubing--speedcubing-in-emacs--vasilij-wasamasa-schneidermann.pdf">Download .pdf</a></li><li><a href="https://toobnix.org/w/2DYX2o8kB1Rv8Mqaj7H1Dx">View on Toobnix</a></li></ul></div></div>
+"""]]<div></div>Duration: 13:35 minutes<div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2023-cubing">Open Etherpad</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-cubing--speedcubing-in-emacs--vasilij-wasamasa-schneidermann--alternative.webm">Download --alternative.webm (16MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-cubing--speedcubing-in-emacs--vasilij-wasamasa-schneidermann--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-cubing--speedcubing-in-emacs--vasilij-wasamasa-schneidermann--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-cubing--speedcubing-in-emacs--vasilij-wasamasa-schneidermann--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-cubing--speedcubing-in-emacs--vasilij-wasamasa-schneidermann--main.opus">Download --main.opus (8.6MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-cubing--speedcubing-in-emacs--vasilij-wasamasa-schneidermann--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-cubing--speedcubing-in-emacs--vasilij-wasamasa-schneidermann--main.webm">Download --main.webm (57MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-cubing--speedcubing-in-emacs--vasilij-wasamasa-schneidermann--presentation.webm">Download --presentation.webm (16MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-cubing--speedcubing-in-emacs--vasilij-wasamasa-schneidermann--solve-demo.webm">Download --solve-demo.webm (11MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-cubing--speedcubing-in-emacs--vasilij-wasamasa-schneidermann.pdf">Download .pdf</a></li><li><a href="https://toobnix.org/w/2DYX2o8kB1Rv8Mqaj7H1Dx">View on Toobnix</a></li><li><a href="https://www.youtube.com/watch?v=Q5HPmyaiu4g">View on Youtube</a></li></ul></div></div>
# Description
<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2023/info/cubing-nav.md b/2023/info/cubing-nav.md
index 3f0e5db3..b0bbb1cf 100644
--- a/2023/info/cubing-nav.md
+++ b/2023/info/cubing-nav.md
@@ -3,5 +3,5 @@
Back to the [[talks]]
Previous by track: <a href="/2023/talks/poltys">The browser in a buffer</a>
Next by track: <a href="/2023/talks/emms">Emacs MultiMedia System (EMMS)</a>
-Track: <span class="sched-track General">General</span>
+Track: <span class="sched-track General">General</span> - <strong><a href="https://emacsconf.org/2023/watch/gen">Watch</a></strong>
</div>
diff --git a/2023/info/devel-after.md b/2023/info/devel-after.md
index 297fbe3d..afb832aa 100644
--- a/2023/info/devel-after.md
+++ b/2023/info/devel-after.md
@@ -1,8 +1,7 @@
<!-- Automatically generated by emacsconf-publish-after-page -->
-<a name="devel-mainVideo-transcript"></a>
-# Transcript (unedited)
+<div class="transcript transcript-mainVideo"><a name="devel-mainVideo-transcript"></a><h1>Transcript (unedited)</h1>
[[!template text="""2 seconds. All right. I think we are live.""" start="00:00:02.419" video="mainVideo-devel" id="subtitle"]]
[[!template text="""Yes. So, hi again, everyone.""" start="00:00:08.480" video="mainVideo-devel" id="subtitle"]]
@@ -555,7 +554,7 @@
[[!template text="""All right, John. Thank you so much.""" start="00:23:19.700" video="mainVideo-devel" id="subtitle"]]
[[!template text="""Bye bye. Bye bye.""" start="00:23:20.860" video="mainVideo-devel" id="subtitle"]]
-Questions or comments? Please e-mail [emacsconf-org-private@gnu.org](mailto:emacsconf-org-private@gnu.org?subject=Comment%20for%20EmacsConf%202023%20devel%3A%20Emacs%20development%20updates)
+</div>Questions or comments? Please e-mail [emacsconf-org-private@gnu.org](mailto:emacsconf-org-private@gnu.org?subject=Comment%20for%20EmacsConf%202023%20devel%3A%20Emacs%20development%20updates)
<!-- End of emacsconf-publish-after-page -->
diff --git a/2023/info/devel-before.md b/2023/info/devel-before.md
index 5429f360..99d2796d 100644
--- a/2023/info/devel-before.md
+++ b/2023/info/devel-before.md
@@ -1,12 +1,12 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
[[!toc ]]
-Format: 24-min talk; Q&A: BigBlueButton conference room
+Format: 24-min talk ; Q&A: BigBlueButton conference room
Status: Q&A to be extracted from the room recordings
-<div class="vid"><video controls preload="none" id="devel-mainVideo"><source src="https://media.emacsconf.org/2023/emacsconf-2023-devel--emacs-development-updates--john-wiegley--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-devel--emacs-development-updates--john-wiegley--main.vtt" default />"""<p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video><div></div>Duration: 23:22 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-devel--emacs-development-updates--john-wiegley--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-devel--emacs-development-updates--john-wiegley--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-devel--emacs-development-updates--john-wiegley--main.json">Download --main.json</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-devel--emacs-development-updates--john-wiegley--main.opus">Download --main.opus (7.8MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-devel--emacs-development-updates--john-wiegley--main.vtt">Download --main.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-devel--emacs-development-updates--john-wiegley--main.webm">Download --main.webm (38MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-devel--emacs-development-updates--john-wiegley--pad.html">Download --pad.html</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-devel--emacs-development-updates--john-wiegley--pad.md">Download --pad.md</a></li><li><a href="https://toobnix.org/w/57HSebb9a9JZynh2B3ehze">View on Toobnix</a></li></ul></div></div>
+<div class="vid mainVideo"><video controls preload="none" id="mainVideo-devel"><source src="https://media.emacsconf.org/2023/emacsconf-2023-devel--emacs-development-updates--john-wiegley--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-devel--emacs-development-updates--john-wiegley--main.vtt" default />"""<p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video><div></div>Duration: 23:22 minutes<div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2023-devel">Open Etherpad</a></li><li><a href="https://bbb.emacsverse.org/playback/presentation/2.0/playback.html?meetingId=f81dbb8e579499f903915b7fbead3f1f959d3019-1701547477151">Play recording from BigBlueButton</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-devel--emacs-development-updates--john-wiegley--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-devel--emacs-development-updates--john-wiegley--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-devel--emacs-development-updates--john-wiegley--main.json">Download --main.json</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-devel--emacs-development-updates--john-wiegley--main.opus">Download --main.opus (7.8MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-devel--emacs-development-updates--john-wiegley--main.vtt">Download --main.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-devel--emacs-development-updates--john-wiegley--main.webm">Download --main.webm (38MB)</a></li><li><a href="https://toobnix.org/w/57HSebb9a9JZynh2B3ehze">View on Toobnix</a></li><li><a href="https://www.youtube.com/watch?v=SPSoRZVJUf8">View on Youtube</a></li></ul></div></div>
# Description
<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2023/info/devel-nav.md b/2023/info/devel-nav.md
index 451e821f..f8671bdc 100644
--- a/2023/info/devel-nav.md
+++ b/2023/info/devel-nav.md
@@ -3,5 +3,5 @@
Back to the [[talks]]
Previous by track: <a href="/2023/talks/unentangling">(Un)entangling projects and repos</a>
Next by track: <a href="/2023/talks/core">Emacs core development: how it works</a>
-Track: <span class="sched-track General">General</span>
+Track: <span class="sched-track General">General</span> - <strong><a href="https://emacsconf.org/2023/watch/gen">Watch</a></strong>
</div>
diff --git a/2023/info/doc-after.md b/2023/info/doc-after.md
index 7df3351e..761d1803 100644
--- a/2023/info/doc-after.md
+++ b/2023/info/doc-after.md
@@ -1,13 +1,10 @@
<!-- Automatically generated by emacsconf-publish-after-page -->
-<a name="doc-mainVideo-transcript"></a>
-# Transcript
+<div class="transcript transcript-mainVideo"><a name="doc-mainVideo-transcript"></a><h1>Transcript</h1>
-[[!template new="1" text="""Introduction""" start="00:00:00.000" video="mainVideo-doc" id="subtitle"]]
-
-[[!template text="""Hello, everyone.""" start="00:00:00.000" video="mainVideo-doc" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Introduction""" start="00:00:00.000" video="mainVideo-doc" id="subtitle"]]</div>[[!template text="""Hello, everyone.""" start="00:00:00.000" video="mainVideo-doc" id="subtitle"]]
[[!template text="""This talk is on literate documentation""" start="00:00:04.320" video="mainVideo-doc" id="subtitle"]]
[[!template text="""with Emacs and org-mode.""" start="00:00:07.280" video="mainVideo-doc" id="subtitle"]]
[[!template text="""I'm going to take just a moment here""" start="00:00:10.320" video="mainVideo-doc" id="subtitle"]]
@@ -27,9 +24,7 @@
[[!template text="""It can be an outliner, a to-do list manager,""" start="00:00:51.160" video="mainVideo-doc" id="subtitle"]]
[[!template text="""an agenda, organizer, and much more.""" start="00:00:54.240" video="mainVideo-doc" id="subtitle"]]
-[[!template new="1" text="""Org Babel and literate programming""" start="00:00:57.760" video="mainVideo-doc" id="subtitle"]]
-
-[[!template text="""Today, we're going to be demonstrating""" start="00:00:57.760" video="mainVideo-doc" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Org Babel and literate programming""" start="00:00:57.760" video="mainVideo-doc" id="subtitle"]]</div>[[!template text="""Today, we're going to be demonstrating""" start="00:00:57.760" video="mainVideo-doc" id="subtitle"]]
[[!template text="""what I consider to be org-mode's killer feature called""" start="00:00:59.600" video="mainVideo-doc" id="subtitle"]]
[[!template text="""Org Babel.""" start="00:01:03.360" video="mainVideo-doc" id="subtitle"]]
[[!template text="""Babel allows you to take human language prose,""" start="00:01:04.840" video="mainVideo-doc" id="subtitle"]]
@@ -57,9 +52,7 @@
[[!template text="""tangled out of the document and submitted to the machine""" start="00:02:04.800" video="mainVideo-doc" id="subtitle"]]
[[!template text="""either to be compiled or interpreted and ultimately run.""" start="00:02:08.440" video="mainVideo-doc" id="subtitle"]]
-[[!template new="1" text="""This presentation""" start="00:02:14.080" video="mainVideo-doc" id="subtitle"]]
-
-[[!template text="""Throughout this presentation, you'll""" start="00:02:14.080" video="mainVideo-doc" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""This presentation""" start="00:02:14.080" video="mainVideo-doc" id="subtitle"]]</div>[[!template text="""Throughout this presentation, you'll""" start="00:02:14.080" video="mainVideo-doc" id="subtitle"]]
[[!template text="""see my browser window here on the left side of the screen.""" start="00:02:15.600" video="mainVideo-doc" id="subtitle"]]
[[!template text="""And on the right side, I've got a terminal session""" start="00:02:19.400" video="mainVideo-doc" id="subtitle"]]
[[!template text="""running tmux.""" start="00:02:22.240" video="mainVideo-doc" id="subtitle"]]
@@ -109,9 +102,7 @@
[[!template text="""it to export a RedHat-specific version of my building""" start="00:04:44.800" video="mainVideo-doc" id="subtitle"]]
[[!template text="""Emacs from source essay or a Debian-specific version.""" start="00:04:48.720" video="mainVideo-doc" id="subtitle"]]
-[[!template new="1" text="""Getting started""" start="00:04:53.480" video="mainVideo-doc" id="subtitle"]]
-
-[[!template text="""All right, let's get started.""" start="00:04:53.480" video="mainVideo-doc" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Getting started""" start="00:04:53.480" video="mainVideo-doc" id="subtitle"]]</div>[[!template text="""All right, let's get started.""" start="00:04:53.480" video="mainVideo-doc" id="subtitle"]]
[[!template text="""We'll begin by firing up a new terminal Emacs session""" start="00:04:55.320" video="mainVideo-doc" id="subtitle"]]
[[!template text="""on my Ubuntu machine.""" start="00:04:58.720" video="mainVideo-doc" id="subtitle"]]
[[!template text="""Now, I installed Emacs on this machine using apt-get.""" start="00:05:00.640" video="mainVideo-doc" id="subtitle"]]
@@ -156,9 +147,7 @@
[[!template text="""you can see all the possible completions.""" start="00:06:50.360" video="mainVideo-doc" id="subtitle"]]
[[!template text="""And as you can see, there's a lot.""" start="00:06:53.120" video="mainVideo-doc" id="subtitle"]]
-[[!template new="1" text="""README""" start="00:06:55.780" video="mainVideo-doc" id="subtitle"]]
-
-[[!template text="""The next thing we're gonna do is make a README section""" start="00:06:55.780" video="mainVideo-doc" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""README""" start="00:06:55.780" video="mainVideo-doc" id="subtitle"]]</div>[[!template text="""The next thing we're gonna do is make a README section""" start="00:06:55.780" video="mainVideo-doc" id="subtitle"]]
[[!template text="""at the top of this document.""" start="00:06:58.520" video="mainVideo-doc" id="subtitle"]]
[[!template text="""This section is intended for folks""" start="00:06:59.760" video="mainVideo-doc" id="subtitle"]]
[[!template text="""who are looking at the org-mode document,""" start="00:07:02.240" video="mainVideo-doc" id="subtitle"]]
@@ -170,9 +159,7 @@
[[!template text="""can potentially execute code""" start="00:07:17.760" video="mainVideo-doc" id="subtitle"]]
[[!template text="""and just a little something about what the document is for.""" start="00:07:19.800" video="mainVideo-doc" id="subtitle"]]
-[[!template new="1" text="""Writing a code block""" start="00:07:23.500" video="mainVideo-doc" id="subtitle"]]
-
-[[!template text="""Okay, so now that we've written some text,""" start="00:07:23.500" video="mainVideo-doc" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Writing a code block""" start="00:07:23.500" video="mainVideo-doc" id="subtitle"]]</div>[[!template text="""Okay, so now that we've written some text,""" start="00:07:23.500" video="mainVideo-doc" id="subtitle"]]
[[!template text="""let's try our hand at writing a code block.""" start="00:07:26.060" video="mainVideo-doc" id="subtitle"]]
[[!template text="""I'm getting pretty sick of looking at""" start="00:07:29.600" video="mainVideo-doc" id="subtitle"]]
[[!template text="""the default Emacs theme.""" start="00:07:31.289" video="mainVideo-doc" id="subtitle"]]
@@ -192,9 +179,7 @@
[[!template text="""So that's great and all,""" start="00:08:06.980" video="mainVideo-doc" id="subtitle"]]
[[!template text="""but there are a couple of things I don't like.""" start="00:08:08.080" video="mainVideo-doc" id="subtitle"]]
-[[!template new="1" text=""":results none""" start="00:08:10.460" video="mainVideo-doc" id="subtitle"]]
-
-[[!template text="""First of all, we don't need to see a #+RESULTS block here,""" start="00:08:10.460" video="mainVideo-doc" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text=""":results none""" start="00:08:10.460" video="mainVideo-doc" id="subtitle"]]</div>[[!template text="""First of all, we don't need to see a #+RESULTS block here,""" start="00:08:10.460" video="mainVideo-doc" id="subtitle"]]
[[!template text="""and that's because we're not really interested""" start="00:08:13.600" video="mainVideo-doc" id="subtitle"]]
[[!template text="""in what the Emacs Lisp function `load-theme` returns.""" start="00:08:15.280" video="mainVideo-doc" id="subtitle"]]
[[!template text="""I mean, it's great it returned t and all to indicate success,""" start="00:08:18.720" video="mainVideo-doc" id="subtitle"]]
@@ -206,9 +191,7 @@
[[!template text="""So I'll always refer back to the org-mode manual""" start="00:08:35.360" video="mainVideo-doc" id="subtitle"]]
[[!template text="""when working with them.""" start="00:08:38.920" video="mainVideo-doc" id="subtitle"]]
-[[!template new="1" text="""Confirmation""" start="00:08:40.320" video="mainVideo-doc" id="subtitle"]]
-
-[[!template text="""The second thing I don't like is that""" start="00:08:40.320" video="mainVideo-doc" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Confirmation""" start="00:08:40.320" video="mainVideo-doc" id="subtitle"]]</div>[[!template text="""The second thing I don't like is that""" start="00:08:40.320" video="mainVideo-doc" id="subtitle"]]
[[!template text="""when we hit C-c C-c to execute the block,""" start="00:08:42.160" video="mainVideo-doc" id="subtitle"]]
[[!template text="""Emacs prompted us if we really wanted to run the block.""" start="00:08:46.000" video="mainVideo-doc" id="subtitle"]]
[[!template text="""Emacs Lisp is Emacs' mother tongue,""" start="00:08:49.600" video="mainVideo-doc" id="subtitle"]]
@@ -246,9 +229,7 @@
[[!template text="""you can see that Emacs' customize tooling""" start="00:10:29.560" video="mainVideo-doc" id="subtitle"]]
[[!template text="""helpfully updated this variable in our config file for us.""" start="00:10:32.520" video="mainVideo-doc" id="subtitle"]]
-[[!template new="1" text="""Running blocks automatically""" start="00:10:36.960" video="mainVideo-doc" id="subtitle"]]
-
-[[!template text="""Now that's great and all,""" start="00:10:36.960" video="mainVideo-doc" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Running blocks automatically""" start="00:10:36.960" video="mainVideo-doc" id="subtitle"]]</div>[[!template text="""Now that's great and all,""" start="00:10:36.960" video="mainVideo-doc" id="subtitle"]]
[[!template text="""but I really don't like having to hit `C-c C-c`""" start="00:10:38.120" video="mainVideo-doc" id="subtitle"]]
[[!template text="""on that source block every time I open this document""" start="00:10:42.120" video="mainVideo-doc" id="subtitle"]]
[[!template text="""just to bring up the Leuven theme.""" start="00:10:45.160" video="mainVideo-doc" id="subtitle"]]
@@ -323,9 +304,7 @@
[[!template text="""and explain to the reader of the exported document""" start="00:13:47.880" video="mainVideo-doc" id="subtitle"]]
[[!template text="""what this is all about.""" start="00:13:51.440" video="mainVideo-doc" id="subtitle"]]
-[[!template new="1" text="""Export options""" start="00:13:53.000" video="mainVideo-doc" id="subtitle"]]
-
-[[!template text="""Now as you can see, we've actually hard-coded""" start="00:13:53.000" video="mainVideo-doc" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Export options""" start="00:13:53.000" video="mainVideo-doc" id="subtitle"]]</div>[[!template text="""Now as you can see, we've actually hard-coded""" start="00:13:53.000" video="mainVideo-doc" id="subtitle"]]
[[!template text="""the name of the Linux distro in our prose.""" start="00:13:55.640" video="mainVideo-doc" id="subtitle"]]
[[!template text="""I promised you a single document that could be""" start="00:13:58.280" video="mainVideo-doc" id="subtitle"]]
[[!template text="""for either RedHat or Debian distros,""" start="00:14:00.880" video="mainVideo-doc" id="subtitle"]]
@@ -379,9 +358,7 @@
[[!template text="""Now when we export the document again,""" start="00:16:00.980" video="mainVideo-doc" id="subtitle"]]
[[!template text="""it should look a lot better.""" start="00:16:03.120" video="mainVideo-doc" id="subtitle"]]
-[[!template new="1" text="""Substituting constants""" start="00:16:05.700" video="mainVideo-doc" id="subtitle"]]
-
-[[!template text="""Now that we've cleaned up the look of the exported document,""" start="00:16:05.700" video="mainVideo-doc" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Substituting constants""" start="00:16:05.700" video="mainVideo-doc" id="subtitle"]]</div>[[!template text="""Now that we've cleaned up the look of the exported document,""" start="00:16:05.700" video="mainVideo-doc" id="subtitle"]]
[[!template text="""we'll take a look at a better way""" start="00:16:09.060" video="mainVideo-doc" id="subtitle"]]
[[!template text="""of solving the problem with the introduction.""" start="00:16:10.640" video="mainVideo-doc" id="subtitle"]]
[[!template text="""Thinking like a programmer for a moment,""" start="00:16:13.378" video="mainVideo-doc" id="subtitle"]]
@@ -405,9 +382,7 @@
[[!template text="""And that's where we'll put the properties drawer""" start="00:17:14.000" video="mainVideo-doc" id="subtitle"]]
[[!template text="""with the &quot;distro&quot; property.""" start="00:17:19.560" video="mainVideo-doc" id="subtitle"]]
-[[!template new="1" text="""Getting the properties""" start="00:17:25.740" video="mainVideo-doc" id="subtitle"]]
-
-[[!template text="""Now the question is,""" start="00:17:25.740" video="mainVideo-doc" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Getting the properties""" start="00:17:25.740" video="mainVideo-doc" id="subtitle"]]</div>[[!template text="""Now the question is,""" start="00:17:25.740" video="mainVideo-doc" id="subtitle"]]
[[!template text="""how do we reference these properties in the document?""" start="00:17:27.120" video="mainVideo-doc" id="subtitle"]]
[[!template text="""It turns out there's an Elisp function""" start="00:17:30.100" video="mainVideo-doc" id="subtitle"]]
[[!template text="""called `org-property-values`, which does what we want.""" start="00:17:32.520" video="mainVideo-doc" id="subtitle"]]
@@ -466,9 +441,7 @@
[[!template text="""it looks like what we'd expect.""" start="00:19:58.240" video="mainVideo-doc" id="subtitle"]]
[[!template text="""Now this is getting better, but it's still not great.""" start="00:20:00.290" video="mainVideo-doc" id="subtitle"]]
-[[!template new="1" text="""Macros""" start="00:20:03.060" video="mainVideo-doc" id="subtitle"]]
-
-[[!template text="""The `call_` syntax is pretty cumbersome,""" start="00:20:03.060" video="mainVideo-doc" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Macros""" start="00:20:03.060" video="mainVideo-doc" id="subtitle"]]</div>[[!template text="""The `call_` syntax is pretty cumbersome,""" start="00:20:03.060" video="mainVideo-doc" id="subtitle"]]
[[!template text="""and it's a lot to type every time we want""" start="00:20:05.840" video="mainVideo-doc" id="subtitle"]]
[[!template text="""to reference a constant""" start="00:20:08.560" video="mainVideo-doc" id="subtitle"]]
[[!template text="""and not have it be marked up as verbatim.""" start="00:20:09.850" video="mainVideo-doc" id="subtitle"]]
@@ -491,9 +464,7 @@
[[!template text="""That's six curly braces in total we're typing,""" start="00:20:58.700" video="mainVideo-doc" id="subtitle"]]
[[!template text="""which still takes up a fair amount of space.""" start="00:21:01.280" video="mainVideo-doc" id="subtitle"]]
-[[!template new="1" text="""Properties in practice""" start="00:21:05.240" video="mainVideo-doc" id="subtitle"]]
-
-[[!template text="""Now let's take a look at how we might use""" start="00:21:05.240" video="mainVideo-doc" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Properties in practice""" start="00:21:05.240" video="mainVideo-doc" id="subtitle"]]</div>[[!template text="""Now let's take a look at how we might use""" start="00:21:05.240" video="mainVideo-doc" id="subtitle"]]
[[!template text="""these properties in practice.""" start="00:21:07.120" video="mainVideo-doc" id="subtitle"]]
[[!template text="""Debian and RedHat distros differ""" start="00:21:09.160" video="mainVideo-doc" id="subtitle"]]
[[!template text="""on how they install packages.""" start="00:21:11.120" video="mainVideo-doc" id="subtitle"]]
@@ -516,9 +487,7 @@
[[!template text="""a bunch of different properties,""" start="00:22:05.200" video="mainVideo-doc" id="subtitle"]]
[[!template text="""which is pretty janky.""" start="00:22:06.990" video="mainVideo-doc" id="subtitle"]]
-[[!template new="1" text="""Using a prefix""" start="00:22:09.020" video="mainVideo-doc" id="subtitle"]]
-
-[[!template text="""Luckily we can solve this problem""" start="00:22:09.020" video="mainVideo-doc" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Using a prefix""" start="00:22:09.020" video="mainVideo-doc" id="subtitle"]]</div>[[!template text="""Luckily we can solve this problem""" start="00:22:09.020" video="mainVideo-doc" id="subtitle"]]
[[!template text="""with a little bit of Emacs Lisp.""" start="00:22:11.080" video="mainVideo-doc" id="subtitle"]]
[[!template text="""We'll start by modifying our properties,""" start="00:22:14.440" video="mainVideo-doc" id="subtitle"]]
[[!template text="""so their property names are prefixed""" start="00:22:16.880" video="mainVideo-doc" id="subtitle"]]
@@ -551,9 +520,7 @@
[[!template text="""Let's see that in action.""" start="00:23:35.330" video="mainVideo-doc" id="subtitle"]]
[[!template text="""All right, now we're talking.""" start="00:23:40.000" video="mainVideo-doc" id="subtitle"]]
-[[!template new="1" text="""Switching distributions""" start="00:23:42.010" video="mainVideo-doc" id="subtitle"]]
-
-[[!template text="""This setup is starting to look pretty good,""" start="00:23:42.010" video="mainVideo-doc" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Switching distributions""" start="00:23:42.010" video="mainVideo-doc" id="subtitle"]]</div>[[!template text="""This setup is starting to look pretty good,""" start="00:23:42.010" video="mainVideo-doc" id="subtitle"]]
[[!template text="""but there are just a few things""" start="00:23:44.420" video="mainVideo-doc" id="subtitle"]]
[[!template text="""that I want to add before we move on.""" start="00:23:46.040" video="mainVideo-doc" id="subtitle"]]
[[!template text="""First of all, I think the document should have a subtitle,""" start="00:23:48.660" video="mainVideo-doc" id="subtitle"]]
@@ -632,9 +599,7 @@
[[!template text="""which I hope is a point that folks take away from this talk.""" start="00:27:06.680" video="mainVideo-doc" id="subtitle"]]
[[!template text="""All right, that was a lot.""" start="00:27:12.150" video="mainVideo-doc" id="subtitle"]]
-[[!template new="1" text="""A tour""" start="00:27:14.150" video="mainVideo-doc" id="subtitle"]]
-
-[[!template text="""Now that we've spent the past 20 minutes or so""" start="00:27:14.150" video="mainVideo-doc" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""A tour""" start="00:27:14.150" video="mainVideo-doc" id="subtitle"]]</div>[[!template text="""Now that we've spent the past 20 minutes or so""" start="00:27:14.150" video="mainVideo-doc" id="subtitle"]]
[[!template text="""digging into some of the tips and tricks I used""" start="00:27:16.840" video="mainVideo-doc" id="subtitle"]]
[[!template text="""when creating my build Emacs from source document,""" start="00:27:19.410" video="mainVideo-doc" id="subtitle"]]
[[!template text="""we'll say goodbye to this document we've been working on""" start="00:27:22.880" video="mainVideo-doc" id="subtitle"]]
@@ -704,9 +669,7 @@
[[!template text="""and the section on executing""" start="00:30:12.330" video="mainVideo-doc" id="subtitle"]]
[[!template text="""the document's various code blocks.""" start="00:30:14.080" video="mainVideo-doc" id="subtitle"]]
-[[!template new="1" text="""TeX and LaTeX""" start="00:30:16.200" video="mainVideo-doc" id="subtitle"]]
-
-[[!template text="""The latter two sections we'll take a look at now.""" start="00:30:16.200" video="mainVideo-doc" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""TeX and LaTeX""" start="00:30:16.200" video="mainVideo-doc" id="subtitle"]]</div>[[!template text="""The latter two sections we'll take a look at now.""" start="00:30:16.200" video="mainVideo-doc" id="subtitle"]]
[[!template text="""Out of the box on Fedora and Ubuntu server distros,""" start="00:30:19.200" video="mainVideo-doc" id="subtitle"]]
[[!template text="""the TeX typesetting system""" start="00:30:22.580" video="mainVideo-doc" id="subtitle"]]
[[!template text="""also by noted computer scientist Donald Knuth""" start="00:30:24.710" video="mainVideo-doc" id="subtitle"]]
@@ -725,9 +688,7 @@
[[!template text="""that knows how to run LaTeX multiple times""" start="00:31:02.400" video="mainVideo-doc" id="subtitle"]]
[[!template text="""in order to properly deal with intra-document links.""" start="00:31:05.140" video="mainVideo-doc" id="subtitle"]]
-[[!template new="1" text="""Other prerequisites""" start="00:31:09.250" video="mainVideo-doc" id="subtitle"]]
-
-[[!template text="""But wait, there's more.""" start="00:31:09.250" video="mainVideo-doc" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Other prerequisites""" start="00:31:09.250" video="mainVideo-doc" id="subtitle"]]</div>[[!template text="""But wait, there's more.""" start="00:31:09.250" video="mainVideo-doc" id="subtitle"]]
[[!template text="""We're also gonna need Inkscape""" start="00:31:11.070" video="mainVideo-doc" id="subtitle"]]
[[!template text="""to rasterize our SeaGL vector logo""" start="00:31:12.960" video="mainVideo-doc" id="subtitle"]]
[[!template text="""at different resolutions.""" start="00:31:15.520" video="mainVideo-doc" id="subtitle"]]
@@ -748,9 +709,7 @@
[[!template text="""to work on bog-standard Emacs setups,""" start="00:31:55.760" video="mainVideo-doc" id="subtitle"]]
[[!template text="""I didn't get around to it.""" start="00:31:58.000" video="mainVideo-doc" id="subtitle"]]
-[[!template new="1" text="""Caching""" start="00:32:00.060" video="mainVideo-doc" id="subtitle"]]
-
-[[!template text="""Before we get into talking about running the document,""" start="00:32:00.060" video="mainVideo-doc" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Caching""" start="00:32:00.060" video="mainVideo-doc" id="subtitle"]]</div>[[!template text="""Before we get into talking about running the document,""" start="00:32:00.060" video="mainVideo-doc" id="subtitle"]]
[[!template text="""let's talk briefly about results caching.""" start="00:32:03.140" video="mainVideo-doc" id="subtitle"]]
[[!template text="""We'll take a look at the section of the document""" start="00:32:06.450" video="mainVideo-doc" id="subtitle"]]
[[!template text="""where we talk about Git tags for an example.""" start="00:32:08.840" video="mainVideo-doc" id="subtitle"]]
@@ -838,9 +797,7 @@
[[!template text="""Ooh, those are the words I love to see in the status area,""" start="00:36:14.040" video="mainVideo-doc" id="subtitle"]]
[[!template text="""PDF file produced!""" start="00:36:17.560" video="mainVideo-doc" id="subtitle"]]
-[[!template new="1" text="""Looking at the PDF""" start="00:36:20.610" video="mainVideo-doc" id="subtitle"]]
-
-[[!template text="""Now I can't use my web browser""" start="00:36:20.610" video="mainVideo-doc" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Looking at the PDF""" start="00:36:20.610" video="mainVideo-doc" id="subtitle"]]</div>[[!template text="""Now I can't use my web browser""" start="00:36:20.610" video="mainVideo-doc" id="subtitle"]]
[[!template text="""to take a look at this PDF file""" start="00:36:22.600" video="mainVideo-doc" id="subtitle"]]
[[!template text="""because I haven't set up a web server""" start="00:36:24.960" video="mainVideo-doc" id="subtitle"]]
[[!template text="""or anything like that on the Ubuntu virtual machine.""" start="00:36:27.080" video="mainVideo-doc" id="subtitle"]]
@@ -902,9 +859,7 @@
[[!template text="""And this is dynamically generated based on what we saw here.""" start="00:39:22.780" video="mainVideo-doc" id="subtitle"]]
[[!template text="""So that's what we use here.""" start="00:39:27.480" video="mainVideo-doc" id="subtitle"]]
-[[!template new="1" text="""Errors""" start="00:39:29.440" video="mainVideo-doc" id="subtitle"]]
-
-[[!template text="""In this case, we're piping standard error""" start="00:39:29.440" video="mainVideo-doc" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Errors""" start="00:39:29.440" video="mainVideo-doc" id="subtitle"]]</div>[[!template text="""In this case, we're piping standard error""" start="00:39:29.440" video="mainVideo-doc" id="subtitle"]]
[[!template text="""to where standard out goes.""" start="00:39:32.920" video="mainVideo-doc" id="subtitle"]]
[[!template text="""That's another trick.""" start="00:39:35.100" video="mainVideo-doc" id="subtitle"]]
[[!template text="""If you want to actually see an error get created,""" start="00:39:36.070" video="mainVideo-doc" id="subtitle"]]
@@ -970,20 +925,17 @@
[[!template text="""like the file sizes of everything in the home directory.""" start="00:42:23.980" video="mainVideo-doc" id="subtitle"]]
[[!template text="""And then we, you know, show the binaries that got installed.""" start="00:42:27.720" video="mainVideo-doc" id="subtitle"]]
-[[!template new="1" text="""Final thoughts""" start="00:42:31.990" video="mainVideo-doc" id="subtitle"]]
-
-[[!template text="""Anyway, so this is the final thoughts section.""" start="00:42:31.990" video="mainVideo-doc" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Final thoughts""" start="00:42:31.990" video="mainVideo-doc" id="subtitle"]]</div>[[!template text="""Anyway, so this is the final thoughts section.""" start="00:42:31.990" video="mainVideo-doc" id="subtitle"]]
[[!template text="""And my final thoughts are, is I hope you enjoyed this talk""" start="00:42:35.600" video="mainVideo-doc" id="subtitle"]]
[[!template text="""and I hope you actually learned a thing or two.""" start="00:42:39.220" video="mainVideo-doc" id="subtitle"]]
[[!template text="""All right, thanks everybody.""" start="00:42:42.380" video="mainVideo-doc" id="subtitle"]]
[[!template text="""And I'll see you all next time.""" start="00:42:43.360" video="mainVideo-doc" id="subtitle"]]
-
+</div>
Captioner: jc
-<a name="doc-qanda-transcript"></a>
-# Q&A transcript (unedited)
+<div class="transcript transcript-qanda"><a name="doc-qanda-transcript"></a><h1>Q&A transcript (unedited)</h1>
[[!template text="""[Speaker 0]: Well, we have about, I think,""" start="00:00:03.639" video="qanda-doc" id="subtitle"]]
[[!template text="""10 or 15 minutes of on-stream Q&A time.""" start="00:00:06.339" video="qanda-doc" id="subtitle"]]
@@ -1183,7 +1135,7 @@ Captioner: jc
[[!template text="""watching. You""" start="00:22:45.060" video="qanda-doc" id="subtitle"]]
[[!template text="""you""" start="00:23:00.260" video="qanda-doc" id="subtitle"]]
-Questions or comments? Please e-mail [emacsconf-org-private@gnu.org](mailto:emacsconf-org-private@gnu.org?subject=Comment%20for%20EmacsConf%202023%20doc%3A%20Literate%20Documentation%20with%20Emacs%20and%20Org%20Mode)
+</div>Questions or comments? Please e-mail [emacsconf-org-private@gnu.org](mailto:emacsconf-org-private@gnu.org?subject=Comment%20for%20EmacsConf%202023%20doc%3A%20Literate%20Documentation%20with%20Emacs%20and%20Org%20Mode)
<!-- End of emacsconf-publish-after-page -->
diff --git a/2023/info/doc-before.md b/2023/info/doc-before.md
index 8e799bc4..18772fdb 100644
--- a/2023/info/doc-before.md
+++ b/2023/info/doc-before.md
@@ -2,7 +2,7 @@
Actually a general-audience talk; just on the development track for scheduling purposes
[[!toc ]]
-Format: 43-min talk; Q&A: BigBlueButton conference room
+Format: 43-min talk ; Q&A: BigBlueButton conference room
Status: Q&A to be extracted from the room recordings
@@ -11,7 +11,7 @@ Status: Q&A to be extracted from the room recordings
# Talk
-<div class="vid"><video controls preload="none" id="doc-mainVideo"><source src="https://media.emacsconf.org/2023/emacsconf-2023-doc--literate-documentation-with-emacs-and-org-mode--mike-hamrick--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-doc--literate-documentation-with-emacs-and-org-mode--mike-hamrick--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2023/captions/emacsconf-2023-doc--literate-documentation-with-emacs-and-org-mode--mike-hamrick--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="doc-mainVideo" data="""
+<div class="vid mainVideo"><video controls preload="none" id="mainVideo-doc"><source src="https://media.emacsconf.org/2023/emacsconf-2023-doc--literate-documentation-with-emacs-and-org-mode--mike-hamrick--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-doc--literate-documentation-with-emacs-and-org-mode--mike-hamrick--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2023/captions/emacsconf-2023-doc--literate-documentation-with-emacs-and-org-mode--mike-hamrick--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-doc" data="""
00:00.000 Introduction
00:57.760 Org Babel and literate programming
02:14.080 This presentation
@@ -36,10 +36,10 @@ Status: Q&A to be extracted from the room recordings
39:29.440 Errors
42:31.990 Final thoughts
-"""]]<div></div>Duration: 42:45 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-doc--literate-documentation-with-emacs-and-org-mode--mike-hamrick--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-doc--literate-documentation-with-emacs-and-org-mode--mike-hamrick--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-doc--literate-documentation-with-emacs-and-org-mode--mike-hamrick--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-doc--literate-documentation-with-emacs-and-org-mode--mike-hamrick--main.opus">Download --main.opus (23MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-doc--literate-documentation-with-emacs-and-org-mode--mike-hamrick--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-doc--literate-documentation-with-emacs-and-org-mode--mike-hamrick--main.webm">Download --main.webm (133MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-doc--literate-documentation-with-emacs-and-org-mode--mike-hamrick--pad.html">Download --pad.html</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-doc--literate-documentation-with-emacs-and-org-mode--mike-hamrick--pad.md">Download --pad.md</a></li><li><a href="https://toobnix.org/w/8ak16Qy1tjeFEqmcnan6MQ">View on Toobnix</a></li></ul></div></div>
+"""]]<div></div>Duration: 42:45 minutes<div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2023-doc">Open Etherpad</a></li><li><a href="https://bbb.emacsverse.org/playback/presentation/2.0/playback.html?meetingId=37169783fc35bab0d36d00ed912e4c31ebef8fb0-1701548380496">Play recording from BigBlueButton</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-doc--literate-documentation-with-emacs-and-org-mode--mike-hamrick--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-doc--literate-documentation-with-emacs-and-org-mode--mike-hamrick--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-doc--literate-documentation-with-emacs-and-org-mode--mike-hamrick--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-doc--literate-documentation-with-emacs-and-org-mode--mike-hamrick--main.opus">Download --main.opus (23MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-doc--literate-documentation-with-emacs-and-org-mode--mike-hamrick--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-doc--literate-documentation-with-emacs-and-org-mode--mike-hamrick--main.webm">Download --main.webm (133MB)</a></li><li><a href="https://toobnix.org/w/8ak16Qy1tjeFEqmcnan6MQ">View on Toobnix</a></li><li><a href="https://www.youtube.com/watch?v=BAFZ-vTnfSo">View on Youtube</a></li></ul></div></div>
# Q&A
-<div class="vid"><video controls preload="none" id="doc-qanda"><source src="https://media.emacsconf.org/2023/emacsconf-2023-doc--literate-documentation-with-emacs-and-org-mode--mike-hamrick--answers.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-doc--literate-documentation-with-emacs-and-org-mode--mike-hamrick--answers.vtt" default />"""<p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video><div>Listen to just the audio:<br /><audio controls preload="none" id="doc-qanda-audio" src="https://media.emacsconf.org/2023/emacsconf-2023-doc--literate-documentation-with-emacs-and-org-mode--mike-hamrick--answers.opus"></audio></div><div></div>Duration: 11:00 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-doc--literate-documentation-with-emacs-and-org-mode--mike-hamrick--answers.json">Download --answers.json (1.5MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-doc--literate-documentation-with-emacs-and-org-mode--mike-hamrick--answers.opus">Download --answers.opus (18MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-doc--literate-documentation-with-emacs-and-org-mode--mike-hamrick--answers.vtt">Download --answers.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-doc--literate-documentation-with-emacs-and-org-mode--mike-hamrick--answers.webm">Download --answers.webm (69MB)</a></li></ul></div></div>
+<div class="vid qanda"><video controls preload="none" id="qanda-doc"><source src="https://media.emacsconf.org/2023/emacsconf-2023-doc--literate-documentation-with-emacs-and-org-mode--mike-hamrick--answers.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-doc--literate-documentation-with-emacs-and-org-mode--mike-hamrick--answers.vtt" default />"""<p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video><div>Listen to just the audio:<br /><audio controls preload="none" id="qanda-doc-audio" src="https://media.emacsconf.org/2023/emacsconf-2023-doc--literate-documentation-with-emacs-and-org-mode--mike-hamrick--answers.opus"></audio></div><div></div>Duration: 11:00 minutes<div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2023-doc">Open Etherpad</a></li><li><a href="https://bbb.emacsverse.org/playback/presentation/2.0/playback.html?meetingId=37169783fc35bab0d36d00ed912e4c31ebef8fb0-1701548380496">Play recording from BigBlueButton</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-doc--literate-documentation-with-emacs-and-org-mode--mike-hamrick--answers.json">Download --answers.json (1.5MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-doc--literate-documentation-with-emacs-and-org-mode--mike-hamrick--answers.opus">Download --answers.opus (18MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-doc--literate-documentation-with-emacs-and-org-mode--mike-hamrick--answers.vtt">Download --answers.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-doc--literate-documentation-with-emacs-and-org-mode--mike-hamrick--answers.webm">Download --answers.webm (69MB)</a></li></ul></div></div>
# Description
<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2023/info/doc-nav.md b/2023/info/doc-nav.md
index 5f8eaf6b..8c04bf51 100644
--- a/2023/info/doc-nav.md
+++ b/2023/info/doc-nav.md
@@ -3,5 +3,5 @@
Back to the [[talks]]
Previous by track: <a href="/2023/talks/repl">REPLs in strange places: Lua, LaTeX, LPeg, LPegRex, TikZ</a>
Next by track: <a href="/2023/talks/windows">Windows into Freedom</a>
-Track: <span class="sched-track Development">Development</span>
+Track: <span class="sched-track Development">Development</span> - <strong><a href="https://emacsconf.org/2023/watch/dev">Watch</a></strong>
</div>
diff --git a/2023/info/eat-after.md b/2023/info/eat-after.md
index 41bfbc90..3358e962 100644
--- a/2023/info/eat-after.md
+++ b/2023/info/eat-after.md
@@ -1,20 +1,15 @@
<!-- Automatically generated by emacsconf-publish-after-page -->
-<a name="eat-mainVideo-transcript"></a>
-# Transcript
+<div class="transcript transcript-mainVideo"><a name="eat-mainVideo-transcript"></a><h1>Transcript</h1>
-[[!template new="1" text="""Intro""" start="00:00:00.000" video="mainVideo-eat" id="subtitle"]]
-
-[[!template text="""Hello everyone. Welcome to my talk.""" start="00:00:00.000" video="mainVideo-eat" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Intro""" start="00:00:00.000" video="mainVideo-eat" id="subtitle"]]</div>[[!template text="""Hello everyone. Welcome to my talk.""" start="00:00:00.000" video="mainVideo-eat" id="subtitle"]]
[[!template text="""I am Akib Azmain Turja and my talk is titled""" start="00:00:04.200" video="mainVideo-eat" id="subtitle"]]
[[!template text="""&quot;Eat and Eat-powered Eshell:""" start="00:00:09.360" video="mainVideo-eat" id="subtitle"]]
[[!template text="""Fast, featureful terminal inside Emacs.&quot;""" start="00:00:11.520" video="mainVideo-eat" id="subtitle"]]
-[[!template new="1" text="""Benchmarking""" start="00:00:15.440" video="mainVideo-eat" id="subtitle"]]
-
-[[!template text="""So I just claimed that Eat is a fast terminal emulator.""" start="00:00:15.440" video="mainVideo-eat" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Benchmarking""" start="00:00:15.440" video="mainVideo-eat" id="subtitle"]]</div>[[!template text="""So I just claimed that Eat is a fast terminal emulator.""" start="00:00:15.440" video="mainVideo-eat" id="subtitle"]]
[[!template text="""Let me show you that. I will print a 1-megabyte sized file""" start="00:00:22.840" video="mainVideo-eat" id="subtitle"]]
[[!template text="""in the terminal using this command.""" start="00:00:33.280" video="mainVideo-eat" id="subtitle"]]
[[!template text="""It takes 0.76 seconds. Now let's benchmark term-mode.""" start="00:00:39.040" video="mainVideo-eat" id="subtitle"]]
@@ -27,9 +22,7 @@
[[!template text="""Why? That shouldn't happen.""" start="00:01:36.160" video="mainVideo-eat" id="subtitle"]]
[[!template text="""Anyway, hopefully that shows how fast Eat is.""" start="00:01:41.800" video="mainVideo-eat" id="subtitle"]]
-[[!template new="1" text="""Running programs""" start="00:01:49.720" video="mainVideo-eat" id="subtitle"]]
-
-[[!template text="""So let's run some extra programs in Eat,""" start="00:01:49.720" video="mainVideo-eat" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Running programs""" start="00:01:49.720" video="mainVideo-eat" id="subtitle"]]</div>[[!template text="""So let's run some extra programs in Eat,""" start="00:01:49.720" video="mainVideo-eat" id="subtitle"]]
[[!template text="""like top. You can also run htop or even btop.""" start="00:01:54.440" video="mainVideo-eat" id="subtitle"]]
[[!template text="""There is a fancy version of top.""" start="00:02:05.640" video="mainVideo-eat" id="subtitle"]]
[[!template text="""And obviously you can run Emacs in it.""" start="00:02:08.560" video="mainVideo-eat" id="subtitle"]]
@@ -37,39 +30,29 @@
[[!template text="""You can show any color in the terminal""" start="00:02:33.880" video="mainVideo-eat" id="subtitle"]]
[[!template text="""as long as your main display supports it.""" start="00:02:38.800" video="mainVideo-eat" id="subtitle"]]
-[[!template new="1" text="""Shell integration""" start="00:02:47.080" video="mainVideo-eat" id="subtitle"]]
-
-[[!template text="""And then there is shell integration.""" start="00:02:47.080" video="mainVideo-eat" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Shell integration""" start="00:02:47.080" video="mainVideo-eat" id="subtitle"]]</div>[[!template text="""And then there is shell integration.""" start="00:02:47.080" video="mainVideo-eat" id="subtitle"]]
[[!template text="""For example, directory tracking.""" start="00:02:50.360" video="mainVideo-eat" id="subtitle"]]
[[!template text="""Like, I can switch to some other directory""" start="00:02:52.400" video="mainVideo-eat" id="subtitle"]]
[[!template text="""and Emacs follows the shell directory.""" start="00:03:07.480" video="mainVideo-eat" id="subtitle"]]
-[[!template new="1" text="""Prompt annotation""" start="00:03:11.920" video="mainVideo-eat" id="subtitle"]]
-
-[[!template text="""Then there is prompt annotation,""" start="00:03:11.920" video="mainVideo-eat" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Prompt annotation""" start="00:03:11.920" video="mainVideo-eat" id="subtitle"]]</div>[[!template text="""Then there is prompt annotation,""" start="00:03:11.920" video="mainVideo-eat" id="subtitle"]]
[[!template text="""this column. These zeros indicate""" start="00:03:16.440" video="mainVideo-eat" id="subtitle"]]
[[!template text="""that the command has executed successfully.""" start="00:03:20.320" video="mainVideo-eat" id="subtitle"]]
[[!template text="""Then you can navigate between commands like this.""" start="00:03:27.080" video="mainVideo-eat" id="subtitle"]]
-[[!template new="1" text="""Message passing""" start="00:03:37.680" video="mainVideo-eat" id="subtitle"]]
-
-[[!template text="""There is message passing.""" start="00:03:37.680" video="mainVideo-eat" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Message passing""" start="00:03:37.680" video="mainVideo-eat" id="subtitle"]]</div>[[!template text="""There is message passing.""" start="00:03:37.680" video="mainVideo-eat" id="subtitle"]]
[[!template text="""By message passing, I mean sending something""" start="00:03:39.400" video="mainVideo-eat" id="subtitle"]]
[[!template text="""from the terminal to the host Emacs.""" start="00:03:44.120" video="mainVideo-eat" id="subtitle"]]
[[!template text="""By host Emacs, I mean Emacs running the terminal.""" start="00:03:46.960" video="mainVideo-eat" id="subtitle"]]
[[!template text="""For example I can say &quot;hi&quot; and it's showing &quot;hi&quot;""" start="00:03:52.120" video="mainVideo-eat" id="subtitle"]]
[[!template text="""in this echo area of my Emacs.""" start="00:03:57.440" video="mainVideo-eat" id="subtitle"]]
-[[!template new="1" text="""Shell integration""" start="00:04:03.520" video="mainVideo-eat" id="subtitle"]]
-
-[[!template text="""Then let's show you the killer feature of Eat,""" start="00:04:03.520" video="mainVideo-eat" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Shell integration""" start="00:04:03.520" video="mainVideo-eat" id="subtitle"]]</div>[[!template text="""Then let's show you the killer feature of Eat,""" start="00:04:03.520" video="mainVideo-eat" id="subtitle"]]
[[!template text="""Eat's shell integration.""" start="00:04:08.680" video="mainVideo-eat" id="subtitle"]]
[[!template text="""You can run any program in it. For example: top, btop,""" start="00:04:20.240" video="mainVideo-eat" id="subtitle"]]
[[!template text="""and obviously Emacs itself.""" start="00:04:37.840" video="mainVideo-eat" id="subtitle"]]
-[[!template new="1" text="""Input modes""" start="00:04:52.160" video="mainVideo-eat" id="subtitle"]]
-
-[[!template text="""So let's discuss how to use Eat. There are four input modes.""" start="00:04:52.160" video="mainVideo-eat" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Input modes""" start="00:04:52.160" video="mainVideo-eat" id="subtitle"]]</div>[[!template text="""So let's discuss how to use Eat. There are four input modes.""" start="00:04:52.160" video="mainVideo-eat" id="subtitle"]]
[[!template text="""The first one is semi-char mode. That is the default mode.""" start="00:05:03.160" video="mainVideo-eat" id="subtitle"]]
[[!template text="""This is like vterm. All keys are the same to your terminal""" start="00:05:07.320" video="mainVideo-eat" id="subtitle"]]
[[!template text="""except these keys: C-c, C-x, C-g, M-x, etc.""" start="00:05:10.920" video="mainVideo-eat" id="subtitle"]]
@@ -88,9 +71,7 @@
[[!template text="""when eat-eshell integration is enabled""" start="00:06:20.160" video="mainVideo-eat" id="subtitle"]]
[[!template text="""inside the eshell buffer.""" start="00:06:23.145" video="mainVideo-eat" id="subtitle"]]
-[[!template new="1" text="""Documentation""" start="00:06:33.760" video="mainVideo-eat" id="subtitle"]]
-
-[[!template text="""There is an info manual,""" start="00:06:33.760" video="mainVideo-eat" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Documentation""" start="00:06:33.760" video="mainVideo-eat" id="subtitle"]]</div>[[!template text="""There is an info manual,""" start="00:06:33.760" video="mainVideo-eat" id="subtitle"]]
[[!template text="""And also the README is quite informative""" start="00:06:36.720" video="mainVideo-eat" id="subtitle"]]
[[!template text="""for you to get started.""" start="00:06:51.600" video="mainVideo-eat" id="subtitle"]]
[[!template text="""If you hit any problem,""" start="00:06:55.000" video="mainVideo-eat" id="subtitle"]]
@@ -107,7 +88,7 @@
[[!template text="""Hopefully you enjoyed my talk. That was all.""" start="00:08:03.480" video="mainVideo-eat" id="subtitle"]]
[[!template text="""Enjoy EmacsConf. Goodbye.""" start="00:08:10.760" video="mainVideo-eat" id="subtitle"]]
-Questions or comments? Please e-mail [akib@disroot.org](mailto:akib@disroot.org?subject=Comment%20for%20EmacsConf%202023%20eat%3A%20Eat%20and%20Eat%20powered%20Eshell%2C%20fast%20featureful%20terminal%20inside%20Emacs)
+</div>Questions or comments? Please e-mail [akib@disroot.org](mailto:akib@disroot.org?subject=Comment%20for%20EmacsConf%202023%20eat%3A%20Eat%20and%20Eat%20powered%20Eshell%2C%20fast%20featureful%20terminal%20inside%20Emacs)
<!-- End of emacsconf-publish-after-page -->
diff --git a/2023/info/eat-before.md b/2023/info/eat-before.md
index 5620d10d..daab0281 100644
--- a/2023/info/eat-before.md
+++ b/2023/info/eat-before.md
@@ -1,12 +1,12 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
[[!toc ]]
-Format: 9-min talk; Q&A: Etherpad
+Format: 9-min talk ; Q&A: Etherpad
Status: Q&A to be extracted from the room recordings
-<div class="vid"><video controls preload="none" id="eat-mainVideo"><source src="https://media.emacsconf.org/2023/emacsconf-2023-eat--eat-and-eat-powered-eshell-fast-featureful-terminal-inside-emacs--akib-azmain-turja--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-eat--eat-and-eat-powered-eshell-fast-featureful-terminal-inside-emacs--akib-azmain-turja--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:13 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-eat--eat-and-eat-powered-eshell-fast-featureful-terminal-inside-emacs--akib-azmain-turja--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-eat--eat-and-eat-powered-eshell-fast-featureful-terminal-inside-emacs--akib-azmain-turja--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-eat--eat-and-eat-powered-eshell-fast-featureful-terminal-inside-emacs--akib-azmain-turja--main.opus">Download --main.opus</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-eat--eat-and-eat-powered-eshell-fast-featureful-terminal-inside-emacs--akib-azmain-turja--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-eat--eat-and-eat-powered-eshell-fast-featureful-terminal-inside-emacs--akib-azmain-turja--main.webm">Download --main.webm (39MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-eat--eat-and-eat-powered-eshell-fast-featureful-terminal-inside-emacs--akib-azmain-turja--pad.html">Download --pad.html</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-eat--eat-and-eat-powered-eshell-fast-featureful-terminal-inside-emacs--akib-azmain-turja--pad.md">Download --pad.md</a></li><li><a href="https://toobnix.org/w/t4pPDtbXiZdHHEyWJVUtNs">View on Toobnix</a></li></ul></div></div>
+<div class="vid mainVideo"><video controls preload="none" id="mainVideo-eat"><source src="https://media.emacsconf.org/2023/emacsconf-2023-eat--eat-and-eat-powered-eshell-fast-featureful-terminal-inside-emacs--akib-azmain-turja--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-eat--eat-and-eat-powered-eshell-fast-featureful-terminal-inside-emacs--akib-azmain-turja--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:13 minutes<div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2023-eat">Open Etherpad</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-eat--eat-and-eat-powered-eshell-fast-featureful-terminal-inside-emacs--akib-azmain-turja--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-eat--eat-and-eat-powered-eshell-fast-featureful-terminal-inside-emacs--akib-azmain-turja--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-eat--eat-and-eat-powered-eshell-fast-featureful-terminal-inside-emacs--akib-azmain-turja--main.opus">Download --main.opus</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-eat--eat-and-eat-powered-eshell-fast-featureful-terminal-inside-emacs--akib-azmain-turja--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-eat--eat-and-eat-powered-eshell-fast-featureful-terminal-inside-emacs--akib-azmain-turja--main.webm">Download --main.webm (39MB)</a></li><li><a href="https://toobnix.org/w/t4pPDtbXiZdHHEyWJVUtNs">View on Toobnix</a></li><li><a href="https://www.youtube.com/watch?v=KQ5Jt-63G9U">View on Youtube</a></li></ul></div></div>
# Description
<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2023/info/eat-nav.md b/2023/info/eat-nav.md
index 3d8f174b..535ff9da 100644
--- a/2023/info/eat-nav.md
+++ b/2023/info/eat-nav.md
@@ -3,5 +3,5 @@
Back to the [[talks]]
Previous by track: <a href="/2023/talks/parallel">Parallel text replacement</a>
Next by track: <a href="/2023/talks/poltys">The browser in a buffer</a>
-Track: <span class="sched-track General">General</span>
+Track: <span class="sched-track General">General</span> - <strong><a href="https://emacsconf.org/2023/watch/gen">Watch</a></strong>
</div>
diff --git a/2023/info/emacsconf-after.md b/2023/info/emacsconf-after.md
index d84a94cd..bc5d9066 100644
--- a/2023/info/emacsconf-after.md
+++ b/2023/info/emacsconf-after.md
@@ -1,21 +1,16 @@
<!-- Automatically generated by emacsconf-publish-after-page -->
-<a name="emacsconf-mainVideo-transcript"></a>
-# Transcript
+<div class="transcript transcript-mainVideo"><a name="emacsconf-mainVideo-transcript"></a><h1>Transcript</h1>
-[[!template new="1" text="""Intro""" start="00:00:00.000" video="mainVideo-emacsconf" id="subtitle"]]
-
-[[!template text="""Hi, I'm Sacha Chua. This presentation is a quick tour""" start="00:00:00.000" video="mainVideo-emacsconf" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Intro""" start="00:00:00.000" video="mainVideo-emacsconf" id="subtitle"]]</div>[[!template text="""Hi, I'm Sacha Chua. This presentation is a quick tour""" start="00:00:00.000" video="mainVideo-emacsconf" id="subtitle"]]
[[!template text="""of some of the things we do to run EmacsConf.""" start="00:00:04.840" video="mainVideo-emacsconf" id="subtitle"]]
[[!template text="""Since 2019, we've run it as an entirely online conference,""" start="00:00:07.960" video="mainVideo-emacsconf" id="subtitle"]]
[[!template text="""and we do as much of the organization as possible""" start="00:00:12.240" video="mainVideo-emacsconf" id="subtitle"]]
[[!template text="""within Emacs itself.""" start="00:00:14.700" video="mainVideo-emacsconf" id="subtitle"]]
-[[!template new="1" text="""Reasons""" start="00:00:16.580" video="mainVideo-emacsconf" id="subtitle"]]
-
-[[!template text="""I have three reasons for making this presentation.""" start="00:00:16.580" video="mainVideo-emacsconf" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Reasons""" start="00:00:16.580" video="mainVideo-emacsconf" id="subtitle"]]</div>[[!template text="""I have three reasons for making this presentation.""" start="00:00:16.580" video="mainVideo-emacsconf" id="subtitle"]]
[[!template text="""The first is entirely selfish: I need to figure out""" start="00:00:19.760" video="mainVideo-emacsconf" id="subtitle"]]
[[!template text="""all the stuff I built for last year's EmacsConf,""" start="00:00:22.760" video="mainVideo-emacsconf" id="subtitle"]]
[[!template text="""since it was a bit of a crazy scramble.""" start="00:00:25.360" video="mainVideo-emacsconf" id="subtitle"]]
@@ -35,9 +30,7 @@
[[!template text="""There are a lot of different parts,""" start="00:01:04.440" video="mainVideo-emacsconf" id="subtitle"]]
[[!template text="""so I'll try to use this map to help make sense of it all.""" start="00:01:06.320" video="mainVideo-emacsconf" id="subtitle"]]
-[[!template new="1" text="""Information""" start="00:01:09.400" video="mainVideo-emacsconf" id="subtitle"]]
-
-[[!template text="""There's so much information to work with,""" start="00:01:09.400" video="mainVideo-emacsconf" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Information""" start="00:01:09.400" video="mainVideo-emacsconf" id="subtitle"]]</div>[[!template text="""There's so much information to work with,""" start="00:01:09.400" video="mainVideo-emacsconf" id="subtitle"]]
[[!template text="""so it probably doesn't surprise you that we use Org Mode a lot.""" start="00:01:11.200" video="mainVideo-emacsconf" id="subtitle"]]
[[!template text="""Most of the conference coordination happens over e-mail,""" start="00:01:14.920" video="mainVideo-emacsconf" id="subtitle"]]
[[!template text="""which I can quickly search with notmuch.""" start="00:01:18.000" video="mainVideo-emacsconf" id="subtitle"]]
@@ -62,9 +55,7 @@
[[!template text="""And there's all the other stuff that goes into running EmacsConf,""" start="00:02:03.120" video="mainVideo-emacsconf" id="subtitle"]]
[[!template text="""like shell scripts and configuration files.""" start="00:02:06.320" video="mainVideo-emacsconf" id="subtitle"]]
-[[!template new="1" text="""Properties""" start="00:02:09.160" video="mainVideo-emacsconf" id="subtitle"]]
-
-[[!template text="""First, speakers propose a talk by sending an e-mail.""" start="00:02:09.160" video="mainVideo-emacsconf" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Properties""" start="00:02:09.160" video="mainVideo-emacsconf" id="subtitle"]]</div>[[!template text="""First, speakers propose a talk by sending an e-mail.""" start="00:02:09.160" video="mainVideo-emacsconf" id="subtitle"]]
[[!template text="""We take the info from that e-mail and store it in Org properties""" start="00:02:12.320" video="mainVideo-emacsconf" id="subtitle"]]
[[!template text="""so that we can work with it later.""" start="00:02:15.800" video="mainVideo-emacsconf" id="subtitle"]]
[[!template text="""Every talk is identified with an ID,""" start="00:02:18.200" video="mainVideo-emacsconf" id="subtitle"]]
@@ -101,9 +92,7 @@
[[!template text="""... then I can extract the data with `jq`""" start="00:03:48.960" video="mainVideo-emacsconf" id="subtitle"]]
[[!template text="""and use it in shell scripts.""" start="00:03:51.120" video="mainVideo-emacsconf" id="subtitle"]]
-[[!template new="1" text="""Timezones""" start="00:03:53.120" video="mainVideo-emacsconf" id="subtitle"]]
-
-[[!template text="""Another example of semi-structured information""" start="00:03:53.120" video="mainVideo-emacsconf" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Timezones""" start="00:03:53.120" video="mainVideo-emacsconf" id="subtitle"]]</div>[[!template text="""Another example of semi-structured information""" start="00:03:53.120" video="mainVideo-emacsconf" id="subtitle"]]
[[!template text="""is speaker availability.""" start="00:03:55.640" video="mainVideo-emacsconf" id="subtitle"]]
[[!template text="""We have speakers from all over the world,""" start="00:03:57.300" video="mainVideo-emacsconf" id="subtitle"]]
[[!template text="""so we try to schedule live Q&A sessions when they're around.""" start="00:03:59.620" video="mainVideo-emacsconf" id="subtitle"]]
@@ -118,9 +107,7 @@
[[!template text="""I can use those availability constraints to report errors""" start="00:04:24.400" video="mainVideo-emacsconf" id="subtitle"]]
[[!template text="""when I'm experimenting with the schedule.""" start="00:04:27.440" video="mainVideo-emacsconf" id="subtitle"]]
-[[!template new="1" text="""Scheduling""" start="00:04:29.720" video="mainVideo-emacsconf" id="subtitle"]]
-
-[[!template text="""Now that I have the availability information,""" start="00:04:29.720" video="mainVideo-emacsconf" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Scheduling""" start="00:04:29.720" video="mainVideo-emacsconf" id="subtitle"]]</div>[[!template text="""Now that I have the availability information,""" start="00:04:29.720" video="mainVideo-emacsconf" id="subtitle"]]
[[!template text="""I can think about scheduling.""" start="00:04:31.680" video="mainVideo-emacsconf" id="subtitle"]]
[[!template text="""When we were planning EmacsConf 2022, the schedule was so full,""" start="00:04:33.941" video="mainVideo-emacsconf" id="subtitle"]]
[[!template text="""I wanted to see if we could make it more manageable""" start="00:04:38.240" video="mainVideo-emacsconf" id="subtitle"]]
@@ -147,9 +134,7 @@
[[!template text="""to the speaker's local timezone when I e-mail them.""" start="00:05:34.800" video="mainVideo-emacsconf" id="subtitle"]]
[[!template text="""That's mostly a matter of using `format-time-string` with a timezone.""" start="00:05:37.820" video="mainVideo-emacsconf" id="subtitle"]]
-[[!template new="1" text="""Templates""" start="00:05:41.780" video="mainVideo-emacsconf" id="subtitle"]]
-
-[[!template text="""There's a lot of text to work with,""" start="00:05:41.780" video="mainVideo-emacsconf" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Templates""" start="00:05:41.780" video="mainVideo-emacsconf" id="subtitle"]]</div>[[!template text="""There's a lot of text to work with,""" start="00:05:41.780" video="mainVideo-emacsconf" id="subtitle"]]
[[!template text="""which means templates are super handy.""" start="00:05:43.160" video="mainVideo-emacsconf" id="subtitle"]]
[[!template text="""There are a number of templating functions for Emacs Lisp,""" start="00:05:45.700" video="mainVideo-emacsconf" id="subtitle"]]
[[!template text="""like the built-in `tempo.el` or `s-lex-format` from `s.el`.""" start="00:05:48.120" video="mainVideo-emacsconf" id="subtitle"]]
@@ -174,9 +159,7 @@
[[!template text="""like when I export the organizers notebook.""" start="00:06:43.500" video="mainVideo-emacsconf" id="subtitle"]]
[[!template text="""Memoize caches recent values.""" start="00:06:45.960" video="mainVideo-emacsconf" id="subtitle"]]
-[[!template new="1" text="""Wiki""" start="00:06:48.400" video="mainVideo-emacsconf" id="subtitle"]]
-
-[[!template text="""We combine this templating function""" start="00:06:48.400" video="mainVideo-emacsconf" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Wiki""" start="00:06:48.400" video="mainVideo-emacsconf" id="subtitle"]]</div>[[!template text="""We combine this templating function""" start="00:06:48.400" video="mainVideo-emacsconf" id="subtitle"]]
[[!template text="""with the talk information""" start="00:06:50.240" video="mainVideo-emacsconf" id="subtitle"]]
[[!template text="""to fill in the conference wiki,""" start="00:06:51.480" video="mainVideo-emacsconf" id="subtitle"]]
[[!template text="""since that's a matter of writing templated strings to files.""" start="00:06:53.440" video="mainVideo-emacsconf" id="subtitle"]]
@@ -211,9 +194,7 @@
[[!template text="""Then we can use the heads of those lists""" start="00:08:00.360" video="mainVideo-emacsconf" id="subtitle"]]
[[!template text="""for next/previous links.""" start="00:08:02.440" video="mainVideo-emacsconf" id="subtitle"]]
-[[!template new="1" text="""Etherpad""" start="00:08:04.380" video="mainVideo-emacsconf" id="subtitle"]]
-
-[[!template text="""Links to the next talks are also handy""" start="00:08:04.380" video="mainVideo-emacsconf" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Etherpad""" start="00:08:04.380" video="mainVideo-emacsconf" id="subtitle"]]</div>[[!template text="""Links to the next talks are also handy""" start="00:08:04.380" video="mainVideo-emacsconf" id="subtitle"]]
[[!template text="""on the collaborative Etherpad documents""" start="00:08:06.680" video="mainVideo-emacsconf" id="subtitle"]]
[[!template text="""that we use for collecting questions, answers, and notes""" start="00:08:08.640" video="mainVideo-emacsconf" id="subtitle"]]
[[!template text="""during each talk.""" start="00:08:12.040" video="mainVideo-emacsconf" id="subtitle"]]
@@ -225,9 +206,7 @@
[[!template text="""We can save the timestamp of the last modification""" start="00:08:22.940" video="mainVideo-emacsconf" id="subtitle"]]
[[!template text="""and then compare it before overwriting.""" start="00:08:25.720" video="mainVideo-emacsconf" id="subtitle"]]
-[[!template new="1" text="""E-mail""" start="00:08:28.200" video="mainVideo-emacsconf" id="subtitle"]]
-
-[[!template text="""Templates are also very handy when it comes to e-mail.""" start="00:08:28.200" video="mainVideo-emacsconf" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""E-mail""" start="00:08:28.200" video="mainVideo-emacsconf" id="subtitle"]]</div>[[!template text="""Templates are also very handy when it comes to e-mail.""" start="00:08:28.200" video="mainVideo-emacsconf" id="subtitle"]]
[[!template text="""Sometimes we send e-mails one at a time,""" start="00:08:31.240" video="mainVideo-emacsconf" id="subtitle"]]
[[!template text="""like when we let a speaker know""" start="00:08:33.600" video="mainVideo-emacsconf" id="subtitle"]]
[[!template text="""that we've received their proposal.""" start="00:08:35.200" video="mainVideo-emacsconf" id="subtitle"]]
@@ -243,9 +222,7 @@
[[!template text="""if more than one person is associated with a talk).""" start="00:08:59.800" video="mainVideo-emacsconf" id="subtitle"]]
[[!template text="""That gives me an opportunity to personalize it further.""" start="00:09:02.600" video="mainVideo-emacsconf" id="subtitle"]]
-[[!template new="1" text="""BigBlueButton web conferences""" start="00:09:05.920" video="mainVideo-emacsconf" id="subtitle"]]
-
-[[!template text="""Many speakers answer questions live""" start="00:09:05.920" video="mainVideo-emacsconf" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""BigBlueButton web conferences""" start="00:09:05.920" video="mainVideo-emacsconf" id="subtitle"]]</div>[[!template text="""Many speakers answer questions live""" start="00:09:05.920" video="mainVideo-emacsconf" id="subtitle"]]
[[!template text="""in BigBlueButton web conference rooms.""" start="00:09:08.120" video="mainVideo-emacsconf" id="subtitle"]]
[[!template text="""Setting up one room per group of speakers""" start="00:09:10.440" video="mainVideo-emacsconf" id="subtitle"]]
[[!template text="""makes it easy to give the speakers the details""" start="00:09:12.640" video="mainVideo-emacsconf" id="subtitle"]]
@@ -271,9 +248,7 @@
[[!template text="""That way, I don't have to count on Emacs being able to""" start="00:10:04.300" video="mainVideo-emacsconf" id="subtitle"]]
[[!template text="""publish them over TRAMP.""" start="00:10:06.680" video="mainVideo-emacsconf" id="subtitle"]]
-[[!template new="1" text="""Shortcuts""" start="00:10:08.121" video="mainVideo-emacsconf" id="subtitle"]]
-
-[[!template text="""During the conference, I'm often jumping from talk to talk.""" start="00:10:08.121" video="mainVideo-emacsconf" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Shortcuts""" start="00:10:08.121" video="mainVideo-emacsconf" id="subtitle"]]</div>[[!template text="""During the conference, I'm often jumping from talk to talk.""" start="00:10:08.121" video="mainVideo-emacsconf" id="subtitle"]]
[[!template text="""Instead of going to the Org file""" start="00:10:11.660" video="mainVideo-emacsconf" id="subtitle"]]
[[!template text="""and then searching for the talk,""" start="00:10:13.200" video="mainVideo-emacsconf" id="subtitle"]]
[[!template text="""I've made a little Hydra with keyboard shortcuts.""" start="00:10:14.520" video="mainVideo-emacsconf" id="subtitle"]]
@@ -286,9 +261,7 @@
[[!template text="""For example, I might want to jump to the wiki page""" start="00:10:32.080" video="mainVideo-emacsconf" id="subtitle"]]
[[!template text="""or e-mail the speaker.""" start="00:10:35.080" video="mainVideo-emacsconf" id="subtitle"]]
-[[!template new="1" text="""Logbook""" start="00:10:36.700" video="mainVideo-emacsconf" id="subtitle"]]
-
-[[!template text="""I can also add notes to a talk while looking at an email,""" start="00:10:36.700" video="mainVideo-emacsconf" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Logbook""" start="00:10:36.700" video="mainVideo-emacsconf" id="subtitle"]]</div>[[!template text="""I can also add notes to a talk while looking at an email,""" start="00:10:36.700" video="mainVideo-emacsconf" id="subtitle"]]
[[!template text="""like when a speaker lets me know""" start="00:10:40.100" video="mainVideo-emacsconf" id="subtitle"]]
[[!template text="""that their video will be late.""" start="00:10:41.640" video="mainVideo-emacsconf" id="subtitle"]]
[[!template text="""Making it easy to add a note turns Emacs into""" start="00:10:43.280" video="mainVideo-emacsconf" id="subtitle"]]
@@ -299,9 +272,7 @@
[[!template text="""look up the author of the current email,""" start="00:10:57.920" video="mainVideo-emacsconf" id="subtitle"]]
[[!template text="""prompt the user for the talk to add the note to, and add the note.""" start="00:10:59.960" video="mainVideo-emacsconf" id="subtitle"]]
-[[!template new="1" text="""Captions""" start="00:11:03.680" video="mainVideo-emacsconf" id="subtitle"]]
-
-[[!template text="""On to captions.""" start="00:11:03.680" video="mainVideo-emacsconf" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Captions""" start="00:11:03.680" video="mainVideo-emacsconf" id="subtitle"]]</div>[[!template text="""On to captions.""" start="00:11:03.680" video="mainVideo-emacsconf" id="subtitle"]]
[[!template text="""We've been doing captions for the last couple of years,""" start="00:11:04.680" video="mainVideo-emacsconf" id="subtitle"]]
[[!template text="""and now we have a small army of volunteer captioners.""" start="00:11:07.240" video="mainVideo-emacsconf" id="subtitle"]]
[[!template text="""They get early access to the recorded talks""" start="00:11:10.420" video="mainVideo-emacsconf" id="subtitle"]]
@@ -326,9 +297,7 @@
[[!template text="""at emacsconf.org/captioning.""" start="00:12:06.680" video="mainVideo-emacsconf" id="subtitle"]]
[[!template text="""I like using subed to edit subtitles within Emacs.""" start="00:12:09.040" video="mainVideo-emacsconf" id="subtitle"]]
-[[!template new="1" text="""Crontabs and playing the talks""" start="00:12:13.220" video="mainVideo-emacsconf" id="subtitle"]]
-
-[[!template text="""Let's talk about actually playing the talks.""" start="00:12:13.220" video="mainVideo-emacsconf" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Crontabs and playing the talks""" start="00:12:13.220" video="mainVideo-emacsconf" id="subtitle"]]</div>[[!template text="""Let's talk about actually playing the talks.""" start="00:12:13.220" video="mainVideo-emacsconf" id="subtitle"]]
[[!template text="""For EmacsConf 2022, we tried using Emacs timers""" start="00:12:16.060" video="mainVideo-emacsconf" id="subtitle"]]
[[!template text="""to run the talks.""" start="00:12:19.560" video="mainVideo-emacsconf" id="subtitle"]]
[[!template text="""It turns out that you can't call TRAMP from a timer""" start="00:12:20.940" video="mainVideo-emacsconf" id="subtitle"]]
@@ -353,9 +322,7 @@
[[!template text="""The shell scripts we run from the crontab""" start="00:13:06.520" video="mainVideo-emacsconf" id="subtitle"]]
[[!template text="""can also update the talk status themselves.""" start="00:13:08.720" video="mainVideo-emacsconf" id="subtitle"]]
-[[!template new="1" text="""Transitions""" start="00:13:11.280" video="mainVideo-emacsconf" id="subtitle"]]
-
-[[!template text="""Then a bunch of things automatically happen based on""" start="00:13:11.280" video="mainVideo-emacsconf" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Transitions""" start="00:13:11.280" video="mainVideo-emacsconf" id="subtitle"]]</div>[[!template text="""Then a bunch of things automatically happen based on""" start="00:13:11.280" video="mainVideo-emacsconf" id="subtitle"]]
[[!template text="""the talk status changes.""" start="00:13:14.320" video="mainVideo-emacsconf" id="subtitle"]]
[[!template text="""This uses `org-after-todo-state-change-hook`.""" start="00:13:15.600" video="mainVideo-emacsconf" id="subtitle"]]
[[!template text="""We get the talk information""" start="00:13:18.960" video="mainVideo-emacsconf" id="subtitle"]]
@@ -372,9 +339,7 @@
[[!template text="""because (of course!) Emacs has an IRC client.""" start="00:13:45.800" video="mainVideo-emacsconf" id="subtitle"]]
[[!template text="""In fact, it has several.""" start="00:13:48.520" video="mainVideo-emacsconf" id="subtitle"]]
-[[!template new="1" text="""Wrapping up""" start="00:13:49.880" video="mainVideo-emacsconf" id="subtitle"]]
-
-[[!template text="""It seems like a lot of automation and Emacs Lisp,""" start="00:13:49.880" video="mainVideo-emacsconf" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Wrapping up""" start="00:13:49.880" video="mainVideo-emacsconf" id="subtitle"]]</div>[[!template text="""It seems like a lot of automation and Emacs Lisp,""" start="00:13:49.880" video="mainVideo-emacsconf" id="subtitle"]]
[[!template text="""but really, all of this was just built up little by little.""" start="00:13:53.140" video="mainVideo-emacsconf" id="subtitle"]]
[[!template text="""And tinkering with this is *fun*, you know?""" start="00:13:56.900" video="mainVideo-emacsconf" id="subtitle"]]
[[!template text="""It's like always being able to ask,""" start="00:13:59.280" video="mainVideo-emacsconf" id="subtitle"]]
@@ -403,12 +368,11 @@
[[!template text="""from this talk's webpage at emacsconf.org/2023/talks/emacsconf .""" start="00:14:51.000" video="mainVideo-emacsconf" id="subtitle"]]
[[!template text="""Let's figure out how to make Emacsconf even awesomer next year!""" start="00:14:59.120" video="mainVideo-emacsconf" id="subtitle"]]
-
+</div>
Captioner: sachac
-<a name="emacsconf-qanda-transcript"></a>
-# Q&A transcript (unedited)
+<div class="transcript transcript-qanda"><a name="emacsconf-qanda-transcript"></a><h1>Q&A transcript (unedited)</h1>
[[!template text="""[Speaker 0]: All right. I have unmuted.""" start="00:00:53.489" video="qanda-emacsconf" id="subtitle"]]
[[!template text="""It's been a while since I've actually done an""" start="00:00:59.860" video="qanda-emacsconf" id="subtitle"]]
@@ -3164,7 +3128,7 @@ Captioner: sachac
[[!template text="""[Speaker 7]: Take care Corwin""" start="01:59:51.900" video="qanda-emacsconf" id="subtitle"]]
[[!template text="""[Speaker 4]: Bye Stefan. Bye. Bye all""" start="01:59:56.520" video="qanda-emacsconf" id="subtitle"]]
-Questions or comments? Please e-mail [sacha@sachachua.com](mailto:sacha@sachachua.com?subject=Comment%20for%20EmacsConf%202023%20emacsconf%3A%20EmacsConf.org%3A%20How%20we%20use%20Org%20Mode%20and%20TRAMP%20to%20organize%20and%20run%20a%20multi-track%20conference)
+</div>Questions or comments? Please e-mail [sacha@sachachua.com](mailto:sacha@sachachua.com?subject=Comment%20for%20EmacsConf%202023%20emacsconf%3A%20EmacsConf.org%3A%20How%20we%20use%20Org%20Mode%20and%20TRAMP%20to%20organize%20and%20run%20a%20multi-track%20conference)
<!-- End of emacsconf-publish-after-page -->
diff --git a/2023/info/emacsconf-before.md b/2023/info/emacsconf-before.md
index 817bc045..c10d5bd4 100644
--- a/2023/info/emacsconf-before.md
+++ b/2023/info/emacsconf-before.md
@@ -1,6 +1,6 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
[[!toc ]]
-Format: 16-min talk; Q&A: BigBlueButton conference room
+Format: 16-min talk ; Q&A: BigBlueButton conference room
Status: Q&A to be extracted from the room recordings
@@ -9,7 +9,7 @@ Status: Q&A to be extracted from the room recordings
# Talk
-<div class="vid"><video controls preload="none" id="emacsconf-mainVideo"><source src="https://media.emacsconf.org/2023/emacsconf-2023-emacsconf--emacsconforg-how-we-use-org-mode-and-tramp-to-organize-and-run-a-multitrack-conference--sacha-chua--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-emacsconf--emacsconforg-how-we-use-org-mode-and-tramp-to-organize-and-run-a-multitrack-conference--sacha-chua--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2023/captions/emacsconf-2023-emacsconf--emacsconforg-how-we-use-org-mode-and-tramp-to-organize-and-run-a-multitrack-conference--sacha-chua--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="emacsconf-mainVideo" data="""
+<div class="vid mainVideo"><video controls preload="none" id="mainVideo-emacsconf"><source src="https://media.emacsconf.org/2023/emacsconf-2023-emacsconf--emacsconforg-how-we-use-org-mode-and-tramp-to-organize-and-run-a-multitrack-conference--sacha-chua--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-emacsconf--emacsconforg-how-we-use-org-mode-and-tramp-to-organize-and-run-a-multitrack-conference--sacha-chua--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2023/captions/emacsconf-2023-emacsconf--emacsconforg-how-we-use-org-mode-and-tramp-to-organize-and-run-a-multitrack-conference--sacha-chua--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-emacsconf" data="""
00:00.000 Intro
00:16.580 Reasons
01:09.400 Information
@@ -28,10 +28,10 @@ Status: Q&A to be extracted from the room recordings
13:11.280 Transitions
13:49.880 Wrapping up
-"""]]<div></div>Duration: 15:05 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-emacsconf--emacsconforg-how-we-use-org-mode-and-tramp-to-organize-and-run-a-multitrack-conference--sacha-chua--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-emacsconf--emacsconforg-how-we-use-org-mode-and-tramp-to-organize-and-run-a-multitrack-conference--sacha-chua--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-emacsconf--emacsconforg-how-we-use-org-mode-and-tramp-to-organize-and-run-a-multitrack-conference--sacha-chua--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-emacsconf--emacsconforg-how-we-use-org-mode-and-tramp-to-organize-and-run-a-multitrack-conference--sacha-chua--main.opus">Download --main.opus (8.3MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-emacsconf--emacsconforg-how-we-use-org-mode-and-tramp-to-organize-and-run-a-multitrack-conference--sacha-chua--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-emacsconf--emacsconforg-how-we-use-org-mode-and-tramp-to-organize-and-run-a-multitrack-conference--sacha-chua--main.webm">Download --main.webm (37MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-emacsconf--emacsconforg-how-we-use-org-mode-and-tramp-to-organize-and-run-a-multitrack-conference--sacha-chua--pad.html">Download --pad.html</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-emacsconf--emacsconforg-how-we-use-org-mode-and-tramp-to-organize-and-run-a-multitrack-conference--sacha-chua--pad.md">Download --pad.md</a></li><li><a href="https://toobnix.org/w/eX2dXG3xMtUHuuBz4fssGT">View on Toobnix</a></li></ul></div></div>
+"""]]<div></div>Duration: 15:05 minutes<div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2023-emacsconf">Open Etherpad</a></li><li><a href="https://bbb.emacsverse.org/playback/presentation/2.0/playback.html?meetingId=5f07e2b967f71ad503ac367ea43866abeaad63b6-1701636099684">Play recording from BigBlueButton</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-emacsconf--emacsconforg-how-we-use-org-mode-and-tramp-to-organize-and-run-a-multitrack-conference--sacha-chua--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-emacsconf--emacsconforg-how-we-use-org-mode-and-tramp-to-organize-and-run-a-multitrack-conference--sacha-chua--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-emacsconf--emacsconforg-how-we-use-org-mode-and-tramp-to-organize-and-run-a-multitrack-conference--sacha-chua--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-emacsconf--emacsconforg-how-we-use-org-mode-and-tramp-to-organize-and-run-a-multitrack-conference--sacha-chua--main.opus">Download --main.opus (8.3MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-emacsconf--emacsconforg-how-we-use-org-mode-and-tramp-to-organize-and-run-a-multitrack-conference--sacha-chua--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-emacsconf--emacsconforg-how-we-use-org-mode-and-tramp-to-organize-and-run-a-multitrack-conference--sacha-chua--main.webm">Download --main.webm (37MB)</a></li><li><a href="https://toobnix.org/w/eX2dXG3xMtUHuuBz4fssGT">View on Toobnix</a></li><li><a href="https://www.youtube.com/watch?v=uTregv3rNl0">View on Youtube</a></li></ul></div></div>
# Q&A
-<div class="vid"><video controls preload="none" id="emacsconf-qanda"><source src="https://media.emacsconf.org/2023/emacsconf-2023-emacsconf--emacsconforg-how-we-use-org-mode-and-tramp-to-organize-and-run-a-multitrack-conference--sacha-chua--answers.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-emacsconf--emacsconforg-how-we-use-org-mode-and-tramp-to-organize-and-run-a-multitrack-conference--sacha-chua--answers.vtt" default />"""<p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video><div>Listen to just the audio:<br /><audio controls preload="none" id="emacsconf-qanda-audio" src="https://media.emacsconf.org/2023/emacsconf-2023-emacsconf--emacsconforg-how-we-use-org-mode-and-tramp-to-organize-and-run-a-multitrack-conference--sacha-chua--answers.opus"></audio></div><div></div>Duration: 2:00:43 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-emacsconf--emacsconforg-how-we-use-org-mode-and-tramp-to-organize-and-run-a-multitrack-conference--sacha-chua--answers.json">Download --answers.json (5.8MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-emacsconf--emacsconforg-how-we-use-org-mode-and-tramp-to-organize-and-run-a-multitrack-conference--sacha-chua--answers.opus">Download --answers.opus (71MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-emacsconf--emacsconforg-how-we-use-org-mode-and-tramp-to-organize-and-run-a-multitrack-conference--sacha-chua--answers.vtt">Download --answers.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-emacsconf--emacsconforg-how-we-use-org-mode-and-tramp-to-organize-and-run-a-multitrack-conference--sacha-chua--answers.webm">Download --answers.webm (317MB)</a></li></ul></div></div>
+<div class="vid qanda"><video controls preload="none" id="qanda-emacsconf"><source src="https://media.emacsconf.org/2023/emacsconf-2023-emacsconf--emacsconforg-how-we-use-org-mode-and-tramp-to-organize-and-run-a-multitrack-conference--sacha-chua--answers.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-emacsconf--emacsconforg-how-we-use-org-mode-and-tramp-to-organize-and-run-a-multitrack-conference--sacha-chua--answers.vtt" default />"""<p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video><div>Listen to just the audio:<br /><audio controls preload="none" id="qanda-emacsconf-audio" src="https://media.emacsconf.org/2023/emacsconf-2023-emacsconf--emacsconforg-how-we-use-org-mode-and-tramp-to-organize-and-run-a-multitrack-conference--sacha-chua--answers.opus"></audio></div><div></div>Duration: 2:00:43 minutes<div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2023-emacsconf">Open Etherpad</a></li><li><a href="https://bbb.emacsverse.org/playback/presentation/2.0/playback.html?meetingId=5f07e2b967f71ad503ac367ea43866abeaad63b6-1701636099684">Play recording from BigBlueButton</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-emacsconf--emacsconforg-how-we-use-org-mode-and-tramp-to-organize-and-run-a-multitrack-conference--sacha-chua--answers.json">Download --answers.json (5.8MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-emacsconf--emacsconforg-how-we-use-org-mode-and-tramp-to-organize-and-run-a-multitrack-conference--sacha-chua--answers.opus">Download --answers.opus (71MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-emacsconf--emacsconforg-how-we-use-org-mode-and-tramp-to-organize-and-run-a-multitrack-conference--sacha-chua--answers.vtt">Download --answers.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-emacsconf--emacsconforg-how-we-use-org-mode-and-tramp-to-organize-and-run-a-multitrack-conference--sacha-chua--answers.webm">Download --answers.webm (317MB)</a></li></ul></div></div>
# Description
<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2023/info/emacsconf-nav.md b/2023/info/emacsconf-nav.md
index a633568d..04302650 100644
--- a/2023/info/emacsconf-nav.md
+++ b/2023/info/emacsconf-nav.md
@@ -3,5 +3,5 @@
Back to the [[talks]]
Previous by track: <a href="/2023/talks/test">What I learned by writing test cases for GNU Hyperbole</a>
Next by track: <a href="/2023/talks/sat-open">Saturday opening remarks</a>
-Track: <span class="sched-track Development">Development</span>
+Track: <span class="sched-track Development">Development</span> - <strong><a href="https://emacsconf.org/2023/watch/dev">Watch</a></strong>
</div>
diff --git a/2023/info/emacsen-after.md b/2023/info/emacsen-after.md
index d45b44d7..c103787e 100644
--- a/2023/info/emacsen-after.md
+++ b/2023/info/emacsen-after.md
@@ -1,21 +1,16 @@
<!-- Automatically generated by emacsconf-publish-after-page -->
-<a name="emacsen-mainVideo-transcript"></a>
-# Transcript
+<div class="transcript transcript-mainVideo"><a name="emacsen-mainVideo-transcript"></a><h1>Transcript</h1>
-[[!template new="1" text="""Introduction""" start="00:00:00.000" video="mainVideo-emacsen" id="subtitle"]]
-
-[[!template text="""Hello, my name is Fermin.""" start="00:00:00.000" video="mainVideo-emacsen" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Introduction""" start="00:00:00.000" video="mainVideo-emacsen" id="subtitle"]]</div>[[!template text="""Hello, my name is Fermin.""" start="00:00:00.000" video="mainVideo-emacsen" id="subtitle"]]
[[!template text="""Today, I'm going to talk about the Emacsen family,""" start="00:00:03.200" video="mainVideo-emacsen" id="subtitle"]]
[[!template text="""the design of an Emacs, and the importance of Lisp.""" start="00:00:06.960" video="mainVideo-emacsen" id="subtitle"]]
[[!template text="""So we're going to talk about Lisp.""" start="00:00:11.160" video="mainVideo-emacsen" id="subtitle"]]
[[!template text="""I want to start from the end.""" start="00:00:13.520" video="mainVideo-emacsen" id="subtitle"]]
-[[!template new="1" text="""Why Lisp matters""" start="00:00:17.000" video="mainVideo-emacsen" id="subtitle"]]
-
-[[!template text="""The first question I want to ask is""" start="00:00:17.000" video="mainVideo-emacsen" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Why Lisp matters""" start="00:00:17.000" video="mainVideo-emacsen" id="subtitle"]]</div>[[!template text="""The first question I want to ask is""" start="00:00:17.000" video="mainVideo-emacsen" id="subtitle"]]
[[!template text="""why I think Lisp matters.""" start="00:00:19.040" video="mainVideo-emacsen" id="subtitle"]]
[[!template text="""When I'm talking about Lisp here,""" start="00:00:21.400" video="mainVideo-emacsen" id="subtitle"]]
[[!template text="""I'm talking about the idea of Lisp,""" start="00:00:22.880" video="mainVideo-emacsen" id="subtitle"]]
@@ -37,9 +32,7 @@
[[!template text="""Scheme by Guile, Common Lisp by Common Lisp,""" start="00:01:13.840" video="mainVideo-emacsen" id="subtitle"]]
[[!template text="""and Clojure by Clojure or ClojureScript.""" start="00:01:19.675" video="mainVideo-emacsen" id="subtitle"]]
-[[!template new="1" text="""Why Emacs Lisp was chosen""" start="00:01:26.640" video="mainVideo-emacsen" id="subtitle"]]
-
-[[!template text="""So let's talk about Emacs Lisp.""" start="00:01:26.640" video="mainVideo-emacsen" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Why Emacs Lisp was chosen""" start="00:01:26.640" video="mainVideo-emacsen" id="subtitle"]]</div>[[!template text="""So let's talk about Emacs Lisp.""" start="00:01:26.640" video="mainVideo-emacsen" id="subtitle"]]
[[!template text="""I didn't mention Emacs Lisp.""" start="00:01:28.080" video="mainVideo-emacsen" id="subtitle"]]
[[!template text="""I'm going to talk about why Emacs Lisp""" start="00:01:29.680" video="mainVideo-emacsen" id="subtitle"]]
[[!template text="""was chosen for an Emacs editor.""" start="00:01:32.520" video="mainVideo-emacsen" id="subtitle"]]
@@ -65,9 +58,7 @@
[[!template text="""It's not that bad. At that time, it was mostly nice.""" start="00:02:44.200" video="mainVideo-emacsen" id="subtitle"]]
[[!template text="""Today, it's good enough, I think.""" start="00:02:50.240" video="mainVideo-emacsen" id="subtitle"]]
-[[!template new="1" text="""Other "Emacsen"""" start="00:02:54.841" video="mainVideo-emacsen" id="subtitle"]]
-
-[[!template text="""He wasn't the first one, the GNU Emacs,""" start="00:02:54.841" video="mainVideo-emacsen" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Other "Emacsen"""" start="00:02:54.841" video="mainVideo-emacsen" id="subtitle"]]</div>[[!template text="""He wasn't the first one, the GNU Emacs,""" start="00:02:54.841" video="mainVideo-emacsen" id="subtitle"]]
[[!template text="""nor the only one, of course.""" start="00:02:59.461" video="mainVideo-emacsen" id="subtitle"]]
[[!template text="""There were others: Hemlock, Zmacs, and Climacs...""" start="00:03:02.541" video="mainVideo-emacsen" id="subtitle"]]
[[!template text="""Two of them, I think, were written in Common Lisp,""" start="00:03:06.440" video="mainVideo-emacsen" id="subtitle"]]
@@ -83,9 +74,7 @@
[[!template text="""Zmacs was because of the Lisp machine market crash,""" start="00:03:33.640" video="mainVideo-emacsen" id="subtitle"]]
[[!template text="""and yeah, it also failed.""" start="00:03:37.880" video="mainVideo-emacsen" id="subtitle"]]
-[[!template new="1" text="""Why not Common Lisp?""" start="00:03:38.581" video="mainVideo-emacsen" id="subtitle"]]
-
-[[!template text="""So Emacs got alone. And in the 90s, interesting to explore,""" start="00:03:38.581" video="mainVideo-emacsen" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Why not Common Lisp?""" start="00:03:38.581" video="mainVideo-emacsen" id="subtitle"]]</div>[[!template text="""So Emacs got alone. And in the 90s, interesting to explore,""" start="00:03:38.581" video="mainVideo-emacsen" id="subtitle"]]
[[!template text="""some people suggest that why""" start="00:03:44.040" video="mainVideo-emacsen" id="subtitle"]]
[[!template text="""now that we have a standard Lisp, right,""" start="00:03:46.480" video="mainVideo-emacsen" id="subtitle"]]
[[!template text="""because Common Lisp was standardized in '94,""" start="00:03:49.680" video="mainVideo-emacsen" id="subtitle"]]
@@ -137,9 +126,7 @@
[[!template text="""It makes sense that it's very good""" start="00:06:29.400" video="mainVideo-emacsen" id="subtitle"]]
[[!template text="""for a system administration perspective.""" start="00:06:31.080" video="mainVideo-emacsen" id="subtitle"]]
-[[!template new="1" text="""Common Lisp is still not dead or is always dead""" start="00:06:39.120" video="mainVideo-emacsen" id="subtitle"]]
-
-[[!template text="""But I think Common Lisp is not dead yet.""" start="00:06:39.120" video="mainVideo-emacsen" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Common Lisp is still not dead or is always dead""" start="00:06:39.120" video="mainVideo-emacsen" id="subtitle"]]</div>[[!template text="""But I think Common Lisp is not dead yet.""" start="00:06:39.120" video="mainVideo-emacsen" id="subtitle"]]
[[!template text="""Or some people say that it's always dead,""" start="00:06:43.320" video="mainVideo-emacsen" id="subtitle"]]
[[!template text="""so you cannot kill the something that is always dead.""" start="00:06:45.720" video="mainVideo-emacsen" id="subtitle"]]
[[!template text="""So I don't always code in C,""" start="00:06:48.400" video="mainVideo-emacsen" id="subtitle"]]
@@ -178,18 +165,14 @@
[[!template text="""which in today's standard is nothing.""" start="00:08:23.800" video="mainVideo-emacsen" id="subtitle"]]
[[!template text="""There's pictures in your phone larger than 20 MB.""" start="00:08:26.600" video="mainVideo-emacsen" id="subtitle"]]
-[[!template new="1" text="""Lem is a nice Emacsen implementation""" start="00:08:30.080" video="mainVideo-emacsen" id="subtitle"]]
-
-[[!template text="""So there's a new Emacs in town--well, Emacs, not Emacs,""" start="00:08:30.080" video="mainVideo-emacsen" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Lem is a nice Emacsen implementation""" start="00:08:30.080" video="mainVideo-emacsen" id="subtitle"]]</div>[[!template text="""So there's a new Emacs in town--well, Emacs, not Emacs,""" start="00:08:30.080" video="mainVideo-emacsen" id="subtitle"]]
[[!template text="""Which is Lem. I think it's a very good Emacs implementation.""" start="00:08:39.240" video="mainVideo-emacsen" id="subtitle"]]
[[!template text="""What I mean by &quot;Emacs&quot; here is not a clone of GNU Emacs,""" start="00:08:43.440" video="mainVideo-emacsen" id="subtitle"]]
[[!template text="""but an Emacs-inspired editor with similar characteristics,""" start="00:08:46.680" video="mainVideo-emacsen" id="subtitle"]]
[[!template text="""and written in a Lisp,""" start="00:08:51.560" video="mainVideo-emacsen" id="subtitle"]]
[[!template text="""which is why I said that Lisp was very important.""" start="00:08:53.520" video="mainVideo-emacsen" id="subtitle"]]
-[[!template new="1" text="""Why not just use GNU Emacs?""" start="00:08:58.260" video="mainVideo-emacsen" id="subtitle"]]
-
-[[!template text="""So first, I'm going to address the elephant in the room,""" start="00:08:58.260" video="mainVideo-emacsen" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Why not just use GNU Emacs?""" start="00:08:58.260" video="mainVideo-emacsen" id="subtitle"]]</div>[[!template text="""So first, I'm going to address the elephant in the room,""" start="00:08:58.260" video="mainVideo-emacsen" id="subtitle"]]
[[!template text="""and the question that maybe most""" start="00:09:01.560" video="mainVideo-emacsen" id="subtitle"]]
[[!template text="""of you are now thinking.""" start="00:09:05.040" video="mainVideo-emacsen" id="subtitle"]]
[[!template text="""Why not just use GNU Emacs? It's the project.""" start="00:09:06.160" video="mainVideo-emacsen" id="subtitle"]]
@@ -218,9 +201,7 @@
[[!template text="""Getting this out of the way.""" start="00:10:27.760" video="mainVideo-emacsen" id="subtitle"]]
[[!template text="""Why I think Lem is interesting.""" start="00:10:29.200" video="mainVideo-emacsen" id="subtitle"]]
-[[!template new="1" text="""Why Lem""" start="00:10:31.080" video="mainVideo-emacsen" id="subtitle"]]
-
-[[!template text="""I'm going to show why Lem.""" start="00:10:31.080" video="mainVideo-emacsen" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Why Lem""" start="00:10:31.080" video="mainVideo-emacsen" id="subtitle"]]</div>[[!template text="""I'm going to show why Lem.""" start="00:10:31.080" video="mainVideo-emacsen" id="subtitle"]]
[[!template text="""Why? You can try Lem, and maybe you like it.""" start="00:10:32.360" video="mainVideo-emacsen" id="subtitle"]]
[[!template text="""First thing, these are the features""" start="00:10:37.760" video="mainVideo-emacsen" id="subtitle"]]
[[!template text="""that I really like from it.""" start="00:10:41.320" video="mainVideo-emacsen" id="subtitle"]]
@@ -292,9 +273,7 @@
[[!template text="""So yeah, that's the thing that I think Lem brings to""" start="00:13:59.160" video="mainVideo-emacsen" id="subtitle"]]
[[!template text="""the table and that's really interesting.""" start="00:14:01.960" video="mainVideo-emacsen" id="subtitle"]]
-[[!template new="1" text="""Similarities and differences""" start="00:14:03.080" video="mainVideo-emacsen" id="subtitle"]]
-
-[[!template text="""So I'm going to do a small demo of Lem, a Emacs example.""" start="00:14:03.080" video="mainVideo-emacsen" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Similarities and differences""" start="00:14:03.080" video="mainVideo-emacsen" id="subtitle"]]</div>[[!template text="""So I'm going to do a small demo of Lem, a Emacs example.""" start="00:14:03.080" video="mainVideo-emacsen" id="subtitle"]]
[[!template text="""First, the similarities,""" start="00:14:10.520" video="mainVideo-emacsen" id="subtitle"]]
[[!template text="""the nomenclature is very similar: modes, buffers,""" start="00:14:11.680" video="mainVideo-emacsen" id="subtitle"]]
[[!template text="""commands... The commands are very similar in nature.""" start="00:14:14.120" video="mainVideo-emacsen" id="subtitle"]]
@@ -332,9 +311,7 @@
[[!template text="""one of the best-documented software ever.""" start="00:15:39.720" video="mainVideo-emacsen" id="subtitle"]]
[[!template text="""We're trying to go there, but we're still not there.""" start="00:15:41.760" video="mainVideo-emacsen" id="subtitle"]]
-[[!template new="1" text="""Demo""" start="00:15:49.600" video="mainVideo-emacsen" id="subtitle"]]
-
-[[!template text="""Let's do the demo. So to open Lem, you compile it,""" start="00:15:49.600" video="mainVideo-emacsen" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Demo""" start="00:15:49.600" video="mainVideo-emacsen" id="subtitle"]]</div>[[!template text="""Let's do the demo. So to open Lem, you compile it,""" start="00:15:49.600" video="mainVideo-emacsen" id="subtitle"]]
[[!template text="""and then you have it available,""" start="00:15:54.080" video="mainVideo-emacsen" id="subtitle"]]
[[!template text="""and you open Lem. As you can see,""" start="00:15:55.760" video="mainVideo-emacsen" id="subtitle"]]
[[!template text="""we have the temporary buffer. On the top left is the mode--""" start="00:15:57.720" video="mainVideo-emacsen" id="subtitle"]]
@@ -390,12 +367,11 @@
[[!template text="""So thank you all very much.""" start="00:18:21.200" video="mainVideo-emacsen" id="subtitle"]]
[[!template text="""I'll be answering the question now. And happy hacking.""" start="00:18:23.120" video="mainVideo-emacsen" id="subtitle"]]
-
+</div>
Captioner: sachac
-<a name="emacsen-qanda-transcript"></a>
-# Q&A transcript (unedited)
+<div class="transcript transcript-qanda"><a name="emacsen-qanda-transcript"></a><h1>Q&A transcript (unedited)</h1>
[[!template text="""[Speaker 0]: Here.""" start="00:00:00.040" video="qanda-emacsen" id="subtitle"]]
[[!template text="""[Speaker 1]: All right. Yeah. So thanks,""" start="00:00:05.140" video="qanda-emacsen" id="subtitle"]]
@@ -1665,7 +1641,7 @@ Captioner: sachac
[[!template text="""I'm going to go do that.""" start="01:08:09.360" video="qanda-emacsen" id="subtitle"]]
[[!template text="""[Speaker 0]: See you.""" start="01:08:10.640" video="qanda-emacsen" id="subtitle"]]
-Questions or comments? Please e-mail [emacsconf-org-private@gnu.org](mailto:emacsconf-org-private@gnu.org?subject=Comment%20for%20EmacsConf%202023%20emacsen%3A%20The%20Emacsen%20family%2C%20the%20design%20of%20an%20Emacs%20and%20the%20importance%20of%20Lisp)
+</div>Questions or comments? Please e-mail [emacsconf-org-private@gnu.org](mailto:emacsconf-org-private@gnu.org?subject=Comment%20for%20EmacsConf%202023%20emacsen%3A%20The%20Emacsen%20family%2C%20the%20design%20of%20an%20Emacs%20and%20the%20importance%20of%20Lisp)
<!-- End of emacsconf-publish-after-page -->
diff --git a/2023/info/emacsen-before.md b/2023/info/emacsen-before.md
index 151dac9d..4334b31b 100644
--- a/2023/info/emacsen-before.md
+++ b/2023/info/emacsen-before.md
@@ -1,6 +1,6 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
[[!toc ]]
-Format: 19-min talk; Q&A: BigBlueButton conference room
+Format: 19-min talk ; Q&A: BigBlueButton conference room
Status: TO_INDEX_QA
@@ -9,7 +9,7 @@ Status: TO_INDEX_QA
# Talk
-<div class="vid"><video controls preload="none" id="emacsen-mainVideo"><source src="https://media.emacsconf.org/2023/emacsconf-2023-emacsen--the-emacsen-family-the-design-of-an-emacs-and-the-importance-of-lisp--fermin--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-emacsen--the-emacsen-family-the-design-of-an-emacs-and-the-importance-of-lisp--fermin--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2023/captions/emacsconf-2023-emacsen--the-emacsen-family-the-design-of-an-emacs-and-the-importance-of-lisp--fermin--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="emacsen-mainVideo" data="""
+<div class="vid mainVideo"><video controls preload="none" id="mainVideo-emacsen"><source src="https://media.emacsconf.org/2023/emacsconf-2023-emacsen--the-emacsen-family-the-design-of-an-emacs-and-the-importance-of-lisp--fermin--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-emacsen--the-emacsen-family-the-design-of-an-emacs-and-the-importance-of-lisp--fermin--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2023/captions/emacsconf-2023-emacsen--the-emacsen-family-the-design-of-an-emacs-and-the-importance-of-lisp--fermin--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-emacsen" data="""
00:00.000 Introduction
00:17.000 Why Lisp matters
01:26.640 Why Emacs Lisp was chosen
@@ -22,10 +22,10 @@ Status: TO_INDEX_QA
14:03.080 Similarities and differences
15:49.600 Demo
-"""]]<div></div>Duration: 18:28 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-emacsen--the-emacsen-family-the-design-of-an-emacs-and-the-importance-of-lisp--fermin--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-emacsen--the-emacsen-family-the-design-of-an-emacs-and-the-importance-of-lisp--fermin--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-emacsen--the-emacsen-family-the-design-of-an-emacs-and-the-importance-of-lisp--fermin--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-emacsen--the-emacsen-family-the-design-of-an-emacs-and-the-importance-of-lisp--fermin--main.opus">Download --main.opus (11MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-emacsen--the-emacsen-family-the-design-of-an-emacs-and-the-importance-of-lisp--fermin--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-emacsen--the-emacsen-family-the-design-of-an-emacs-and-the-importance-of-lisp--fermin--main.webm">Download --main.webm (32MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-emacsen--the-emacsen-family-the-design-of-an-emacs-and-the-importance-of-lisp--fermin--pad.html">Download --pad.html</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-emacsen--the-emacsen-family-the-design-of-an-emacs-and-the-importance-of-lisp--fermin--pad.md">Download --pad.md</a></li><li><a href="https://toobnix.org/w/qgJ84RLV2FZYyeSusDskwU">View on Toobnix</a></li></ul></div></div>
+"""]]<div></div>Duration: 18:28 minutes<div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2023-emacsen">Open Etherpad</a></li><li><a href="https://bbb.emacsverse.org/playback/presentation/2.0/playback.html?meetingId=93478b7dbe4fb34ded741ea7c8dfefa78a3ce8fd-1701620297196">Play recording from BigBlueButton</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-emacsen--the-emacsen-family-the-design-of-an-emacs-and-the-importance-of-lisp--fermin--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-emacsen--the-emacsen-family-the-design-of-an-emacs-and-the-importance-of-lisp--fermin--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-emacsen--the-emacsen-family-the-design-of-an-emacs-and-the-importance-of-lisp--fermin--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-emacsen--the-emacsen-family-the-design-of-an-emacs-and-the-importance-of-lisp--fermin--main.opus">Download --main.opus (11MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-emacsen--the-emacsen-family-the-design-of-an-emacs-and-the-importance-of-lisp--fermin--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-emacsen--the-emacsen-family-the-design-of-an-emacs-and-the-importance-of-lisp--fermin--main.webm">Download --main.webm (32MB)</a></li><li><a href="https://toobnix.org/w/qgJ84RLV2FZYyeSusDskwU">View on Toobnix</a></li><li><a href="https://www.youtube.com/watch?v=7SGcLpjC5CE">View on Youtube</a></li></ul></div></div>
# Q&A
-<div class="vid"><video controls preload="none" id="emacsen-qanda"><source src="https://media.emacsconf.org/2023/emacsconf-2023-emacsen--the-emacsen-family-the-design-of-an-emacs-and-the-importance-of-lisp--fermin--answers.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-emacsen--the-emacsen-family-the-design-of-an-emacs-and-the-importance-of-lisp--fermin--answers.vtt" default />"""<p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video><div>Listen to just the audio:<br /><audio controls preload="none" id="emacsen-qanda-audio" src="https://media.emacsconf.org/2023/emacsconf-2023-emacsen--the-emacsen-family-the-design-of-an-emacs-and-the-importance-of-lisp--fermin--answers.opus"></audio></div><div></div>Duration: 1:08:14 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-emacsen--the-emacsen-family-the-design-of-an-emacs-and-the-importance-of-lisp--fermin--answers.opus">Download --answers.opus (39MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-emacsen--the-emacsen-family-the-design-of-an-emacs-and-the-importance-of-lisp--fermin--answers.vtt">Download --answers.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-emacsen--the-emacsen-family-the-design-of-an-emacs-and-the-importance-of-lisp--fermin--answers.webm">Download --answers.webm (253MB)</a></li></ul></div></div>
+<div class="vid qanda"><video controls preload="none" id="qanda-emacsen"><source src="https://media.emacsconf.org/2023/emacsconf-2023-emacsen--the-emacsen-family-the-design-of-an-emacs-and-the-importance-of-lisp--fermin--answers.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-emacsen--the-emacsen-family-the-design-of-an-emacs-and-the-importance-of-lisp--fermin--answers.vtt" default />"""<p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video><div>Listen to just the audio:<br /><audio controls preload="none" id="qanda-emacsen-audio" src="https://media.emacsconf.org/2023/emacsconf-2023-emacsen--the-emacsen-family-the-design-of-an-emacs-and-the-importance-of-lisp--fermin--answers.opus"></audio></div><div></div>Duration: 1:08:14 minutes<div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2023-emacsen">Open Etherpad</a></li><li><a href="https://bbb.emacsverse.org/playback/presentation/2.0/playback.html?meetingId=93478b7dbe4fb34ded741ea7c8dfefa78a3ce8fd-1701620297196">Play recording from BigBlueButton</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-emacsen--the-emacsen-family-the-design-of-an-emacs-and-the-importance-of-lisp--fermin--answers.opus">Download --answers.opus (39MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-emacsen--the-emacsen-family-the-design-of-an-emacs-and-the-importance-of-lisp--fermin--answers.vtt">Download --answers.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-emacsen--the-emacsen-family-the-design-of-an-emacs-and-the-importance-of-lisp--fermin--answers.webm">Download --answers.webm (253MB)</a></li></ul></div></div>
# Description
<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2023/info/emacsen-nav.md b/2023/info/emacsen-nav.md
index 976d9935..c89089bd 100644
--- a/2023/info/emacsen-nav.md
+++ b/2023/info/emacsen-nav.md
@@ -3,5 +3,5 @@
Back to the [[talks]]
Previous by track: <a href="/2023/talks/flat">A modern Emacs look-and-feel without pain</a>
Next by track: <a href="/2023/talks/gc">emacs-gc-stats: Does garbage collection actually slow down Emacs?</a>
-Track: <span class="sched-track Development">Development</span>
+Track: <span class="sched-track Development">Development</span> - <strong><a href="https://emacsconf.org/2023/watch/dev">Watch</a></strong>
</div>
diff --git a/2023/info/emms-after.md b/2023/info/emms-after.md
index a9b97368..532fc6a2 100644
--- a/2023/info/emms-after.md
+++ b/2023/info/emms-after.md
@@ -1,13 +1,10 @@
<!-- Automatically generated by emacsconf-publish-after-page -->
-<a name="emms-mainVideo-transcript"></a>
-# Transcript
+<div class="transcript transcript-mainVideo"><a name="emms-mainVideo-transcript"></a><h1>Transcript</h1>
-[[!template new="1" text="""Introduction""" start="00:00:00.000" video="mainVideo-emms" id="subtitle"]]
-
-[[!template text="""The Sound of Emacs, Emms, The Emacs Multimedia System.""" start="00:00:00.000" video="mainVideo-emms" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Introduction""" start="00:00:00.000" video="mainVideo-emms" id="subtitle"]]</div>[[!template text="""The Sound of Emacs, Emms, The Emacs Multimedia System.""" start="00:00:00.000" video="mainVideo-emms" id="subtitle"]]
[[!template text="""Hi, I'm Yoni Rabkin and I'll be talking about Emms;""" start="00:00:05.400" video="mainVideo-emms" id="subtitle"]]
[[!template text="""the Emacs Multimedia System.""" start="00:00:09.160" video="mainVideo-emms" id="subtitle"]]
[[!template text="""What is Emms?""" start="00:00:11.520" video="mainVideo-emms" id="subtitle"]]
@@ -27,17 +24,13 @@
[[!template text="""and gets ever more features.""" start="00:00:56.560" video="mainVideo-emms" id="subtitle"]]
[[!template text="""Perhaps Emms will one day even have a text editor.""" start="00:00:58.480" video="mainVideo-emms" id="subtitle"]]
-[[!template new="1" text="""The structure of this talk""" start="00:01:03.320" video="mainVideo-emms" id="subtitle"]]
-
-[[!template text="""The structure of this talk:""" start="00:01:03.320" video="mainVideo-emms" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""The structure of this talk""" start="00:01:03.320" video="mainVideo-emms" id="subtitle"]]</div>[[!template text="""The structure of this talk:""" start="00:01:03.320" video="mainVideo-emms" id="subtitle"]]
[[!template text="""We'll start with an introduction to Emms.""" start="00:01:05.600" video="mainVideo-emms" id="subtitle"]]
[[!template text="""This is the practical part.""" start="00:01:08.160" video="mainVideo-emms" id="subtitle"]]
[[!template text="""Then, a bit about how Emms works. That's the technical part.""" start="00:01:10.560" video="mainVideo-emms" id="subtitle"]]
[[!template text="""Finally, how we work. All about Emms development.""" start="00:01:15.880" video="mainVideo-emms" id="subtitle"]]
-[[!template new="1" text="""Introduction to Emms: The practical part""" start="00:01:21.320" video="mainVideo-emms" id="subtitle"]]
-
-[[!template text="""Introduction to Emms: The practical part:""" start="00:01:21.320" video="mainVideo-emms" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Introduction to Emms: The practical part""" start="00:01:21.320" video="mainVideo-emms" id="subtitle"]]</div>[[!template text="""Introduction to Emms: The practical part:""" start="00:01:21.320" video="mainVideo-emms" id="subtitle"]]
[[!template text="""I want this talk to be of immediate use to people,""" start="00:01:25.021" video="mainVideo-emms" id="subtitle"]]
[[!template text="""so I'm going to present a quick TL;DR of the Emms manual""" start="00:01:28.680" video="mainVideo-emms" id="subtitle"]]
[[!template text="""concerning installation and use.""" start="00:01:33.520" video="mainVideo-emms" id="subtitle"]]
@@ -137,9 +130,7 @@
[[!template text="""than the ability to play, stop, and seek,""" start="00:07:56.600" video="mainVideo-emms" id="subtitle"]]
[[!template text="""but others may implement a plethora of commands.""" start="00:07:59.560" video="mainVideo-emms" id="subtitle"]]
-[[!template new="1" text="""The modeline""" start="00:08:04.240" video="mainVideo-emms" id="subtitle"]]
-
-[[!template text="""The Modeline: Emms will by default display""" start="00:08:04.240" video="mainVideo-emms" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""The modeline""" start="00:08:04.240" video="mainVideo-emms" id="subtitle"]]</div>[[!template text="""The Modeline: Emms will by default display""" start="00:08:04.240" video="mainVideo-emms" id="subtitle"]]
[[!template text="""the name of the currently playing track in the mode line""" start="00:08:08.880" video="mainVideo-emms" id="subtitle"]]
[[!template text="""with information such as playing time.""" start="00:08:11.840" video="mainVideo-emms" id="subtitle"]]
[[!template text="""The mode line format is controlled""" start="00:08:15.000" video="mainVideo-emms" id="subtitle"]]
@@ -190,9 +181,7 @@
[[!template text="""and that URL will be passed on to the media player backend,""" start="00:10:52.640" video="mainVideo-emms" id="subtitle"]]
[[!template text="""which can play it, if any.""" start="00:10:56.720" video="mainVideo-emms" id="subtitle"]]
-[[!template new="1" text="""Meta-playlist mode""" start="00:11:01.200" video="mainVideo-emms" id="subtitle"]]
-
-[[!template text="""Meta-playlist mode:""" start="00:11:01.200" video="mainVideo-emms" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Meta-playlist mode""" start="00:11:01.200" video="mainVideo-emms" id="subtitle"]]</div>[[!template text="""Meta-playlist mode:""" start="00:11:01.200" video="mainVideo-emms" id="subtitle"]]
[[!template text="""Emms also has meta-playlist mode""" start="00:11:03.680" video="mainVideo-emms" id="subtitle"]]
[[!template text="""to help manage multiple playlists.""" start="00:11:08.300" video="mainVideo-emms" id="subtitle"]]
[[!template text="""When you invoke meta-playlist mode,""" start="00:11:11.960" video="mainVideo-emms" id="subtitle"]]
@@ -200,9 +189,7 @@
[[!template text="""and this mode binds a handful of useful keybindings""" start="00:11:16.960" video="mainVideo-emms" id="subtitle"]]
[[!template text="""to help manage those playlists.""" start="00:11:22.000" video="mainVideo-emms" id="subtitle"]]
-[[!template new="1" text="""The browser""" start="00:11:29.860" video="mainVideo-emms" id="subtitle"]]
-
-[[!template text="""The Browser:""" start="00:11:29.860" video="mainVideo-emms" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""The browser""" start="00:11:29.860" video="mainVideo-emms" id="subtitle"]]</div>[[!template text="""The Browser:""" start="00:11:29.860" video="mainVideo-emms" id="subtitle"]]
[[!template text="""Music doesn't always lend itself to being viewed""" start="00:11:31.760" video="mainVideo-emms" id="subtitle"]]
[[!template text="""as a series of discrete files.""" start="00:11:35.440" video="mainVideo-emms" id="subtitle"]]
[[!template text="""While there may be a good taxonomy of music""" start="00:11:38.200" video="mainVideo-emms" id="subtitle"]]
@@ -238,9 +225,7 @@
[[!template text="""bookmarks, GNU FM, and Dbus/Mpris support.""" start="00:13:07.040" video="mainVideo-emms" id="subtitle"]]
[[!template text="""I hope this was a useful introduction to Emms.""" start="00:13:13.360" video="mainVideo-emms" id="subtitle"]]
-[[!template new="1" text="""How Emms works: The technical part""" start="00:13:19.920" video="mainVideo-emms" id="subtitle"]]
-
-[[!template text="""How Emms Works: The technical part:""" start="00:13:19.920" video="mainVideo-emms" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""How Emms works: The technical part""" start="00:13:19.920" video="mainVideo-emms" id="subtitle"]]</div>[[!template text="""How Emms Works: The technical part:""" start="00:13:19.920" video="mainVideo-emms" id="subtitle"]]
[[!template text="""This part is an overview of how Emms works.""" start="00:13:23.220" video="mainVideo-emms" id="subtitle"]]
[[!template text="""By the end of this, you should be familiar enough""" start="00:13:26.820" video="mainVideo-emms" id="subtitle"]]
[[!template text="""with Emms internals to hack on it. Hint hint.""" start="00:13:29.760" video="mainVideo-emms" id="subtitle"]]
@@ -295,16 +280,12 @@
[[!template text="""if you want to hack on Emacs.""" start="00:16:18.880" video="mainVideo-emms" id="subtitle"]]
[[!template text="""Another hint.""" start="00:16:21.560" video="mainVideo-emms" id="subtitle"]]
-[[!template new="1" text="""The Emms core""" start="00:16:23.820" video="mainVideo-emms" id="subtitle"]]
-
-[[!template text="""The Emms core.""" start="00:16:23.820" video="mainVideo-emms" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""The Emms core""" start="00:16:23.820" video="mainVideo-emms" id="subtitle"]]</div>[[!template text="""The Emms core.""" start="00:16:23.820" video="mainVideo-emms" id="subtitle"]]
[[!template text="""The core defines tracks, playlists,""" start="00:16:25.360" video="mainVideo-emms" id="subtitle"]]
[[!template text="""a way to start and stop playback,""" start="00:16:29.080" video="mainVideo-emms" id="subtitle"]]
[[!template text="""as well as ways to proceed to the next track.""" start="00:16:31.760" video="mainVideo-emms" id="subtitle"]]
-[[!template new="1" text="""Tracks""" start="00:16:36.440" video="mainVideo-emms" id="subtitle"]]
-
-[[!template text="""Tracks:""" start="00:16:36.440" video="mainVideo-emms" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Tracks""" start="00:16:36.440" video="mainVideo-emms" id="subtitle"]]</div>[[!template text="""Tracks:""" start="00:16:36.440" video="mainVideo-emms" id="subtitle"]]
[[!template text="""Emms tracks consist of a list whose CAR is the symbol track,""" start="00:16:38.460" video="mainVideo-emms" id="subtitle"]]
[[!template text="""and CADR is an alist starting with""" start="00:16:44.780" video="mainVideo-emms" id="subtitle"]]
[[!template text="""the association of `type'.""" start="00:16:47.080" video="mainVideo-emms" id="subtitle"]]
@@ -316,9 +297,7 @@
[[!template text="""from the perspective of computational steps required""" start="00:17:11.080" video="mainVideo-emms" id="subtitle"]]
[[!template text="""to find any particular association.""" start="00:17:14.200" video="mainVideo-emms" id="subtitle"]]
-[[!template new="1" text="""Playlist""" start="00:17:18.460" video="mainVideo-emms" id="subtitle"]]
-
-[[!template text="""Playlist:""" start="00:17:18.460" video="mainVideo-emms" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Playlist""" start="00:17:18.460" video="mainVideo-emms" id="subtitle"]]</div>[[!template text="""Playlist:""" start="00:17:18.460" video="mainVideo-emms" id="subtitle"]]
[[!template text="""An Emms playlist consists of an Emacs buffer""" start="00:17:20.620" video="mainVideo-emms" id="subtitle"]]
[[!template text="""with a buffer-local non-nil variable,""" start="00:17:23.480" video="mainVideo-emms" id="subtitle"]]
[[!template text="""`emms-playlist-buffer-p`.""" start="00:17:26.460" video="mainVideo-emms" id="subtitle"]]
@@ -336,9 +315,7 @@
[[!template text="""to look like anything as long as that anything consists of""" start="00:18:11.600" video="mainVideo-emms" id="subtitle"]]
[[!template text="""one or more `emms-track` text properties.""" start="00:18:15.320" video="mainVideo-emms" id="subtitle"]]
-[[!template new="1" text="""Sources""" start="00:18:22.080" video="mainVideo-emms" id="subtitle"]]
-
-[[!template text="""Sources:""" start="00:18:22.080" video="mainVideo-emms" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Sources""" start="00:18:22.080" video="mainVideo-emms" id="subtitle"]]</div>[[!template text="""Sources:""" start="00:18:22.080" video="mainVideo-emms" id="subtitle"]]
[[!template text="""A source is how you tell Emms:""" start="00:18:23.580" video="mainVideo-emms" id="subtitle"]]
[[!template text="""&quot;Go and get those things and turn them into tracks.&quot;""" start="00:18:25.840" video="mainVideo-emms" id="subtitle"]]
[[!template text="""More specifically, an Emms source is a function called in""" start="00:18:29.780" video="mainVideo-emms" id="subtitle"]]
@@ -357,9 +334,7 @@
[[!template text="""playlists of various formats,""" start="00:19:15.040" video="mainVideo-emms" id="subtitle"]]
[[!template text="""files from dired mode, and etc.""" start="00:19:17.320" video="mainVideo-emms" id="subtitle"]]
-[[!template new="1" text="""Players""" start="00:19:22.160" video="mainVideo-emms" id="subtitle"]]
-
-[[!template text="""Players:""" start="00:19:22.160" video="mainVideo-emms" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Players""" start="00:19:22.160" video="mainVideo-emms" id="subtitle"]]</div>[[!template text="""Players:""" start="00:19:22.160" video="mainVideo-emms" id="subtitle"]]
[[!template text="""An Emms player is, at its simplest, a data structure""" start="00:19:24.880" video="mainVideo-emms" id="subtitle"]]
[[!template text="""with three functions.""" start="00:19:28.960" video="mainVideo-emms" id="subtitle"]]
[[!template text="""One to start playing, one to stop,""" start="00:19:30.840" video="mainVideo-emms" id="subtitle"]]
@@ -376,9 +351,7 @@
[[!template text="""on each file in our playlist""" start="00:20:12.960" video="mainVideo-emms" id="subtitle"]]
[[!template text="""with the image file extension we listed.""" start="00:20:15.640" video="mainVideo-emms" id="subtitle"]]
-[[!template new="1" text="""Info""" start="00:20:20.520" video="mainVideo-emms" id="subtitle"]]
-
-[[!template text="""Info:""" start="00:20:20.520" video="mainVideo-emms" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Info""" start="00:20:20.520" video="mainVideo-emms" id="subtitle"]]</div>[[!template text="""Info:""" start="00:20:20.520" video="mainVideo-emms" id="subtitle"]]
[[!template text="""As previously described, Emms comes with info methods,""" start="00:20:23.060" video="mainVideo-emms" id="subtitle"]]
[[!template text="""which are functions to add""" start="00:20:28.020" video="mainVideo-emms" id="subtitle"]]
[[!template text="""descriptive information to tracks.""" start="00:20:29.640" video="mainVideo-emms" id="subtitle"]]
@@ -400,9 +373,7 @@
[[!template text="""the binary data in the media file headers""" start="00:21:29.320" video="mainVideo-emms" id="subtitle"]]
[[!template text="""and parsing the data layout specifications.""" start="00:21:32.040" video="mainVideo-emms" id="subtitle"]]
-[[!template new="1" text="""The cache""" start="00:21:36.660" video="mainVideo-emms" id="subtitle"]]
-
-[[!template text="""The Cache:""" start="00:21:36.660" video="mainVideo-emms" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""The cache""" start="00:21:36.660" video="mainVideo-emms" id="subtitle"]]</div>[[!template text="""The Cache:""" start="00:21:36.660" video="mainVideo-emms" id="subtitle"]]
[[!template text="""The Emms cache is a mapping between a full path name""" start="00:21:38.880" video="mainVideo-emms" id="subtitle"]]
[[!template text="""and its associated information.""" start="00:21:43.280" video="mainVideo-emms" id="subtitle"]]
[[!template text="""Once information is extracted from a file""" start="00:21:45.720" video="mainVideo-emms" id="subtitle"]]
@@ -429,9 +400,7 @@
[[!template text="""for the majority of situations.""" start="00:22:45.000" video="mainVideo-emms" id="subtitle"]]
[[!template text="""Which is to say, nobody complained.""" start="00:22:47.060" video="mainVideo-emms" id="subtitle"]]
-[[!template new="1" text="""Healthy back and forth: mpv, mpd, and GNU.FM""" start="00:22:51.620" video="mainVideo-emms" id="subtitle"]]
-
-[[!template text="""Healthy back and forth. MPV, MPD, GNU.FM""" start="00:22:51.620" video="mainVideo-emms" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Healthy back and forth: mpv, mpd, and GNU.FM""" start="00:22:51.620" video="mainVideo-emms" id="subtitle"]]</div>[[!template text="""Healthy back and forth. MPV, MPD, GNU.FM""" start="00:22:51.620" video="mainVideo-emms" id="subtitle"]]
[[!template text="""Process communication with a simple media player""" start="00:22:56.240" video="mainVideo-emms" id="subtitle"]]
[[!template text="""can be as straightforward""" start="00:23:00.120" video="mainVideo-emms" id="subtitle"]]
[[!template text="""as starting an asynchronous process""" start="00:23:01.760" video="mainVideo-emms" id="subtitle"]]
@@ -444,9 +413,7 @@
[[!template text="""A simple example of this would be sending strings""" start="00:23:20.300" video="mainVideo-emms" id="subtitle"]]
[[!template text="""to a running process such as the pause command to VLC.""" start="00:23:23.960" video="mainVideo-emms" id="subtitle"]]
-[[!template new="1" text="""MPV""" start="00:23:31.560" video="mainVideo-emms" id="subtitle"]]
-
-[[!template text="""MPV:""" start="00:23:31.560" video="mainVideo-emms" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""MPV""" start="00:23:31.560" video="mainVideo-emms" id="subtitle"]]</div>[[!template text="""MPV:""" start="00:23:31.560" video="mainVideo-emms" id="subtitle"]]
[[!template text="""MPV is a popular media player forked""" start="00:23:33.380" video="mainVideo-emms" id="subtitle"]]
[[!template text="""in a roundabout way from mplayer.""" start="00:23:37.040" video="mainVideo-emms" id="subtitle"]]
[[!template text="""One of its most notable features is""" start="00:23:39.900" video="mainVideo-emms" id="subtitle"]]
@@ -467,9 +434,7 @@
[[!template text="""in fewer than 1,000 lines of legible Emacs Lisp""" start="00:24:37.920" video="mainVideo-emms" id="subtitle"]]
[[!template text="""is a testament to some serious coding ability.""" start="00:24:42.640" video="mainVideo-emms" id="subtitle"]]
-[[!template new="1" text="""MPD""" start="00:24:47.470" video="mainVideo-emms" id="subtitle"]]
-
-[[!template text="""MPD:""" start="00:24:47.470" video="mainVideo-emms" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""MPD""" start="00:24:47.470" video="mainVideo-emms" id="subtitle"]]</div>[[!template text="""MPD:""" start="00:24:47.470" video="mainVideo-emms" id="subtitle"]]
[[!template text="""Similar to MPV but potentially""" start="00:24:49.610" video="mainVideo-emms" id="subtitle"]]
[[!template text="""on a completely different machine""" start="00:24:52.400" video="mainVideo-emms" id="subtitle"]]
[[!template text="""is Emms support for the Music Player Daemon.""" start="00:24:54.120" video="mainVideo-emms" id="subtitle"]]
@@ -491,9 +456,7 @@
[[!template text="""Unless of course someone volunteers to beat me to it.""" start="00:26:01.510" video="mainVideo-emms" id="subtitle"]]
[[!template text="""Hint hint.""" start="00:26:05.340" video="mainVideo-emms" id="subtitle"]]
-[[!template new="1" text="""GNU FM and Libre FM""" start="00:26:07.440" video="mainVideo-emms" id="subtitle"]]
-
-[[!template text="""GNU FM and Libre FM:""" start="00:26:07.440" video="mainVideo-emms" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""GNU FM and Libre FM""" start="00:26:07.440" video="mainVideo-emms" id="subtitle"]]</div>[[!template text="""GNU FM and Libre FM:""" start="00:26:07.440" video="mainVideo-emms" id="subtitle"]]
[[!template text="""Libre FM is a music community which allows you""" start="00:26:10.960" video="mainVideo-emms" id="subtitle"]]
[[!template text="""to share your listening habits with other users of the site.""" start="00:26:13.640" video="mainVideo-emms" id="subtitle"]]
[[!template text="""A kind of online listening party.""" start="00:26:17.450" video="mainVideo-emms" id="subtitle"]]
@@ -514,9 +477,7 @@
[[!template text="""while interacting with a remote network server.""" start="00:27:07.040" video="mainVideo-emms" id="subtitle"]]
[[!template text="""How myopic!""" start="00:27:09.820" video="mainVideo-emms" id="subtitle"]]
-[[!template new="1" text="""How we work: Emms development""" start="00:27:12.560" video="mainVideo-emms" id="subtitle"]]
-
-[[!template text="""How we work: Emms development:""" start="00:27:12.560" video="mainVideo-emms" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""How we work: Emms development""" start="00:27:12.560" video="mainVideo-emms" id="subtitle"]]</div>[[!template text="""How we work: Emms development:""" start="00:27:12.560" video="mainVideo-emms" id="subtitle"]]
[[!template text="""This part is an overview of how Emms is developed.""" start="00:27:15.700" video="mainVideo-emms" id="subtitle"]]
[[!template text="""By the end of this part you should be able to understand""" start="00:27:19.620" video="mainVideo-emms" id="subtitle"]]
[[!template text="""how we hacked this project, and how you can too.""" start="00:27:23.900" video="mainVideo-emms" id="subtitle"]]
@@ -543,17 +504,13 @@
[[!template text="""but didn't feel like the volume of incoming patches""" start="00:28:45.560" video="mainVideo-emms" id="subtitle"]]
[[!template text="""justified a separate mailing list.""" start="00:28:48.280" video="mainVideo-emms" id="subtitle"]]
-[[!template new="1" text="""The Rime Of The Ancient Maintainer""" start="00:28:52.590" video="mainVideo-emms" id="subtitle"]]
-
-[[!template text="""The Rime Of The Ancient Maintainer:""" start="00:28:52.590" video="mainVideo-emms" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""The Rime Of The Ancient Maintainer""" start="00:28:52.590" video="mainVideo-emms" id="subtitle"]]</div>[[!template text="""The Rime Of The Ancient Maintainer:""" start="00:28:52.590" video="mainVideo-emms" id="subtitle"]]
[[!template text="""There are a number of activities""" start="00:28:55.720" video="mainVideo-emms" id="subtitle"]]
[[!template text="""particular to being a maintainer.""" start="00:28:57.480" video="mainVideo-emms" id="subtitle"]]
[[!template text="""These are all part of a project's lifecycle.""" start="00:29:00.100" video="mainVideo-emms" id="subtitle"]]
[[!template text="""Let's review some of them.""" start="00:29:03.390" video="mainVideo-emms" id="subtitle"]]
-[[!template new="1" text="""The life and times of an Emms patch""" start="00:29:06.080" video="mainVideo-emms" id="subtitle"]]
-
-[[!template text="""The life and times of an Emms patch:""" start="00:29:06.080" video="mainVideo-emms" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""The life and times of an Emms patch""" start="00:29:06.080" video="mainVideo-emms" id="subtitle"]]</div>[[!template text="""The life and times of an Emms patch:""" start="00:29:06.080" video="mainVideo-emms" id="subtitle"]]
[[!template text="""A maintainer needs to be able to accept, critique,""" start="00:29:10.000" video="mainVideo-emms" id="subtitle"]]
[[!template text="""and integrate patches from contributors and developers.""" start="00:29:13.240" video="mainVideo-emms" id="subtitle"]]
[[!template text="""This means, among other things, that the maintainer""" start="00:29:17.560" video="mainVideo-emms" id="subtitle"]]
@@ -595,9 +552,7 @@
[[!template text="""If you have ever sent a patch, feature request,""" start="00:31:13.630" video="mainVideo-emms" id="subtitle"]]
[[!template text="""or bug report into Emms (small or large), we thank you.""" start="00:31:16.880" video="mainVideo-emms" id="subtitle"]]
-[[!template new="1" text="""Let It Go: The release process""" start="00:31:24.080" video="mainVideo-emms" id="subtitle"]]
-
-[[!template text="""Let It Go, The Release Process:""" start="00:31:24.080" video="mainVideo-emms" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Let It Go: The release process""" start="00:31:24.080" video="mainVideo-emms" id="subtitle"]]</div>[[!template text="""Let It Go, The Release Process:""" start="00:31:24.080" video="mainVideo-emms" id="subtitle"]]
[[!template text="""The maintainer is responsible for the release process.""" start="00:31:27.790" video="mainVideo-emms" id="subtitle"]]
[[!template text="""I found that a consistent schedule works well,""" start="00:31:31.610" video="mainVideo-emms" id="subtitle"]]
[[!template text="""which is not to say that we have to release on schedule,""" start="00:31:35.130" video="mainVideo-emms" id="subtitle"]]
@@ -615,9 +570,7 @@
[[!template text="""will remain safely in their branch on the Git repo""" start="00:32:13.500" video="mainVideo-emms" id="subtitle"]]
[[!template text="""until after the ELPA release.""" start="00:32:18.200" video="mainVideo-emms" id="subtitle"]]
-[[!template new="1" text="""It Is Not In Our Stars, But In Ourselves: Future directions""" start="00:32:23.400" video="mainVideo-emms" id="subtitle"]]
-
-[[!template text="""It Is Not In Our Stars, But In Ourselves; Future Directions:""" start="00:32:23.400" video="mainVideo-emms" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""It Is Not In Our Stars, But In Ourselves: Future directions""" start="00:32:23.400" video="mainVideo-emms" id="subtitle"]]</div>[[!template text="""It Is Not In Our Stars, But In Ourselves; Future Directions:""" start="00:32:23.400" video="mainVideo-emms" id="subtitle"]]
[[!template text="""One aspect of Emms that needs to improve is ease of setup.""" start="00:32:29.630" video="mainVideo-emms" id="subtitle"]]
[[!template text="""Now that might surprise you, since at the time of writing,""" start="00:32:34.900" video="mainVideo-emms" id="subtitle"]]
[[!template text="""it's already pretty easy.""" start="00:32:37.720" video="mainVideo-emms" id="subtitle"]]
@@ -665,9 +618,7 @@
[[!template text="""It is typical of the kind of issue you have to have in mind""" start="00:34:38.020" video="mainVideo-emms" id="subtitle"]]
[[!template text="""when you're maintaining a package.""" start="00:34:41.560" video="mainVideo-emms" id="subtitle"]]
-[[!template new="1" text="""Development policies: Interface language""" start="00:34:44.849" video="mainVideo-emms" id="subtitle"]]
-
-[[!template text="""Development Policies: Interface Language.""" start="00:34:44.849" video="mainVideo-emms" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Development policies: Interface language""" start="00:34:44.849" video="mainVideo-emms" id="subtitle"]]</div>[[!template text="""Development Policies: Interface Language.""" start="00:34:44.849" video="mainVideo-emms" id="subtitle"]]
[[!template text="""A maintainer of an interactive program such as Emms""" start="00:34:49.160" video="mainVideo-emms" id="subtitle"]]
[[!template text="""needs to think about user interaction.""" start="00:34:52.360" video="mainVideo-emms" id="subtitle"]]
[[!template text="""Emms doesn't use key bindings which are familiar""" start="00:34:55.360" video="mainVideo-emms" id="subtitle"]]
@@ -692,9 +643,7 @@
[[!template text="""and should integrate into Emacs,""" start="00:35:59.440" video="mainVideo-emms" id="subtitle"]]
[[!template text="""and serve Emacs users first and foremost.""" start="00:36:01.400" video="mainVideo-emms" id="subtitle"]]
-[[!template new="1" text="""Development policies: Freedom""" start="00:36:05.980" video="mainVideo-emms" id="subtitle"]]
-
-[[!template text="""Development policies: Freedom.""" start="00:36:05.980" video="mainVideo-emms" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Development policies: Freedom""" start="00:36:05.980" video="mainVideo-emms" id="subtitle"]]</div>[[!template text="""Development policies: Freedom.""" start="00:36:05.980" video="mainVideo-emms" id="subtitle"]]
[[!template text="""Another maintainer job is to think of Emms' posture""" start="00:36:10.290" video="mainVideo-emms" id="subtitle"]]
[[!template text="""in regards to software freedom.""" start="00:36:15.000" video="mainVideo-emms" id="subtitle"]]
[[!template text="""Here are a few examples.""" start="00:36:17.380" video="mainVideo-emms" id="subtitle"]]
@@ -735,9 +684,7 @@
[[!template text="""chances are that there is something you can do for Emms.""" start="00:38:06.760" video="mainVideo-emms" id="subtitle"]]
[[!template text="""Just saying.""" start="00:38:09.940" video="mainVideo-emms" id="subtitle"]]
-[[!template new="1" text="""Acknowledgements""" start="00:38:12.370" video="mainVideo-emms" id="subtitle"]]
-
-[[!template text="""Acknowledgements:""" start="00:38:12.370" video="mainVideo-emms" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Acknowledgements""" start="00:38:12.370" video="mainVideo-emms" id="subtitle"]]</div>[[!template text="""Acknowledgements:""" start="00:38:12.370" video="mainVideo-emms" id="subtitle"]]
[[!template text="""I'd like to express my deep gratitude for all of the people""" start="00:38:14.190" video="mainVideo-emms" id="subtitle"]]
[[!template text="""who have hacked on Emms""" start="00:38:18.080" video="mainVideo-emms" id="subtitle"]]
[[!template text="""during my time as a maintainer and before it.""" start="00:38:19.560" video="mainVideo-emms" id="subtitle"]]
@@ -748,12 +695,11 @@
[[!template text="""which actually moves the ship forward.""" start="00:38:33.180" video="mainVideo-emms" id="subtitle"]]
[[!template text="""Thank you to all.""" start="00:38:36.370" video="mainVideo-emms" id="subtitle"]]
-
+</div>
Captioner: yoni
-<a name="emms-qanda-transcript"></a>
-# Q&A transcript (unedited)
+<div class="transcript transcript-qanda"><a name="emms-qanda-transcript"></a><h1>Q&A transcript (unedited)</h1>
[[!template text="""[Speaker 0]: And I think we are live.""" start="00:00:06.140" video="qanda-emms" id="subtitle"]]
[[!template text="""Hi, Yanny, how are you doing?""" start="00:00:07.580" video="qanda-emms" id="subtitle"]]
@@ -1365,7 +1311,7 @@ Captioner: yoni
[[!template text="""see.""" start="00:31:09.020" video="qanda-emms" id="subtitle"]]
[[!template text="""[Speaker 2]: You""" start="00:31:15.060" video="qanda-emms" id="subtitle"]]
-Questions or comments? Please e-mail [emacsconf-org-private@gnu.org](mailto:emacsconf-org-private@gnu.org?subject=Comment%20for%20EmacsConf%202023%20emms%3A%20Emacs%20MultiMedia%20System%20%28EMMS%29)
+</div>Questions or comments? Please e-mail [emacsconf-org-private@gnu.org](mailto:emacsconf-org-private@gnu.org?subject=Comment%20for%20EmacsConf%202023%20emms%3A%20Emacs%20MultiMedia%20System%20%28EMMS%29)
<!-- End of emacsconf-publish-after-page -->
diff --git a/2023/info/emms-before.md b/2023/info/emms-before.md
index d45449c6..876b22c8 100644
--- a/2023/info/emms-before.md
+++ b/2023/info/emms-before.md
@@ -1,6 +1,6 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
[[!toc ]]
-Format: 39-min talk; Q&A: BigBlueButton conference room
+Format: 39-min talk ; Q&A: BigBlueButton conference room
Status: Q&A to be extracted from the room recordings
@@ -9,7 +9,7 @@ Status: Q&A to be extracted from the room recordings
# Talk
-<div class="vid"><video controls preload="none" id="emms-mainVideo"><source src="https://media.emacsconf.org/2023/emacsconf-2023-emms--emacs-multimedia-system-emms--yoni-rabkin--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-emms--emacs-multimedia-system-emms--yoni-rabkin--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2023/captions/emacsconf-2023-emms--emacs-multimedia-system-emms--yoni-rabkin--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="emms-mainVideo" data="""
+<div class="vid mainVideo"><video controls preload="none" id="mainVideo-emms"><source src="https://media.emacsconf.org/2023/emacsconf-2023-emms--emacs-multimedia-system-emms--yoni-rabkin--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-emms--emacs-multimedia-system-emms--yoni-rabkin--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2023/captions/emacsconf-2023-emms--emacs-multimedia-system-emms--yoni-rabkin--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-emms" data="""
00:00.000 Introduction
01:03.320 The structure of this talk
01:21.320 Introduction to Emms: The practical part
@@ -37,10 +37,10 @@ Status: Q&A to be extracted from the room recordings
36:05.980 Development policies: Freedom
38:12.370 Acknowledgements
-"""]]<div></div>Duration: 38:38 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-emms--emacs-multimedia-system-emms--yoni-rabkin--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-emms--emacs-multimedia-system-emms--yoni-rabkin--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-emms--emacs-multimedia-system-emms--yoni-rabkin--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-emms--emacs-multimedia-system-emms--yoni-rabkin--main.opus">Download --main.opus (21MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-emms--emacs-multimedia-system-emms--yoni-rabkin--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-emms--emacs-multimedia-system-emms--yoni-rabkin--main.webm">Download --main.webm (139MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-emms--emacs-multimedia-system-emms--yoni-rabkin--pad.html">Download --pad.html</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-emms--emacs-multimedia-system-emms--yoni-rabkin--pad.md">Download --pad.md</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-emms--emacs-multimedia-system-emms--yoni-rabkin.outline">Download .outline</a></li><li><a href="https://toobnix.org/w/ppdF62LysvxpXgZVaeF9wk">View on Toobnix</a></li></ul></div></div>
+"""]]<div></div>Duration: 38:38 minutes<div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2023-emms">Open Etherpad</a></li><li><a href="https://bbb.emacsverse.org/playback/presentation/2.0/playback.html?meetingId=8b33cba3581e35350526d5dfcaf8fdacae21884f-1701622838637">Play recording from BigBlueButton</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-emms--emacs-multimedia-system-emms--yoni-rabkin--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-emms--emacs-multimedia-system-emms--yoni-rabkin--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-emms--emacs-multimedia-system-emms--yoni-rabkin--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-emms--emacs-multimedia-system-emms--yoni-rabkin--main.opus">Download --main.opus (21MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-emms--emacs-multimedia-system-emms--yoni-rabkin--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-emms--emacs-multimedia-system-emms--yoni-rabkin--main.webm">Download --main.webm (139MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-emms--emacs-multimedia-system-emms--yoni-rabkin.outline">Download .outline</a></li><li><a href="https://toobnix.org/w/ppdF62LysvxpXgZVaeF9wk">View on Toobnix</a></li><li><a href="https://www.youtube.com/watch?v=kII413hkyis">View on Youtube</a></li></ul></div></div>
# Q&A
-<div class="vid"><video controls preload="none" id="emms-qanda"><source src="https://media.emacsconf.org/2023/emacsconf-2023-emms--emacs-multimedia-system-emms--yoni-rabkin--answers.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-emms--emacs-multimedia-system-emms--yoni-rabkin--answers.vtt" default />"""<p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video><div>Listen to just the audio:<br /><audio controls preload="none" id="emms-qanda-audio" src="https://media.emacsconf.org/2023/emacsconf-2023-emms--emacs-multimedia-system-emms--yoni-rabkin--answers.opus"></audio></div><div></div>Duration: 32:38 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-emms--emacs-multimedia-system-emms--yoni-rabkin--answers.json">Download --answers.json (1.3MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-emms--emacs-multimedia-system-emms--yoni-rabkin--answers.opus">Download --answers.opus (19MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-emms--emacs-multimedia-system-emms--yoni-rabkin--answers.vtt">Download --answers.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-emms--emacs-multimedia-system-emms--yoni-rabkin--answers.webm">Download --answers.webm (52MB)</a></li></ul></div></div>
+<div class="vid qanda"><video controls preload="none" id="qanda-emms"><source src="https://media.emacsconf.org/2023/emacsconf-2023-emms--emacs-multimedia-system-emms--yoni-rabkin--answers.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-emms--emacs-multimedia-system-emms--yoni-rabkin--answers.vtt" default />"""<p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video><div>Listen to just the audio:<br /><audio controls preload="none" id="qanda-emms-audio" src="https://media.emacsconf.org/2023/emacsconf-2023-emms--emacs-multimedia-system-emms--yoni-rabkin--answers.opus"></audio></div><div></div>Duration: 32:38 minutes<div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2023-emms">Open Etherpad</a></li><li><a href="https://bbb.emacsverse.org/playback/presentation/2.0/playback.html?meetingId=8b33cba3581e35350526d5dfcaf8fdacae21884f-1701622838637">Play recording from BigBlueButton</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-emms--emacs-multimedia-system-emms--yoni-rabkin--answers.json">Download --answers.json (1.3MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-emms--emacs-multimedia-system-emms--yoni-rabkin--answers.opus">Download --answers.opus (19MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-emms--emacs-multimedia-system-emms--yoni-rabkin--answers.vtt">Download --answers.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-emms--emacs-multimedia-system-emms--yoni-rabkin--answers.webm">Download --answers.webm (52MB)</a></li></ul></div></div>
# Description
<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2023/info/emms-nav.md b/2023/info/emms-nav.md
index 31d2bfad..b38582cc 100644
--- a/2023/info/emms-nav.md
+++ b/2023/info/emms-nav.md
@@ -3,5 +3,5 @@
Back to the [[talks]]
Previous by track: <a href="/2023/talks/cubing">Speedcubing in Emacs</a>
Next by track: <a href="/2023/talks/steno">Programming with steno</a>
-Track: <span class="sched-track General">General</span>
+Track: <span class="sched-track General">General</span> - <strong><a href="https://emacsconf.org/2023/watch/gen">Watch</a></strong>
</div>
diff --git a/2023/info/eval-after.md b/2023/info/eval-after.md
index d82abf2a..780cdf3c 100644
--- a/2023/info/eval-after.md
+++ b/2023/info/eval-after.md
@@ -1,13 +1,10 @@
<!-- Automatically generated by emacsconf-publish-after-page -->
-<a name="eval-mainVideo-transcript"></a>
-# Transcript
+<div class="transcript transcript-mainVideo"><a name="eval-mainVideo-transcript"></a><h1>Transcript</h1>
-[[!template new="1" text="""Introduction""" start="00:00:04.880" video="mainVideo-eval" id="subtitle"]]
-
-[[!template text="""Hello, and welcome to EmacsConf 2023!""" start="00:00:04.880" video="mainVideo-eval" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Introduction""" start="00:00:04.880" video="mainVideo-eval" id="subtitle"]]</div>[[!template text="""Hello, and welcome to EmacsConf 2023!""" start="00:00:04.880" video="mainVideo-eval" id="subtitle"]]
[[!template text="""My name is Musa Al-hassy,""" start="00:00:10.001" video="mainVideo-eval" id="subtitle"]]
[[!template text="""and I will be talking about &quot;REPL-driven development.&quot;""" start="00:00:12.109" video="mainVideo-eval" id="subtitle"]]
[[!template text="""I like programming languages so much.""" start="00:00:15.549" video="mainVideo-eval" id="subtitle"]]
@@ -19,9 +16,7 @@
[[!template text="""Links to longer videos and GIFs""" start="00:00:31.309" video="mainVideo-eval" id="subtitle"]]
[[!template text="""for those who are interested.""" start="00:00:33.469" video="mainVideo-eval" id="subtitle"]]
-[[!template new="1" text="""The wonders of C-x C-e""" start="00:00:35.989" video="mainVideo-eval" id="subtitle"]]
-
-[[!template text="""So the wonderful thing about Emacs""" start="00:00:35.989" video="mainVideo-eval" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""The wonders of C-x C-e""" start="00:00:35.989" video="mainVideo-eval" id="subtitle"]]</div>[[!template text="""So the wonderful thing about Emacs""" start="00:00:35.989" video="mainVideo-eval" id="subtitle"]]
[[!template text="""is that you can execute Lisp anywhere.""" start="00:00:37.309" video="mainVideo-eval" id="subtitle"]]
[[!template text="""For example, I can go to this piece of Lisp,""" start="00:00:40.589" video="mainVideo-eval" id="subtitle"]]
[[!template text="""press Ctrl-x Ctrl-e (`C-x C-e`)""" start="00:00:42.829" video="mainVideo-eval" id="subtitle"]]
@@ -89,9 +84,7 @@
[[!template text="""you can insert them, and do as you like.""" start="00:03:28.343" video="mainVideo-eval" id="subtitle"]]
[[!template text="""I think that's really neat.""" start="00:03:30.789" video="mainVideo-eval" id="subtitle"]]
-[[!template new="1" text="""An overview of REPL Driven Development""" start="00:03:35.809" video="mainVideo-eval" id="subtitle"]]
-
-[[!template text="""This package allows you to do""" start="00:03:35.809" video="mainVideo-eval" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""An overview of REPL Driven Development""" start="00:03:35.809" video="mainVideo-eval" id="subtitle"]]</div>[[!template text="""This package allows you to do""" start="00:03:35.809" video="mainVideo-eval" id="subtitle"]]
[[!template text="""REPL driven development.""" start="00:03:37.209" video="mainVideo-eval" id="subtitle"]]
[[!template text="""In that, you can use it to grow your program.""" start="00:03:39.109" video="mainVideo-eval" id="subtitle"]]
[[!template text="""You don't need to restart it.""" start="00:03:42.309" video="mainVideo-eval" id="subtitle"]]
@@ -121,9 +114,7 @@
[[!template text="""but unfortunately, we're running short on time.""" start="00:04:43.909" video="mainVideo-eval" id="subtitle"]]
[[!template text="""Apologies.""" start="00:04:46.509" video="mainVideo-eval" id="subtitle"]]
-[[!template new="1" text="""REPL Driven Development with Java""" start="00:04:51.143" video="mainVideo-eval" id="subtitle"]]
-
-[[!template text="""The neat thing here is: this package tries to""" start="00:04:51.143" video="mainVideo-eval" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""REPL Driven Development with Java""" start="00:04:51.143" video="mainVideo-eval" id="subtitle"]]</div>[[!template text="""The neat thing here is: this package tries to""" start="00:04:51.143" video="mainVideo-eval" id="subtitle"]]
[[!template text="""bring the feeling of Lisp to other languages.""" start="00:04:56.209" video="mainVideo-eval" id="subtitle"]]
[[!template text="""So the idea of a REPL, or a Read Eval Print Loop""" start="00:05:00.269" video="mainVideo-eval" id="subtitle"]]
[[!template text="""is R and P are data interchange protocols.""" start="00:05:03.509" video="mainVideo-eval" id="subtitle"]]
@@ -171,9 +162,7 @@
[[!template text="""In a browser, in a LaTeX file, in an Org mode (file),""" start="00:07:22.229" video="mainVideo-eval" id="subtitle"]]
[[!template text="""however we really desire.""" start="00:07:26.749" video="mainVideo-eval" id="subtitle"]]
-[[!template new="1" text="""Bring your own Read Protocol""" start="00:07:28.029" video="mainVideo-eval" id="subtitle"]]
-
-[[!template text="""And if our language doesn't have an easy protocol,""" start="00:07:28.029" video="mainVideo-eval" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Bring your own Read Protocol""" start="00:07:28.029" video="mainVideo-eval" id="subtitle"]]</div>[[!template text="""And if our language doesn't have an easy protocol,""" start="00:07:28.029" video="mainVideo-eval" id="subtitle"]]
[[!template text="""so what I did for Java in particular was:""" start="00:07:32.989" video="mainVideo-eval" id="subtitle"]]
[[!template text="""you take a blob, and you use some""" start="00:07:36.143" video="mainVideo-eval" id="subtitle"]]
[[!template text="""parsing expression grammars, or if you really want""" start="00:07:38.643" video="mainVideo-eval" id="subtitle"]]
@@ -184,9 +173,7 @@
[[!template text="""It's nice that you can do these kind of things""" start="00:07:53.149" video="mainVideo-eval" id="subtitle"]]
[[!template text="""and that this software encourages you to do them.""" start="00:07:56.749" video="mainVideo-eval" id="subtitle"]]
-[[!template new="1" text="""Use Case: RDD & Job Interviews""" start="00:07:59.669" video="mainVideo-eval" id="subtitle"]]
-
-[[!template text="""So one use case I actually use""" start="00:07:59.669" video="mainVideo-eval" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Use Case: RDD & Job Interviews""" start="00:07:59.669" video="mainVideo-eval" id="subtitle"]]</div>[[!template text="""So one use case I actually use""" start="00:07:59.669" video="mainVideo-eval" id="subtitle"]]
[[!template text="""besides learning things is…""" start="00:08:07.549" video="mainVideo-eval" id="subtitle"]]
[[!template text="""oops oops oopsies oopsies showing you metadata""" start="00:08:10.909" video="mainVideo-eval" id="subtitle"]]
[[!template text="""you shouldn't be looking at.""" start="00:08:14.776" video="mainVideo-eval" id="subtitle"]]
@@ -221,7 +208,7 @@
[[!template text="""And have a wonderful December Saturday.""" start="00:09:29.069" video="mainVideo-eval" id="subtitle"]]
[[!template text="""Take care! Bye bye, everyone.""" start="00:09:34.389" video="mainVideo-eval" id="subtitle"]]
-
+</div>
Captioner: bhavin192
diff --git a/2023/info/eval-before.md b/2023/info/eval-before.md
index 3ea735b8..18c605cc 100644
--- a/2023/info/eval-before.md
+++ b/2023/info/eval-before.md
@@ -1,13 +1,13 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
[[!toc ]]
-Format: 10-min talk; Q&A: ask questions via Etherpad/IRC; we'll e-mail the speaker and post answers on this wiki page after the conference
+Format: 10-min talk ; Q&A: ask questions via Etherpad/IRC; we'll e-mail the speaker and post answers on this wiki page after the conference
Status: All done
-<div class="vid"><video controls preload="none" id="eval-mainVideo"><source src="https://media.emacsconf.org/2023/emacsconf-2023-eval--editor-integrated-repl-driven-development-for-all-languages--musa-alhassy--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-eval--editor-integrated-repl-driven-development-for-all-languages--musa-alhassy--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2023/captions/emacsconf-2023-eval--editor-integrated-repl-driven-development-for-all-languages--musa-alhassy--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="eval-mainVideo" data="""
+<div class="vid mainVideo"><video controls preload="none" id="mainVideo-eval"><source src="https://media.emacsconf.org/2023/emacsconf-2023-eval--editor-integrated-repl-driven-development-for-all-languages--musa-alhassy--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-eval--editor-integrated-repl-driven-development-for-all-languages--musa-alhassy--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2023/captions/emacsconf-2023-eval--editor-integrated-repl-driven-development-for-all-languages--musa-alhassy--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-eval" data="""
00:04.880 Introduction
00:35.989 The wonders of C-x C-e
03:35.809 An overview of REPL Driven Development
@@ -15,6 +15,6 @@ Status: All done
07:28.029 Bring your own Read Protocol
07:59.669 Use Case: RDD & Job Interviews
-"""]]<div></div>Duration: 09:37 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-eval--editor-integrated-repl-driven-development-for-all-languages--musa-alhassy--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-eval--editor-integrated-repl-driven-development-for-all-languages--musa-alhassy--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-eval--editor-integrated-repl-driven-development-for-all-languages--musa-alhassy--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-eval--editor-integrated-repl-driven-development-for-all-languages--musa-alhassy--main.opus">Download --main.opus (4.2MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-eval--editor-integrated-repl-driven-development-for-all-languages--musa-alhassy--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-eval--editor-integrated-repl-driven-development-for-all-languages--musa-alhassy--main.webm">Download --main.webm (29MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-eval--editor-integrated-repl-driven-development-for-all-languages--musa-alhassy--pad.html">Download --pad.html</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-eval--editor-integrated-repl-driven-development-for-all-languages--musa-alhassy--pad.md">Download --pad.md</a></li><li><a href="https://toobnix.org/w/74srjNx1cgMr5MsJ9NWNNi">View on Toobnix</a></li></ul></div></div>
+"""]]<div></div>Duration: 09:37 minutes<div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2023-eval">Open Etherpad</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-eval--editor-integrated-repl-driven-development-for-all-languages--musa-alhassy--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-eval--editor-integrated-repl-driven-development-for-all-languages--musa-alhassy--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-eval--editor-integrated-repl-driven-development-for-all-languages--musa-alhassy--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-eval--editor-integrated-repl-driven-development-for-all-languages--musa-alhassy--main.opus">Download --main.opus (4.2MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-eval--editor-integrated-repl-driven-development-for-all-languages--musa-alhassy--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-eval--editor-integrated-repl-driven-development-for-all-languages--musa-alhassy--main.webm">Download --main.webm (29MB)</a></li><li><a href="https://toobnix.org/w/74srjNx1cgMr5MsJ9NWNNi">View on Toobnix</a></li><li><a href="https://www.youtube.com/watch?v=1bk0pqpMCfQ">View on Youtube</a></li></ul></div></div>
# Description
<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2023/info/eval-nav.md b/2023/info/eval-nav.md
index 346bbc65..2a1de627 100644
--- a/2023/info/eval-nav.md
+++ b/2023/info/eval-nav.md
@@ -3,5 +3,5 @@
Back to the [[talks]]
Previous by track: <a href="/2023/talks/overlay">Improving compiler diagnostics with overlays</a>
Next by track: <a href="/2023/talks/repl">REPLs in strange places: Lua, LaTeX, LPeg, LPegRex, TikZ</a>
-Track: <span class="sched-track Development">Development</span>
+Track: <span class="sched-track Development">Development</span> - <strong><a href="https://emacsconf.org/2023/watch/dev">Watch</a></strong>
</div>
diff --git a/2023/info/flat-after.md b/2023/info/flat-after.md
index c743ddf6..8135bc6c 100644
--- a/2023/info/flat-after.md
+++ b/2023/info/flat-after.md
@@ -1,8 +1,7 @@
<!-- Automatically generated by emacsconf-publish-after-page -->
-<a name="flat-mainVideo-transcript"></a>
-# Transcript (unedited)
+<div class="transcript transcript-mainVideo"><a name="flat-mainVideo-transcript"></a><h1>Transcript (unedited)</h1>
[[!template text="""That's how I came into this.""" start="00:00:01.880" video="mainVideo-flat" id="subtitle"]]
[[!template text="""Finally, the next big thing was starting""" start="00:00:10.120" video="mainVideo-flat" id="subtitle"]]
@@ -256,7 +255,7 @@
[[!template text="""Awesome. Take care. Bye.""" start="00:22:01.640" video="mainVideo-flat" id="subtitle"]]
[[!template text="""Bye. Bye.""" start="00:22:02.720" video="mainVideo-flat" id="subtitle"]]
-Questions or comments? Please e-mail [emacsconf-org-private@gnu.org](mailto:emacsconf-org-private@gnu.org?subject=Comment%20for%20EmacsConf%202023%20flat%3A%20A%20modern%20Emacs%20look-and-feel%20without%20pain)
+</div>Questions or comments? Please e-mail [emacsconf-org-private@gnu.org](mailto:emacsconf-org-private@gnu.org?subject=Comment%20for%20EmacsConf%202023%20flat%3A%20A%20modern%20Emacs%20look-and-feel%20without%20pain)
<!-- End of emacsconf-publish-after-page -->
diff --git a/2023/info/flat-before.md b/2023/info/flat-before.md
index fdae80b7..d3827603 100644
--- a/2023/info/flat-before.md
+++ b/2023/info/flat-before.md
@@ -1,12 +1,12 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
[[!toc ]]
-Format: 23-min talk; Q&A: BigBlueButton conference room
+Format: 23-min talk ; Q&A: BigBlueButton conference room
Status: Q&A to be extracted from the room recordings
-<div class="vid"><video controls preload="none" id="flat-mainVideo"><source src="https://media.emacsconf.org/2023/emacsconf-2023-flat--a-modern-emacs-lookandfeel-without-pain--pedro-a-aranda--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-flat--a-modern-emacs-lookandfeel-without-pain--pedro-a-aranda--main.vtt" default />"""<p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video><div></div>Duration: 22:20 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-flat--a-modern-emacs-lookandfeel-without-pain--pedro-a-aranda--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-flat--a-modern-emacs-lookandfeel-without-pain--pedro-a-aranda--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-flat--a-modern-emacs-lookandfeel-without-pain--pedro-a-aranda--main.json">Download --main.json</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-flat--a-modern-emacs-lookandfeel-without-pain--pedro-a-aranda--main.opus">Download --main.opus (10MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-flat--a-modern-emacs-lookandfeel-without-pain--pedro-a-aranda--main.vtt">Download --main.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-flat--a-modern-emacs-lookandfeel-without-pain--pedro-a-aranda--main.webm">Download --main.webm (121MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-flat--a-modern-emacs-lookandfeel-without-pain--pedro-a-aranda--pad.html">Download --pad.html</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-flat--a-modern-emacs-lookandfeel-without-pain--pedro-a-aranda--pad.md">Download --pad.md</a></li><li><a href="https://toobnix.org/w/1DRDY8vZK3SW5M8zAPJQSp">View on Toobnix</a></li></ul></div></div>
+<div class="vid mainVideo"><video controls preload="none" id="mainVideo-flat"><source src="https://media.emacsconf.org/2023/emacsconf-2023-flat--a-modern-emacs-lookandfeel-without-pain--pedro-a-aranda--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-flat--a-modern-emacs-lookandfeel-without-pain--pedro-a-aranda--main.vtt" default />"""<p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video><div></div>Duration: 22:20 minutes<div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2023-flat">Open Etherpad</a></li><li><a href="https://bbb.emacsverse.org/playback/presentation/2.0/playback.html?meetingId=865d185560bbda4ee85399dc236c6f7eb2ee635d-1701616925579">Play recording from BigBlueButton</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-flat--a-modern-emacs-lookandfeel-without-pain--pedro-a-aranda--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-flat--a-modern-emacs-lookandfeel-without-pain--pedro-a-aranda--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-flat--a-modern-emacs-lookandfeel-without-pain--pedro-a-aranda--main.json">Download --main.json</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-flat--a-modern-emacs-lookandfeel-without-pain--pedro-a-aranda--main.opus">Download --main.opus (10MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-flat--a-modern-emacs-lookandfeel-without-pain--pedro-a-aranda--main.vtt">Download --main.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-flat--a-modern-emacs-lookandfeel-without-pain--pedro-a-aranda--main.webm">Download --main.webm (121MB)</a></li><li><a href="https://toobnix.org/w/1DRDY8vZK3SW5M8zAPJQSp">View on Toobnix</a></li><li><a href="https://www.youtube.com/watch?v=E1u6DcHis9M">View on Youtube</a></li></ul></div></div>
# Description
<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2023/info/flat-nav.md b/2023/info/flat-nav.md
index 02ba0748..a3ff71bc 100644
--- a/2023/info/flat-nav.md
+++ b/2023/info/flat-nav.md
@@ -3,5 +3,5 @@
Back to the [[talks]]
Previous by track: <a href="/2023/talks/world">GNU Emacs: A World of Possibilities</a>
Next by track: <a href="/2023/talks/emacsen">The Emacsen family, the design of an Emacs and the importance of Lisp</a>
-Track: <span class="sched-track Development">Development</span>
+Track: <span class="sched-track Development">Development</span> - <strong><a href="https://emacsconf.org/2023/watch/dev">Watch</a></strong>
</div>
diff --git a/2023/info/gc-after.md b/2023/info/gc-after.md
index 90c0a853..f4eef3e2 100644
--- a/2023/info/gc-after.md
+++ b/2023/info/gc-after.md
@@ -1,13 +1,10 @@
<!-- Automatically generated by emacsconf-publish-after-page -->
-<a name="gc-mainVideo-transcript"></a>
-# Transcript
+<div class="transcript transcript-mainVideo"><a name="gc-mainVideo-transcript"></a><h1>Transcript</h1>
-[[!template new="1" text="""Introduction""" start="00:00:00.000" video="mainVideo-gc" id="subtitle"]]
-
-[[!template text="""Hello everyone, my name is Ihor Radchenko,""" start="00:00:00.000" video="mainVideo-gc" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Introduction""" start="00:00:00.000" video="mainVideo-gc" id="subtitle"]]</div>[[!template text="""Hello everyone, my name is Ihor Radchenko,""" start="00:00:00.000" video="mainVideo-gc" id="subtitle"]]
[[!template text="""and you may know me from Org Mailing List.""" start="00:00:04.640" video="mainVideo-gc" id="subtitle"]]
[[!template text="""However, today I'm not going to talk about Org Mode.""" start="00:00:07.600" video="mainVideo-gc" id="subtitle"]]
[[!template text="""Today I'm going to talk about""" start="00:00:09.800" video="mainVideo-gc" id="subtitle"]]
@@ -22,9 +19,7 @@
[[!template text="""to optimize Emacs performance""" start="00:00:44.720" video="mainVideo-gc" id="subtitle"]]
[[!template text="""and when it's necessary or not to do.""" start="00:00:47.480" video="mainVideo-gc" id="subtitle"]]
-[[!template new="1" text="""About garbage collection in Emacs""" start="00:00:51.080" video="mainVideo-gc" id="subtitle"]]
-
-[[!template text="""Let's begin. What is garbage collection?""" start="00:00:51.080" video="mainVideo-gc" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""About garbage collection in Emacs""" start="00:00:51.080" video="mainVideo-gc" id="subtitle"]]</div>[[!template text="""Let's begin. What is garbage collection?""" start="00:00:51.080" video="mainVideo-gc" id="subtitle"]]
[[!template text="""To understand what is garbage collection,""" start="00:00:54.520" video="mainVideo-gc" id="subtitle"]]
[[!template text="""we need to realize that anything you do in Emacs""" start="00:00:56.520" video="mainVideo-gc" id="subtitle"]]
[[!template text="""is some kind of command. Any command is most likely""" start="00:00:59.040" video="mainVideo-gc" id="subtitle"]]
@@ -51,9 +46,7 @@
[[!template text="""The first term of the list is not used""" start="00:02:05.000" video="mainVideo-gc" id="subtitle"]]
[[!template text="""and it might be cleared at some point.""" start="00:02:07.680" video="mainVideo-gc" id="subtitle"]]
-[[!template new="1" text="""Garbage collection in Emacs""" start="00:02:09.760" video="mainVideo-gc" id="subtitle"]]
-
-[[!template text="""So that's what Emacs does.""" start="00:02:09.760" video="mainVideo-gc" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Garbage collection in Emacs""" start="00:02:09.760" video="mainVideo-gc" id="subtitle"]]</div>[[!template text="""So that's what Emacs does.""" start="00:02:09.760" video="mainVideo-gc" id="subtitle"]]
[[!template text="""Every now and then, Emacs goes through all the memory""" start="00:02:12.240" video="mainVideo-gc" id="subtitle"]]
[[!template text="""and identifies which part of the memory are not used""" start="00:02:15.920" video="mainVideo-gc" id="subtitle"]]
[[!template text="""and then clear them so that it can free up the RAM.""" start="00:02:19.120" video="mainVideo-gc" id="subtitle"]]
@@ -605,360 +598,7 @@
[[!template text="""and you can reproduce all the statistic graphs if you wish""" start="00:33:11.840" video="mainVideo-gc" id="subtitle"]]
[[!template text="""and thank you for attention""" start="00:33:17.080" video="mainVideo-gc" id="subtitle"]]
-<a name="gc-qanda-transcript"></a>
-# Q&A transcript (unedited)
-
-[[!template text="""[Speaker 0]: And then, hi everyone.""" start="00:00:01.620" video="qanda-gc" id="subtitle"]]
-[[!template text="""Thank you for your nice talk,""" start="00:00:03.760" video="qanda-gc" id="subtitle"]]
-[[!template text="""I can say it's the Emacs GC.""" start="00:00:05.900" video="qanda-gc" id="subtitle"]]
-[[!template text="""We have some questions on the pad and maybe""" start="00:00:09.280" video="qanda-gc" id="subtitle"]]
-[[!template text="""before I would like to ask you something to""" start="00:00:11.580" video="qanda-gc" id="subtitle"]]
-[[!template text="""the last 1 you have said,""" start="00:00:12.780" video="qanda-gc" id="subtitle"]]
-[[!template text="""concerning changing the GC strategy,""" start="00:00:15.200" video="qanda-gc" id="subtitle"]]
-[[!template text="""that it's unlikely that it will be happening""" start="00:00:18.500" video="qanda-gc" id="subtitle"]]
-[[!template text="""in the next time. Yeah.""" start="00:00:20.380" video="qanda-gc" id="subtitle"]]
-[[!template text="""Is there any discussion going on or why does""" start="00:00:22.760" video="qanda-gc" id="subtitle"]]
-[[!template text="""the case it's not changing the strategy?""" start="00:00:24.320" video="qanda-gc" id="subtitle"]]
-[[!template text="""[Speaker 1]: It's mostly because it's difficult.""" start="00:00:26.640" video="qanda-gc" id="subtitle"]]
-[[!template text="""I think, yesterday you heard from,""" start="00:00:29.439" video="qanda-gc" id="subtitle"]]
-[[!template text="""1 of the dev talks that like there was 1""" start="00:00:33.400" video="qanda-gc" id="subtitle"]]
-[[!template text="""small, short comment that,""" start="00:00:34.980" video="qanda-gc" id="subtitle"]]
-[[!template text="""oh yeah, it would be nice to change this""" start="00:00:36.780" video="qanda-gc" id="subtitle"]]
-[[!template text="""algorithm but it's hard.""" start="00:00:39.059" video="qanda-gc" id="subtitle"]]
-[[!template text="""[Speaker 0]: So I""" start="00:00:40.760" video="qanda-gc" id="subtitle"]]
-[[!template text="""[Speaker 1]: mean it's hard not because the algorithm is""" start="00:00:43.260" video="qanda-gc" id="subtitle"]]
-[[!template text="""that hard but because it's a very low level""" start="00:00:45.400" video="qanda-gc" id="subtitle"]]
-[[!template text="""code and it must be like very carefully""" start="00:00:48.000" video="qanda-gc" id="subtitle"]]
-[[!template text="""weighted. So that can be,""" start="00:00:49.960" video="qanda-gc" id="subtitle"]]
-[[!template text="""it needs to be made sure that the carousel""" start="00:00:53.239" video="qanda-gc" id="subtitle"]]
-[[!template text="""will work. It's all bugs.""" start="00:00:55.280" video="qanda-gc" id="subtitle"]]
-[[!template text="""If you have bugs and you can see that,""" start="00:00:57.440" video="qanda-gc" id="subtitle"]]
-[[!template text="""so it's nothing to work anymore.""" start="00:00:58.660" video="qanda-gc" id="subtitle"]]
-[[!template text="""[Speaker 0]: So We have a lot of RAM usage.""" start="00:01:00.720" video="qanda-gc" id="subtitle"]]
-[[!template text="""Yeah. Maybe sometime.""" start="00:01:02.240" video="qanda-gc" id="subtitle"]]
-[[!template text="""[Speaker 1]: There was like years ago,""" start="00:01:06.180" video="qanda-gc" id="subtitle"]]
-[[!template text="""there was a branch on generational DC,""" start="00:01:09.640" video="qanda-gc" id="subtitle"]]
-[[!template text="""if I remember correctly,""" start="00:01:11.100" video="qanda-gc" id="subtitle"]]
-[[!template text="""but they didn't go anywhere,""" start="00:01:13.380" video="qanda-gc" id="subtitle"]]
-[[!template text="""unfortunately.""" start="00:01:14.760" video="qanda-gc" id="subtitle"]]
-[[!template text="""[Speaker 0]: That's a pity. But let's come to the""" start="00:01:18.900" video="qanda-gc" id="subtitle"]]
-[[!template text="""questions on the pad. So the first 1 is,""" start="00:01:21.500" video="qanda-gc" id="subtitle"]]
-[[!template text="""are the GC duration statistics correlated""" start="00:01:24.340" video="qanda-gc" id="subtitle"]]
-[[!template text="""with users? I mean, does the same user""" start="00:01:27.340" video="qanda-gc" id="subtitle"]]
-[[!template text="""experience GC of various durations?""" start="00:01:29.440" video="qanda-gc" id="subtitle"]]
-[[!template text="""Or Do some users experience GC of a greater""" start="00:01:32.900" video="qanda-gc" id="subtitle"]]
-[[!template text="""0.26 exclusively, while others never""" start="00:01:36.680" video="qanda-gc" id="subtitle"]]
-[[!template text="""experience them? So is it correlated to user""" start="00:01:40.440" video="qanda-gc" id="subtitle"]]
-[[!template text="""behavior? I guess you said it in your talk.""" start="00:01:43.780" video="qanda-gc" id="subtitle"]]
-[[!template text="""[Speaker 1]: Well, If you talk formally,""" start="00:01:46.160" video="qanda-gc" id="subtitle"]]
-[[!template text="""then almost every user has like 1 or 2""" start="00:01:49.340" video="qanda-gc" id="subtitle"]]
-[[!template text="""occasions when GC takes more than 0.2""" start="00:01:51.500" video="qanda-gc" id="subtitle"]]
-[[!template text="""seconds, but it's like,""" start="00:01:53.040" video="qanda-gc" id="subtitle"]]
-[[!template text="""maybe something else is using CPU and that's""" start="00:01:56.720" video="qanda-gc" id="subtitle"]]
-[[!template text="""why, but in practice, there are users who""" start="00:02:00.720" video="qanda-gc" id="subtitle"]]
-[[!template text="""don't have problem. Half of them that that's""" start="00:02:04.200" video="qanda-gc" id="subtitle"]]
-[[!template text="""who that's what I looked from statistics.""" start="00:02:05.800" video="qanda-gc" id="subtitle"]]
-[[!template text="""And dry users who have like really big""" start="00:02:10.240" video="qanda-gc" id="subtitle"]]
-[[!template text="""problems, like 1 second GC time.""" start="00:02:12.520" video="qanda-gc" id="subtitle"]]
-[[!template text="""[Speaker 0]: This is dependent on you make some comments""" start="00:02:17.280" video="qanda-gc" id="subtitle"]]
-[[!template text="""on us in the talk, but could you like extract""" start="00:02:19.960" video="qanda-gc" id="subtitle"]]
-[[!template text="""on if it's a package, that's a problem or we""" start="00:02:23.000" video="qanda-gc" id="subtitle"]]
-[[!template text="""as a user behavior are there.""" start="00:02:24.780" video="qanda-gc" id="subtitle"]]
-[[!template text="""[Speaker 1]: Usually it's something that is,""" start="00:02:30.720" video="qanda-gc" id="subtitle"]]
-[[!template text="""okay. I'm sharing my screen now,""" start="00:02:33.760" video="qanda-gc" id="subtitle"]]
-[[!template text="""[Speaker 0]: It's coming on, give it like 2 to 3 seconds.""" start="00:02:37.580" video="qanda-gc" id="subtitle"]]
-[[!template text="""[Speaker 1]: right? Yeah. So I can just click through""" start="00:02:41.480" video="qanda-gc" id="subtitle"]]
-[[!template text="""different user statistics.""" start="00:02:42.940" video="qanda-gc" id="subtitle"]]
-[[!template text="""So like you can see this duration for each""" start="00:02:48.840" video="qanda-gc" id="subtitle"]]
-[[!template text="""individual user basically.""" start="00:02:49.960" video="qanda-gc" id="subtitle"]]
-[[!template text="""So you can see like here for example it's""" start="00:02:54.240" video="qanda-gc" id="subtitle"]]
-[[!template text="""like averages around 0.25""" start="00:02:56.320" video="qanda-gc" id="subtitle"]]
-[[!template text="""seconds which is noticeable and here is like""" start="00:03:00.040" video="qanda-gc" id="subtitle"]]
-[[!template text="""0.1 like someone is all over the place,""" start="00:03:03.640" video="qanda-gc" id="subtitle"]]
-[[!template text="""probably some. Then like,""" start="00:03:09.560" video="qanda-gc" id="subtitle"]]
-[[!template text="""what else can we see here?""" start="00:03:11.520" video="qanda-gc" id="subtitle"]]
-[[!template text="""Yeah, some users like have sub 0.1,""" start="00:03:15.140" video="qanda-gc" id="subtitle"]]
-[[!template text="""no problem at all. And I have seen some that""" start="00:03:23.320" video="qanda-gc" id="subtitle"]]
-[[!template text="""really, really bad. I mean,""" start="00:03:30.180" video="qanda-gc" id="subtitle"]]
-[[!template text="""[Speaker 0]: if it's noticeable, it's all bad.""" start="00:03:31.880" video="qanda-gc" id="subtitle"]]
-[[!template text="""[Speaker 1]: So yeah. For example, here it's like 0.8""" start="00:03:36.960" video="qanda-gc" id="subtitle"]]
-[[!template text="""seconds, 0.5 seconds. I don't know how that""" start="00:03:41.680" video="qanda-gc" id="subtitle"]]
-[[!template text="""guy uses ZMax. Yeah. you can see it varies.""" start="00:03:48.600" video="qanda-gc" id="subtitle"]]
-[[!template text="""[Speaker 0]: So It varies quite a lot.""" start="00:03:51.160" video="qanda-gc" id="subtitle"]]
-[[!template text="""[Speaker 1]: What it depends on, like,""" start="00:03:52.760" video="qanda-gc" id="subtitle"]]
-[[!template text="""usually the number of packages,""" start="00:03:54.120" video="qanda-gc" id="subtitle"]]
-[[!template text="""like all kinds of timers going on under the""" start="00:03:58.440" video="qanda-gc" id="subtitle"]]
-[[!template text="""hood. I think I tried to list...""" start="00:04:01.720" video="qanda-gc" id="subtitle"]]
-[[!template text="""I'll go through this. I briefly outlined some""" start="00:04:12.520" video="qanda-gc" id="subtitle"]]
-[[!template text="""important parts. Here,""" start="00:04:15.440" video="qanda-gc" id="subtitle"]]
-[[!template text="""when you have something like an org agenda,""" start="00:04:18.480" video="qanda-gc" id="subtitle"]]
-[[!template text="""it will most likely trigger a lot of GCs.""" start="00:04:20.680" video="qanda-gc" id="subtitle"]]
-[[!template text="""When you have a lot of timers,""" start="00:04:23.900" video="qanda-gc" id="subtitle"]]
-[[!template text="""when you have something calculated on""" start="00:04:27.800" video="qanda-gc" id="subtitle"]]
-[[!template text="""modline, it will be frequently triggered.""" start="00:04:29.700" video="qanda-gc" id="subtitle"]]
-[[!template text="""[Speaker 0]: Well,""" start="00:04:30.900" video="qanda-gc" id="subtitle"]]
-[[!template text="""[Speaker 1]: yeah. When you have so many packages and""" start="00:04:34.080" video="qanda-gc" id="subtitle"]]
-[[!template text="""these packages are using a lot of memory.""" start="00:04:35.760" video="qanda-gc" id="subtitle"]]
-[[!template text="""Like I remember I was surprised by this,""" start="00:04:41.120" video="qanda-gc" id="subtitle"]]
-[[!template text="""package, home org that was,""" start="00:04:44.640" video="qanda-gc" id="subtitle"]]
-[[!template text="""caching all the results.""" start="00:04:46.560" video="qanda-gc" id="subtitle"]]
-[[!template text="""And for large org files,""" start="00:04:48.960" video="qanda-gc" id="subtitle"]]
-[[!template text="""it was like several hundred megabytes of""" start="00:04:51.540" video="qanda-gc" id="subtitle"]]
-[[!template text="""data. Well, it just becomes slower.""" start="00:04:55.160" video="qanda-gc" id="subtitle"]]
-[[!template text="""Yeah.""" start="00:04:55.900" video="qanda-gc" id="subtitle"]]
-[[!template text="""[Speaker 0]: Yeah. Maybe, maybe a short side note.""" start="00:05:00.020" video="qanda-gc" id="subtitle"]]
-[[!template text="""Someone asks, what software you're using for""" start="00:05:02.600" video="qanda-gc" id="subtitle"]]
-[[!template text="""flipping through the PNGs.""" start="00:05:03.480" video="qanda-gc" id="subtitle"]]
-[[!template text="""Maybe you could shortly throws it in.""" start="00:05:06.660" video="qanda-gc" id="subtitle"]]
-[[!template text="""[Speaker 1]: What do you mean? Here,""" start="00:05:08.800" video="qanda-gc" id="subtitle"]]
-[[!template text="""[Speaker 0]: I guess it was just simply,""" start="00:05:11.000" video="qanda-gc" id="subtitle"]]
-[[!template text="""[Speaker 1]: this, It's it's far. Yeah.""" start="00:05:13.480" video="qanda-gc" id="subtitle"]]
-[[!template text="""So""" start="00:05:16.660" video="qanda-gc" id="subtitle"]]
-[[!template text="""[Speaker 0]: yeah. So, question 1 and 2 answered.""" start="00:05:23.900" video="qanda-gc" id="subtitle"]]
-[[!template text="""To 1 statement you have made,""" start="00:05:35.740" video="qanda-gc" id="subtitle"]]
-[[!template text="""there was a question concerning the timings.""" start="00:05:37.500" video="qanda-gc" id="subtitle"]]
-[[!template text="""So you said, okay, everything above 0.1""" start="00:05:41.180" video="qanda-gc" id="subtitle"]]
-[[!template text="""second is fine. Maybe There's a short story""" start="00:05:45.800" video="qanda-gc" id="subtitle"]]
-[[!template text="""of someone who asked a question.""" start="00:05:48.480" video="qanda-gc" id="subtitle"]]
-[[!template text="""[Speaker 1]: I see the question is about scrolling,""" start="00:05:50.380" video="qanda-gc" id="subtitle"]]
-[[!template text="""[Speaker 0]: Yeah, exactly.""" start="00:05:51.820" video="qanda-gc" id="subtitle"]]
-[[!template text="""[Speaker 1]: right? Again, there's not much you can do in""" start="00:05:55.580" video="qanda-gc" id="subtitle"]]
-[[!template text="""terms of trying to adjust the GC time.""" start="00:05:58.620" video="qanda-gc" id="subtitle"]]
-[[!template text="""I mean, if you make GCs less frequent,""" start="00:06:02.320" video="qanda-gc" id="subtitle"]]
-[[!template text="""you increase the individual GC time.""" start="00:06:07.540" video="qanda-gc" id="subtitle"]]
-[[!template text="""If you make them more frequent,""" start="00:06:08.860" video="qanda-gc" id="subtitle"]]
-[[!template text="""you decrease the individual GC time,""" start="00:06:11.280" video="qanda-gc" id="subtitle"]]
-[[!template text="""but then they are more frequent.""" start="00:06:12.400" video="qanda-gc" id="subtitle"]]
-[[!template text="""So what is the point? I think the way to go""" start="00:06:15.920" video="qanda-gc" id="subtitle"]]
-[[!template text="""here is you can rise to see the short for the""" start="00:06:19.940" video="qanda-gc" id="subtitle"]]
-[[!template text="""duration of scrolling,""" start="00:06:20.740" video="qanda-gc" id="subtitle"]]
-[[!template text="""like just for a comment.""" start="00:06:22.500" video="qanda-gc" id="subtitle"]]
-[[!template text="""I think it's a recommendation from Emacs""" start="00:06:26.320" video="qanda-gc" id="subtitle"]]
-[[!template text="""devs. So like You do something along the""" start="00:06:31.480" video="qanda-gc" id="subtitle"]]
-[[!template text="""lines.""" start="00:06:31.660" video="qanda-gc" id="subtitle"]]
-[[!template text="""Yeah, I'm surely doing something on my screen""" start="00:06:53.480" video="qanda-gc" id="subtitle"]]
-[[!template text="""and I forgot that I'm not sharing anything.""" start="00:06:55.680" video="qanda-gc" id="subtitle"]]
-[[!template text="""[Speaker 0]: Exactly.""" start="00:06:56.680" video="qanda-gc" id="subtitle"]]
-[[!template text="""[Speaker 1]: Simply something like this.""" start="00:07:00.700" video="qanda-gc" id="subtitle"]]
-[[!template text="""So, basically, if you have some command that""" start="00:07:08.140" video="qanda-gc" id="subtitle"]]
-[[!template text="""is very important that it should run very""" start="00:07:10.920" video="qanda-gc" id="subtitle"]]
-[[!template text="""quickly. You temporary increase that""" start="00:07:13.860" video="qanda-gc" id="subtitle"]]
-[[!template text="""threshold, you run that comment,""" start="00:07:15.740" video="qanda-gc" id="subtitle"]]
-[[!template text="""then that's all. That's probably the best.""" start="00:07:19.940" video="qanda-gc" id="subtitle"]]
-[[!template text="""So basically, the best you can do is to delay""" start="00:07:21.660" video="qanda-gc" id="subtitle"]]
-[[!template text="""it after the command.""" start="00:07:23.760" video="qanda-gc" id="subtitle"]]
-[[!template text="""[Speaker 0]: So afterwards, it takes a lot of time to do""" start="00:07:27.500" video="qanda-gc" id="subtitle"]]
-[[!template text="""its stuff. OK. The third 1 has been already""" start="00:07:36.140" video="qanda-gc" id="subtitle"]]
-[[!template text="""answered, but I just want to get your""" start="00:07:40.520" video="qanda-gc" id="subtitle"]]
-[[!template text="""information from it. Opinions on the GCMH""" start="00:07:42.780" video="qanda-gc" id="subtitle"]]
-[[!template text="""mode.""" start="00:07:43.940" video="qanda-gc" id="subtitle"]]
-[[!template text="""[Speaker 1]: Okay. Yeah, I see that problem,""" start="00:07:48.280" video="qanda-gc" id="subtitle"]]
-[[!template text="""but that's more like a technical problem.""" start="00:07:49.920" video="qanda-gc" id="subtitle"]]
-[[!template text="""But there's another problem there.""" start="00:07:52.360" video="qanda-gc" id="subtitle"]]
-[[!template text="""Yeah, I prepared a small snippet here.""" start="00:07:57.340" video="qanda-gc" id="subtitle"]]
-[[!template text="""So if you look at the GCMH mode,""" start="00:08:02.160" video="qanda-gc" id="subtitle"]]
-[[!template text="""it has this concept of low threshold and high""" start="00:08:05.800" video="qanda-gc" id="subtitle"]]
-[[!template text="""threshold and most of the time it's running""" start="00:08:08.200" video="qanda-gc" id="subtitle"]]
-[[!template text="""high threshold and then when Emacs is idle,""" start="00:08:14.120" video="qanda-gc" id="subtitle"]]
-[[!template text="""it falls back to lower threshold and then it""" start="00:08:17.320" video="qanda-gc" id="subtitle"]]
-[[!template text="""does the GC while Emacs is not used.""" start="00:08:19.400" video="qanda-gc" id="subtitle"]]
-[[!template text="""That's a good idea, of course.""" start="00:08:22.040" video="qanda-gc" id="subtitle"]]
-[[!template text="""That's the core idea of GCMH mode.""" start="00:08:24.380" video="qanda-gc" id="subtitle"]]
-[[!template text="""Unfortunately, the most annoying GC is when""" start="00:08:30.520" video="qanda-gc" id="subtitle"]]
-[[!template text="""you're actively using max.""" start="00:08:31.760" video="qanda-gc" id="subtitle"]]
-[[!template text="""And then you have this huge value of GC""" start="00:08:37.120" video="qanda-gc" id="subtitle"]]
-[[!template text="""counter show and look at the doc stream.""" start="00:08:38.799" video="qanda-gc" id="subtitle"]]
-[[!template text="""This would be sector value that makes GC""" start="00:08:41.760" video="qanda-gc" id="subtitle"]]
-[[!template text="""unlikely but does not cost OSP Asian.""" start="00:08:43.980" video="qanda-gc" id="subtitle"]]
-[[!template text="""So yeah, no wonder like if you don't do GC,""" start="00:08:46.480" video="qanda-gc" id="subtitle"]]
-[[!template text="""your arm usage will skyrocket.""" start="00:08:49.640" video="qanda-gc" id="subtitle"]]
-[[!template text="""So they don't, they cannot put it too much,""" start="00:08:54.360" video="qanda-gc" id="subtitle"]]
-[[!template text="""but this is like already like,""" start="00:08:57.720" video="qanda-gc" id="subtitle"]]
-[[!template text="""how much was it?""" start="00:08:59.220" video="qanda-gc" id="subtitle"]]
-[[!template text="""1 gigabyte, that's the default.""" start="00:09:10.800" video="qanda-gc" id="subtitle"]]
-[[!template text="""And the problem is when you have 1 gigabyte""" start="00:09:15.220" video="qanda-gc" id="subtitle"]]
-[[!template text="""to garbage collect, it causes really long GC""" start="00:09:18.680" video="qanda-gc" id="subtitle"]]
-[[!template text="""time. So in GC image mode,""" start="00:09:22.040" video="qanda-gc" id="subtitle"]]
-[[!template text="""when you're actually using Emacs,""" start="00:09:23.560" video="qanda-gc" id="subtitle"]]
-[[!template text="""really heavily, the GCs become terrible,""" start="00:09:28.860" video="qanda-gc" id="subtitle"]]
-[[!template text="""terribly slow. So it may help in case you""" start="00:09:34.640" video="qanda-gc" id="subtitle"]]
-[[!template text="""don't have too much problems with GC,""" start="00:09:37.200" video="qanda-gc" id="subtitle"]]
-[[!template text="""but I will say that in such situation,""" start="00:09:39.280" video="qanda-gc" id="subtitle"]]
-[[!template text="""you can simply increase GC cost percentage,""" start="00:09:41.920" video="qanda-gc" id="subtitle"]]
-[[!template text="""as I recommend, and it should do it.""" start="00:09:44.540" video="qanda-gc" id="subtitle"]]
-[[!template text="""But in case of really big problems with""" start="00:09:48.480" video="qanda-gc" id="subtitle"]]
-[[!template text="""garbage collection, no,""" start="00:09:50.080" video="qanda-gc" id="subtitle"]]
-[[!template text="""I don't think that will help much.""" start="00:09:51.740" video="qanda-gc" id="subtitle"]]
-[[!template text="""I used it myself and it didn't help much for""" start="00:09:54.800" video="qanda-gc" id="subtitle"]]
-[[!template text="""my stuff.""" start="00:09:55.200" video="qanda-gc" id="subtitle"]]
-[[!template text="""[Speaker 0]: All right. The next question is concerning""" start="00:09:59.680" video="qanda-gc" id="subtitle"]]
-[[!template text="""freeing up memory. Is there some way to free""" start="00:10:04.600" video="qanda-gc" id="subtitle"]]
-[[!template text="""up memory such as via unload feature on""" start="00:10:07.200" video="qanda-gc" id="subtitle"]]
-[[!template text="""Emacs? Often I only need a package loaded for""" start="00:10:09.960" video="qanda-gc" id="subtitle"]]
-[[!template text="""a single task or short period by the""" start="00:10:12.240" video="qanda-gc" id="subtitle"]]
-[[!template text="""persistent memory afterwards.""" start="00:10:13.320" video="qanda-gc" id="subtitle"]]
-[[!template text="""[Speaker 1]: So the packages are usually not that much of""" start="00:10:19.780" video="qanda-gc" id="subtitle"]]
-[[!template text="""a problem. I mean, the libraries,""" start="00:10:22.060" video="qanda-gc" id="subtitle"]]
-[[!template text="""the problem is some extra,""" start="00:10:25.280" video="qanda-gc" id="subtitle"]]
-[[!template text="""like some variable contents or some""" start="00:10:30.060" video="qanda-gc" id="subtitle"]]
-[[!template text="""histories, some caches.""" start="00:10:31.800" video="qanda-gc" id="subtitle"]]
-[[!template text="""That's what's eating most of the memory.""" start="00:10:35.280" video="qanda-gc" id="subtitle"]]
-[[!template text="""There is a package called memory usage and""" start="00:10:40.240" video="qanda-gc" id="subtitle"]]
-[[!template text="""built in MX memory report.""" start="00:10:45.440" video="qanda-gc" id="subtitle"]]
-[[!template text="""They allow to see which variables take a lot""" start="00:10:50.900" video="qanda-gc" id="subtitle"]]
-[[!template text="""of memory. And that way you can try to see""" start="00:10:56.000" video="qanda-gc" id="subtitle"]]
-[[!template text="""which packages are actually problematic.""" start="00:10:58.520" video="qanda-gc" id="subtitle"]]
-[[!template text="""So for example, I recall,""" start="00:11:03.340" video="qanda-gc" id="subtitle"]]
-[[!template text="""and that was not exactly,""" start="00:11:05.640" video="qanda-gc" id="subtitle"]]
-[[!template text="""I remember there was a package that was""" start="00:11:09.720" video="qanda-gc" id="subtitle"]]
-[[!template text="""literally in command line,""" start="00:11:11.040" video="qanda-gc" id="subtitle"]]
-[[!template text="""like prompt history. I think it was in""" start="00:11:14.020" video="qanda-gc" id="subtitle"]]
-[[!template text="""command. And when you do like,""" start="00:11:17.540" video="qanda-gc" id="subtitle"]]
-[[!template text="""when you save every message in your chart""" start="00:11:20.440" video="qanda-gc" id="subtitle"]]
-[[!template text="""into prompt history, that can grow very fast""" start="00:11:25.280" video="qanda-gc" id="subtitle"]]
-[[!template text="""and can go to several hundred megabytes just""" start="00:11:29.220" video="qanda-gc" id="subtitle"]]
-[[!template text="""in that history. And that can cause major""" start="00:11:31.720" video="qanda-gc" id="subtitle"]]
-[[!template text="""problems. So, yes, profiling the largest""" start="00:11:37.960" video="qanda-gc" id="subtitle"]]
-[[!template text="""variables with the largest buffers that might""" start="00:11:41.200" video="qanda-gc" id="subtitle"]]
-[[!template text="""give some clues. Again,""" start="00:11:42.660" video="qanda-gc" id="subtitle"]]
-[[!template text="""there is no silver bullet.""" start="00:11:43.740" video="qanda-gc" id="subtitle"]]
-[[!template text="""[Speaker 0]: Right. I think the last question on the""" start="00:11:49.080" video="qanda-gc" id="subtitle"]]
-[[!template text="""patterns. At first, very nice presentation.""" start="00:11:51.000" video="qanda-gc" id="subtitle"]]
-[[!template text="""[Speaker 1]: I can""" start="00:11:51.620" video="qanda-gc" id="subtitle"]]
-[[!template text="""[Speaker 0]: also only agree with that.""" start="00:11:53.980" video="qanda-gc" id="subtitle"]]
-[[!template text="""I just experienced with a threshold and""" start="00:11:56.480" video="qanda-gc" id="subtitle"]]
-[[!template text="""lowered my GCE lapse from 1.1""" start="00:11:58.200" video="qanda-gc" id="subtitle"]]
-[[!template text="""to 0.06 seconds during startup.""" start="00:12:01.440" video="qanda-gc" id="subtitle"]]
-[[!template text="""Interestingly, going to 10 megabytes""" start="00:12:03.600" video="qanda-gc" id="subtitle"]]
-[[!template text="""increased the time. 4 megabytes was a sweet""" start="00:12:06.100" video="qanda-gc" id="subtitle"]]
-[[!template text="""spot for my system. What is the recommended""" start="00:12:07.800" video="qanda-gc" id="subtitle"]]
-[[!template text="""way to lower the value back to the default""" start="00:12:10.840" video="qanda-gc" id="subtitle"]]
-[[!template text="""value after startup is completed?""" start="00:12:12.340" video="qanda-gc" id="subtitle"]]
-[[!template text="""[Speaker 1]: I think you just use after init hook.""" start="00:12:16.160" video="qanda-gc" id="subtitle"]]
-[[!template text="""[Speaker 0]: This was a relatively fast answer.""" start="00:12:23.940" video="qanda-gc" id="subtitle"]]
-[[!template text="""[Speaker 1]: So basically for example Doom does this,""" start="00:12:29.180" video="qanda-gc" id="subtitle"]]
-[[!template text="""it temporary writes a gcconcert hold during""" start="00:12:31.940" video="qanda-gc" id="subtitle"]]
-[[!template text="""startup and yeah after init hook the code is""" start="00:12:37.260" video="qanda-gc" id="subtitle"]]
-[[!template text="""like it's 1 of the commonly suggested""" start="00:12:39.880" video="qanda-gc" id="subtitle"]]
-[[!template text="""approaches and is I believe it's the right 1.""" start="00:12:43.940" video="qanda-gc" id="subtitle"]]
-[[!template text="""[Speaker 0]: Right. To have joined us 1 was a microphone.""" start="00:12:49.180" video="qanda-gc" id="subtitle"]]
-[[!template text="""So Peter, do you have any questions that you""" start="00:12:52.200" video="qanda-gc" id="subtitle"]]
-[[!template text="""want to question? And maybe as a side note,""" start="00:12:55.240" video="qanda-gc" id="subtitle"]]
-[[!template text="""we only have 4 minutes left and afterwards""" start="00:12:57.380" video="qanda-gc" id="subtitle"]]
-[[!template text="""this happy weekend will still be open,""" start="00:12:59.240" video="qanda-gc" id="subtitle"]]
-[[!template text="""but we will switch back to the talks.""" start="00:13:01.400" video="qanda-gc" id="subtitle"]]
-[[!template text="""[Speaker 2]: Yeah, no more questions on garbage""" start="00:13:05.380" video="qanda-gc" id="subtitle"]]
-[[!template text="""collection, but I just wanted to thank Ihor""" start="00:13:07.640" video="qanda-gc" id="subtitle"]]
-[[!template text="""for his engagement in the community.""" start="00:13:10.440" video="qanda-gc" id="subtitle"]]
-[[!template text="""And especially with, I'm a co-maintainer on""" start="00:13:15.300" video="qanda-gc" id="subtitle"]]
-[[!template text="""orgnotor and he's helped us a lot with""" start="00:13:17.600" video="qanda-gc" id="subtitle"]]
-[[!template text="""getting us up to date with newer versions of""" start="00:13:21.680" video="qanda-gc" id="subtitle"]]
-[[!template text="""org and stuff like that.""" start="00:13:22.680" video="qanda-gc" id="subtitle"]]
-[[!template text="""So just wanted to thank you in person.""" start="00:13:24.680" video="qanda-gc" id="subtitle"]]
-[[!template text="""[Speaker 1]: Right.""" start="00:13:25.140" video="qanda-gc" id="subtitle"]]
-[[!template text="""[Speaker 0]: Maybe 1 question for me,""" start="00:13:33.540" video="qanda-gc" id="subtitle"]]
-[[!template text="""you had some bit talked about memory""" start="00:13:35.460" video="qanda-gc" id="subtitle"]]
-[[!template text="""fragmentation. So is there any way to or is""" start="00:13:40.640" video="qanda-gc" id="subtitle"]]
-[[!template text="""it fixed by Emacs itself?""" start="00:13:42.080" video="qanda-gc" id="subtitle"]]
-[[!template text="""So you have like""" start="00:13:43.740" video="qanda-gc" id="subtitle"]]
-[[!template text="""[Speaker 1]: a chunk of memory fragmentation is basically""" start="00:13:46.520" video="qanda-gc" id="subtitle"]]
-[[!template text="""your OS. Yeah, Emacs releases the memory and""" start="00:13:51.420" video="qanda-gc" id="subtitle"]]
-[[!template text="""then OS can rearrange it depending on the""" start="00:13:55.020" video="qanda-gc" id="subtitle"]]
-[[!template text="""implementation of its memory manager.""" start="00:13:58.320" video="qanda-gc" id="subtitle"]]
-[[!template text="""[Speaker 0]: Okay, so the GC just releases it really and""" start="00:14:01.520" video="qanda-gc" id="subtitle"]]
-[[!template text="""not so it could be that a mix is like""" start="00:14:04.400" video="qanda-gc" id="subtitle"]]
-[[!template text="""[Speaker 1]: doing it. You have like memory pages,""" start="00:14:07.420" video="qanda-gc" id="subtitle"]]
-[[!template text="""right? Yeah. And you see,""" start="00:14:09.560" video="qanda-gc" id="subtitle"]]
-[[!template text="""can release a part of this page just like""" start="00:14:12.140" video="qanda-gc" id="subtitle"]]
-[[!template text="""here and there. And depending on the exact""" start="00:14:14.760" video="qanda-gc" id="subtitle"]]
-[[!template text="""situation is your arm at each moment of time,""" start="00:14:17.720" video="qanda-gc" id="subtitle"]]
-[[!template text="""or as may or may not be able to arrange""" start="00:14:20.240" video="qanda-gc" id="subtitle"]]
-[[!template text="""[Speaker 0]: so""" start="00:14:25.160" video="qanda-gc" id="subtitle"]]
-[[!template text="""[Speaker 1]: things. So, how the exact the data you cannot""" start="00:14:27.620" video="qanda-gc" id="subtitle"]]
-[[!template text="""really predict it. It really varies like you""" start="00:14:30.160" video="qanda-gc" id="subtitle"]]
-[[!template text="""use Windows, you use Linux,""" start="00:14:31.120" video="qanda-gc" id="subtitle"]]
-[[!template text="""you use like malloc, something else,""" start="00:14:33.240" video="qanda-gc" id="subtitle"]]
-[[!template text="""but it has nothing to do with Emacs.""" start="00:14:36.260" video="qanda-gc" id="subtitle"]]
-[[!template text="""It's just something you have to deal with.""" start="00:14:38.040" video="qanda-gc" id="subtitle"]]
-[[!template text="""[Speaker 0]: Yeah, but my question was in the way that we""" start="00:14:41.780" video="qanda-gc" id="subtitle"]]
-[[!template text="""are giving the memory back to the operating""" start="00:14:43.460" video="qanda-gc" id="subtitle"]]
-[[!template text="""system, not just holding it as used and then""" start="00:14:46.020" video="qanda-gc" id="subtitle"]]
-[[!template text="""to our own memory, like stuff as Emacs that""" start="00:14:49.960" video="qanda-gc" id="subtitle"]]
-[[!template text="""we do not need to interact with the operating""" start="00:14:51.680" video="qanda-gc" id="subtitle"]]
-[[!template text="""[Speaker 1]: Yeah. Emacs does not really hold anything.""" start="00:14:56.040" video="qanda-gc" id="subtitle"]]
-[[!template text="""[Speaker 0]: system. That was the question.""" start="00:14:59.160" video="qanda-gc" id="subtitle"]]
-[[!template text="""[Speaker 1]: Okay. I was really hoping it does,""" start="00:15:01.920" video="qanda-gc" id="subtitle"]]
-[[!template text="""but yeah, unfortunately,""" start="00:15:02.760" video="qanda-gc" id="subtitle"]]
-[[!template text="""because nothing much can be done on Emacs.""" start="00:15:05.640" video="qanda-gc" id="subtitle"]]
-[[!template text="""[Speaker 0]: Okay. it's not Probably a lot faster if it's""" start="00:15:08.800" video="qanda-gc" id="subtitle"]]
-[[!template text="""just holding it and when it needs more,""" start="00:15:10.580" video="qanda-gc" id="subtitle"]]
-[[!template text="""then just get more from the OS.""" start="00:15:12.380" video="qanda-gc" id="subtitle"]]
-[[!template text="""[Speaker 1]: There are certain caveats,""" start="00:15:14.220" video="qanda-gc" id="subtitle"]]
-[[!template text="""for example, there's something called image""" start="00:15:16.720" video="qanda-gc" id="subtitle"]]
-[[!template text="""cache. And because Emacs stores images in""" start="00:15:20.560" video="qanda-gc" id="subtitle"]]
-[[!template text="""uncompressed format, it can occupy quite a""" start="00:15:23.720" video="qanda-gc" id="subtitle"]]
-[[!template text="""lot of memory. In particular,""" start="00:15:25.020" video="qanda-gc" id="subtitle"]]
-[[!template text="""when you will like view PDFs,""" start="00:15:26.520" video="qanda-gc" id="subtitle"]]
-[[!template text="""like you open 10, like 20 PDFs in 1 session,""" start="00:15:30.140" video="qanda-gc" id="subtitle"]]
-[[!template text="""you may have like some image cache blowing""" start="00:15:33.460" video="qanda-gc" id="subtitle"]]
-[[!template text="""up, But that's not common for people.""" start="00:15:36.720" video="qanda-gc" id="subtitle"]]
-[[!template text="""[Speaker 0]: So, guess we are on our time exactly.""" start="00:15:41.420" video="qanda-gc" id="subtitle"]]
-[[!template text="""So in the next""" start="00:15:43.580" video="qanda-gc" id="subtitle"]]
-[[!template text="""[Speaker 1]: I think I was not exactly accurate.""" start="00:15:46.680" video="qanda-gc" id="subtitle"]]
-[[!template text="""This 1 command, which is,""" start="00:15:49.200" video="qanda-gc" id="subtitle"]]
-[[!template text="""I think, Nemax 30, is called a malloc trim.""" start="00:15:53.500" video="qanda-gc" id="subtitle"]]
-[[!template text="""A max malloc trim. It's interactive.""" start="00:15:57.520" video="qanda-gc" id="subtitle"]]
-[[!template text="""So that can help to release some memory.""" start="00:16:04.080" video="qanda-gc" id="subtitle"]]
-[[!template text="""I think the way it works is like forces OS to""" start="00:16:08.200" video="qanda-gc" id="subtitle"]]
-[[!template text="""make use of the released memory.""" start="00:16:12.040" video="qanda-gc" id="subtitle"]]
-[[!template text="""[Speaker 0]: Okay. That would be like,""" start="00:16:14.960" video="qanda-gc" id="subtitle"]]
-[[!template text="""we are by the way, switch back to the next""" start="00:16:18.420" video="qanda-gc" id="subtitle"]]
-[[!template text="""talk. But""" start="00:16:21.420" video="qanda-gc" id="subtitle"]]
-[[!template text="""[Speaker 1]: so basically what happens here is that OS may""" start="00:16:24.220" video="qanda-gc" id="subtitle"]]
-[[!template text="""not release like, even Emacs says,""" start="00:16:27.440" video="qanda-gc" id="subtitle"]]
-[[!template text="""okay, this memory is free,""" start="00:16:28.740" video="qanda-gc" id="subtitle"]]
-[[!template text="""depending on the implementation,""" start="00:16:30.060" video="qanda-gc" id="subtitle"]]
-[[!template text="""I might think, okay, but I still hold that""" start="00:16:32.760" video="qanda-gc" id="subtitle"]]
-[[!template text="""memory associated with Emacs just in case""" start="00:16:34.860" video="qanda-gc" id="subtitle"]]
-[[!template text="""Emacs needs more memories,""" start="00:16:35.800" video="qanda-gc" id="subtitle"]]
-[[!template text="""and I can immediately put the data there""" start="00:16:38.940" video="qanda-gc" id="subtitle"]]
-[[!template text="""without like more arrangement to allocate""" start="00:16:41.420" video="qanda-gc" id="subtitle"]]
-[[!template text="""more. And this analog stream basically forces""" start="00:16:45.480" video="qanda-gc" id="subtitle"]]
-[[!template text="""the OS to release it, like no matter what.""" start="00:16:48.740" video="qanda-gc" id="subtitle"]]
-[[!template text="""[Speaker 0]: Because most people, when they are using""" start="00:16:52.360" video="qanda-gc" id="subtitle"]]
-[[!template text="""Emacs, I have the feeling they are only using""" start="00:16:54.320" video="qanda-gc" id="subtitle"]]
-[[!template text="""Emacs. So it would be kind of interesting if""" start="00:16:56.160" video="qanda-gc" id="subtitle"]]
-[[!template text="""you just take like, I don't know,""" start="00:16:57.880" video="qanda-gc" id="subtitle"]]
-[[!template text="""2 gigabytes or something of memory and Emacs""" start="00:17:00.060" video="qanda-gc" id="subtitle"]]
-[[!template text="""like does what it wants on that and the OS""" start="00:17:02.900" video="qanda-gc" id="subtitle"]]
-[[!template text="""cannot really take it back.""" start="00:17:04.079" video="qanda-gc" id="subtitle"]]
-[[!template text="""This was my idea when I""" start="00:17:05.920" video="qanda-gc" id="subtitle"]]
-[[!template text="""[Speaker 1]: was So when you see 2 gigabytes in OS,""" start="00:17:08.000" video="qanda-gc" id="subtitle"]]
-[[!template text="""it doesn't mean that OS cannot take it back.""" start="00:17:10.359" video="qanda-gc" id="subtitle"]]
-[[!template text="""It may still like allocate certain portion,""" start="00:17:13.859" video="qanda-gc" id="subtitle"]]
-[[!template text="""even technically free,""" start="00:17:15.640" video="qanda-gc" id="subtitle"]]
-[[!template text="""but just for future. So this is where Malloc""" start="00:17:20.940" video="qanda-gc" id="subtitle"]]
-[[!template text="""Dream works. It's like,""" start="00:17:22.339" video="qanda-gc" id="subtitle"]]
-[[!template text="""it says, yes, OS, I really not going to hold""" start="00:17:25.319" video="qanda-gc" id="subtitle"]]
-[[!template text="""this for this free memory.""" start="00:17:26.500" video="qanda-gc" id="subtitle"]]
-[[!template text="""For sure. If you try this MX Malloc Gene,""" start="00:17:31.700" video="qanda-gc" id="subtitle"]]
-[[!template text="""you will see like a few times to hundreds of""" start="00:17:33.960" video="qanda-gc" id="subtitle"]]
-[[!template text="""megabytes of read immediately.""" start="00:17:35.200" video="qanda-gc" id="subtitle"]]
-[[!template text="""[Speaker 0]: Have a look when I have the time.""" start="00:17:38.560" video="qanda-gc" id="subtitle"]]
-[[!template text="""[Speaker 1]: I""" start="00:17:41.480" video="qanda-gc" id="subtitle"]]
-[[!template text="""[Speaker 0]: guess if nobody has any questions,""" start="00:17:43.260" video="qanda-gc" id="subtitle"]]
-[[!template text="""I guess on the pad, there was Nothing else.""" start="00:17:45.660" video="qanda-gc" id="subtitle"]]
-[[!template text="""I guess we can just close it.""" start="00:17:47.900" video="qanda-gc" id="subtitle"]]
-[[!template text="""Thanks for the discussion.""" start="00:17:49.140" video="qanda-gc" id="subtitle"]]
-[[!template text="""Thanks for answering the questions.""" start="00:17:50.640" video="qanda-gc" id="subtitle"]]
-[[!template text="""[Speaker 1]: Thank you for the great conference.""" start="00:17:56.020" video="qanda-gc" id="subtitle"]]
-[[!template text="""And yeah, for your volunteer work.""" start="00:17:59.340" video="qanda-gc" id="subtitle"]]
-[[!template text="""And yeah, for quietly panicking in the""" start="00:18:02.230" video="qanda-gc" id="subtitle"]]
-[[!template text="""background, right? Yeah,""" start="00:18:02.262" video="qanda-gc" id="subtitle"]]
-[[!template text="""I mean... You have to be quiet,""" start="00:18:02.337" video="qanda-gc" id="subtitle"]]
-[[!template text="""you're panicking in the background.""" start="00:18:02.560" video="qanda-gc" id="subtitle"]]
-
-Questions or comments? Please e-mail [yantar92@posteo.net](mailto:yantar92@posteo.net?subject=Comment%20for%20EmacsConf%202023%20gc%3A%20emacs-gc-stats%3A%20Does%20garbage%20collection%20actually%20slow%20down%20Emacs%3F)
+</div>Questions or comments? Please e-mail [yantar92@posteo.net](mailto:yantar92@posteo.net?subject=Comment%20for%20EmacsConf%202023%20gc%3A%20emacs-gc-stats%3A%20Does%20garbage%20collection%20actually%20slow%20down%20Emacs%3F)
<!-- End of emacsconf-publish-after-page -->
diff --git a/2023/info/gc-before.md b/2023/info/gc-before.md
index 035db20a..8167b2a4 100644
--- a/2023/info/gc-before.md
+++ b/2023/info/gc-before.md
@@ -1,12 +1,12 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
[[!toc ]]
-Format: 34-min talk; Q&A: BigBlueButton conference room
+Format: 34-min talk ; Q&A: BigBlueButton conference room
Status: Q&A to be extracted from the room recordings
-<div class="vid"><video controls preload="none" id="gc-mainVideo"><source src="https://media.emacsconf.org/2023/emacsconf-2023-gc--emacsgcstats-does-garbage-collection-actually-slow-down-emacs--ihor-radchenko--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-gc--emacsgcstats-does-garbage-collection-actually-slow-down-emacs--ihor-radchenko--main.vtt" default />"""<p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video><div></div>Duration: 33:22 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-gc--emacsgcstats-does-garbage-collection-actually-slow-down-emacs--ihor-radchenko--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-gc--emacsgcstats-does-garbage-collection-actually-slow-down-emacs--ihor-radchenko--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-gc--emacsgcstats-does-garbage-collection-actually-slow-down-emacs--ihor-radchenko--main.opus">Download --main.opus (22MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-gc--emacsgcstats-does-garbage-collection-actually-slow-down-emacs--ihor-radchenko--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-gc--emacsgcstats-does-garbage-collection-actually-slow-down-emacs--ihor-radchenko--main.webm">Download --main.webm (80MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-gc--emacsgcstats-does-garbage-collection-actually-slow-down-emacs--ihor-radchenko--pad.html">Download --pad.html</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-gc--emacsgcstats-does-garbage-collection-actually-slow-down-emacs--ihor-radchenko--pad.md">Download --pad.md</a></li><li><a href="https://toobnix.org/w/ngenUPBLDDkZGmsxK8vimJ">View on Toobnix</a></li></ul></div></div>
+<div class="vid mainVideo"><video controls preload="none" id="mainVideo-gc"><source src="https://media.emacsconf.org/2023/emacsconf-2023-gc--emacsgcstats-does-garbage-collection-actually-slow-down-emacs--ihor-radchenko--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-gc--emacsgcstats-does-garbage-collection-actually-slow-down-emacs--ihor-radchenko--main.vtt" default />"""<p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video><div></div>Duration: 33:22 minutes<div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2023-gc">Open Etherpad</a></li><li><a href="https://bbb.emacsverse.org/playback/presentation/2.0/playback.html?meetingId=b0f325d396963155a01854970e055fe7440abf61-1701624602181">Play recording from BigBlueButton</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-gc--emacsgcstats-does-garbage-collection-actually-slow-down-emacs--ihor-radchenko--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-gc--emacsgcstats-does-garbage-collection-actually-slow-down-emacs--ihor-radchenko--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-gc--emacsgcstats-does-garbage-collection-actually-slow-down-emacs--ihor-radchenko--main.opus">Download --main.opus (22MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-gc--emacsgcstats-does-garbage-collection-actually-slow-down-emacs--ihor-radchenko--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-gc--emacsgcstats-does-garbage-collection-actually-slow-down-emacs--ihor-radchenko--main.webm">Download --main.webm (80MB)</a></li><li><a href="https://toobnix.org/w/ngenUPBLDDkZGmsxK8vimJ">View on Toobnix</a></li><li><a href="https://www.youtube.com/watch?v=YA1RJxH4xfQ">View on Youtube</a></li></ul></div></div>
# Description
<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2023/info/gc-nav.md b/2023/info/gc-nav.md
index 0bef707f..59675d1e 100644
--- a/2023/info/gc-nav.md
+++ b/2023/info/gc-nav.md
@@ -3,5 +3,5 @@
Back to the [[talks]]
Previous by track: <a href="/2023/talks/emacsen">The Emacsen family, the design of an Emacs and the importance of Lisp</a>
Next by track: <a href="/2023/talks/hyperdrive">hyperdrive.el: Peer-to-peer filesystem in Emacs</a>
-Track: <span class="sched-track Development">Development</span>
+Track: <span class="sched-track Development">Development</span> - <strong><a href="https://emacsconf.org/2023/watch/dev">Watch</a></strong>
</div>
diff --git a/2023/info/hyperamp-after.md b/2023/info/hyperamp-after.md
index 051a5dad..044bc930 100644
--- a/2023/info/hyperamp-after.md
+++ b/2023/info/hyperamp-after.md
@@ -1,8 +1,7 @@
<!-- Automatically generated by emacsconf-publish-after-page -->
-<a name="hyperamp-mainVideo-transcript"></a>
-# Transcript (unedited)
+<div class="transcript transcript-mainVideo"><a name="hyperamp-mainVideo-transcript"></a><h1>Transcript (unedited)</h1>
[[!template text="""[Speaker 0]: 5 seconds. Oh, actually,""" start="00:00:01.719" video="mainVideo-hyperamp" id="subtitle"]]
[[!template text="""[Speaker 1]: Sorry, I keep delaying.""" start="00:00:07.279" video="mainVideo-hyperamp" id="subtitle"]]
@@ -1345,7 +1344,7 @@
[[!template text="""Thanks a lot. Bye-bye.""" start="01:05:15.060" video="mainVideo-hyperamp" id="subtitle"]]
[[!template text="""Bye-bye.""" start="01:05:15.750" video="mainVideo-hyperamp" id="subtitle"]]
-Questions or comments? Please e-mail [rsw@gnu.org](mailto:rsw@gnu.org?subject=Comment%20for%20EmacsConf%202023%20hyperamp%3A%20Top%2010%20ways%20Hyperbole%20amps%20up%20Emacs)
+</div>Questions or comments? Please e-mail [rsw@gnu.org](mailto:rsw@gnu.org?subject=Comment%20for%20EmacsConf%202023%20hyperamp%3A%20Top%2010%20ways%20Hyperbole%20amps%20up%20Emacs)
<!-- End of emacsconf-publish-after-page -->
diff --git a/2023/info/hyperamp-before.md b/2023/info/hyperamp-before.md
index 12a070f0..5d534f44 100644
--- a/2023/info/hyperamp-before.md
+++ b/2023/info/hyperamp-before.md
@@ -1,6 +1,6 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
[[!toc ]]
-Format: 66-min talk; Q&A: BigBlueButton conference room
+Format: 66-min talk ; Q&A: BigBlueButton conference room
Status: TO_REVIEW_QA
@@ -9,10 +9,10 @@ Status: TO_REVIEW_QA
# Talk
-<div class="vid"><video controls preload="none" id="hyperamp-mainVideo"><source src="https://media.emacsconf.org/2023/emacsconf-2023-hyperamp--top-10-ways-hyperbole-amps-up-emacs--robert-weiner--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-hyperamp--top-10-ways-hyperbole-amps-up-emacs--robert-weiner--main.vtt" default />"""<p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video><div></div>Duration: 1:05:16 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-hyperamp--top-10-ways-hyperbole-amps-up-emacs--robert-weiner--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-hyperamp--top-10-ways-hyperbole-amps-up-emacs--robert-weiner--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-hyperamp--top-10-ways-hyperbole-amps-up-emacs--robert-weiner--main.json">Download --main.json (2.9MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-hyperamp--top-10-ways-hyperbole-amps-up-emacs--robert-weiner--main.opus">Download --main.opus (37MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-hyperamp--top-10-ways-hyperbole-amps-up-emacs--robert-weiner--main.vtt">Download --main.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-hyperamp--top-10-ways-hyperbole-amps-up-emacs--robert-weiner--main.webm">Download --main.webm (234MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-hyperamp--top-10-ways-hyperbole-amps-up-emacs--robert-weiner--pad.html">Download --pad.html</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-hyperamp--top-10-ways-hyperbole-amps-up-emacs--robert-weiner--pad.md">Download --pad.md</a></li><li><a href="https://toobnix.org/w/4Cpb89zHKgQjob3gHUs73C">View on Toobnix</a></li></ul></div></div>
+<div class="vid mainVideo"><video controls preload="none" id="mainVideo-hyperamp"><source src="https://media.emacsconf.org/2023/emacsconf-2023-hyperamp--top-10-ways-hyperbole-amps-up-emacs--robert-weiner--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-hyperamp--top-10-ways-hyperbole-amps-up-emacs--robert-weiner--main.vtt" default />"""<p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video><div></div>Duration: 1:05:16 minutes<div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2023-hyperamp">Open Etherpad</a></li><li><a href="https://bbb.emacsverse.org/playback/presentation/2.0/playback.html?meetingId=b91c2833d3add0175ea8f55e9026f1ba6e744918-1701610376838">Play recording from BigBlueButton</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-hyperamp--top-10-ways-hyperbole-amps-up-emacs--robert-weiner--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-hyperamp--top-10-ways-hyperbole-amps-up-emacs--robert-weiner--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-hyperamp--top-10-ways-hyperbole-amps-up-emacs--robert-weiner--main.json">Download --main.json (2.9MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-hyperamp--top-10-ways-hyperbole-amps-up-emacs--robert-weiner--main.opus">Download --main.opus (37MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-hyperamp--top-10-ways-hyperbole-amps-up-emacs--robert-weiner--main.vtt">Download --main.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-hyperamp--top-10-ways-hyperbole-amps-up-emacs--robert-weiner--main.webm">Download --main.webm (234MB)</a></li><li><a href="https://toobnix.org/w/4Cpb89zHKgQjob3gHUs73C">View on Toobnix</a></li><li><a href="https://www.youtube.com/watch?v=BysjfL25Nlc">View on Youtube</a></li></ul></div></div>
# Q&A
-<div class="vid"><div></div><div class="files resources"><ul><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-hyperamp--top-10-ways-hyperbole-amps-up-emacs--robert-weiner--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-hyperamp--top-10-ways-hyperbole-amps-up-emacs--robert-weiner--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-hyperamp--top-10-ways-hyperbole-amps-up-emacs--robert-weiner--main.json">Download --main.json (2.9MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-hyperamp--top-10-ways-hyperbole-amps-up-emacs--robert-weiner--main.opus">Download --main.opus (37MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-hyperamp--top-10-ways-hyperbole-amps-up-emacs--robert-weiner--main.vtt">Download --main.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-hyperamp--top-10-ways-hyperbole-amps-up-emacs--robert-weiner--main.webm">Download --main.webm (234MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-hyperamp--top-10-ways-hyperbole-amps-up-emacs--robert-weiner--pad.html">Download --pad.html</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-hyperamp--top-10-ways-hyperbole-amps-up-emacs--robert-weiner--pad.md">Download --pad.md</a></li></ul></div></div>
+<div class="vid qanda"><div></div><div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2023-hyperamp">Open Etherpad</a></li><li><a href="https://bbb.emacsverse.org/playback/presentation/2.0/playback.html?meetingId=b91c2833d3add0175ea8f55e9026f1ba6e744918-1701610376838">Play recording from BigBlueButton</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-hyperamp--top-10-ways-hyperbole-amps-up-emacs--robert-weiner--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-hyperamp--top-10-ways-hyperbole-amps-up-emacs--robert-weiner--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-hyperamp--top-10-ways-hyperbole-amps-up-emacs--robert-weiner--main.json">Download --main.json (2.9MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-hyperamp--top-10-ways-hyperbole-amps-up-emacs--robert-weiner--main.opus">Download --main.opus (37MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-hyperamp--top-10-ways-hyperbole-amps-up-emacs--robert-weiner--main.vtt">Download --main.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-hyperamp--top-10-ways-hyperbole-amps-up-emacs--robert-weiner--main.webm">Download --main.webm (234MB)</a></li></ul></div></div>
# Description
<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2023/info/hyperamp-nav.md b/2023/info/hyperamp-nav.md
index f56bde9c..f72e2832 100644
--- a/2023/info/hyperamp-nav.md
+++ b/2023/info/hyperamp-nav.md
@@ -3,5 +3,5 @@
Back to the [[talks]]
Previous by track: <a href="/2023/talks/core">Emacs core development: how it works</a>
Next by track: <a href="/2023/talks/koutline">Using Koutline for stream of thought journaling</a>
-Track: <span class="sched-track General">General</span>
+Track: <span class="sched-track General">General</span> - <strong><a href="https://emacsconf.org/2023/watch/gen">Watch</a></strong>
</div>
diff --git a/2023/info/hyperdrive-after.md b/2023/info/hyperdrive-after.md
index 8c26acc8..f93b30c5 100644
--- a/2023/info/hyperdrive-after.md
+++ b/2023/info/hyperdrive-after.md
@@ -1,8 +1,7 @@
<!-- Automatically generated by emacsconf-publish-after-page -->
-<a name="hyperdrive-mainVideo-transcript"></a>
-# Transcript
+<div class="transcript transcript-mainVideo"><a name="hyperdrive-mainVideo-transcript"></a><h1>Transcript</h1>
[[!template text="""Hello, I'm Joseph Turner.""" start="00:00:00.000" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""This talk is about hyperdrive.el,""" start="00:00:02.600" video="mainVideo-hyperdrive" id="subtitle"]]
@@ -12,9 +11,7 @@
[[!template text="""for sharing files on a peer-to-peer network.""" start="00:00:13.360" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""It's released under the Apache 2.0 license.""" start="00:00:16.500" video="mainVideo-hyperdrive" id="subtitle"]]
-[[!template new="1" text="""Hyperdrives introduction""" start="00:00:19.840" video="mainVideo-hyperdrive" id="subtitle"]]
-
-[[!template text="""Here's how it works.""" start="00:00:19.840" video="mainVideo-hyperdrive" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Hyperdrives introduction""" start="00:00:19.840" video="mainVideo-hyperdrive" id="subtitle"]]</div>[[!template text="""Here's how it works.""" start="00:00:19.840" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""To participate as a peer, you run a node,""" start="00:00:21.640" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""a lightweight local server that allows you""" start="00:00:24.581" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""to connect with other nodes on the network.""" start="00:00:27.281" video="mainVideo-hyperdrive" id="subtitle"]]
@@ -76,9 +73,7 @@
[[!template text="""of the hyperdrive when the file still existed""" start="00:02:55.067" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""or existed in a previous state.""" start="00:02:58.167" video="mainVideo-hyperdrive" id="subtitle"]]
-[[!template new="1" text="""About USHIN and the contributors""" start="00:03:04.600" video="mainVideo-hyperdrive" id="subtitle"]]
-
-[[!template text="""I'm presenting this talk on behalf of USHIN.""" start="00:03:04.600" video="mainVideo-hyperdrive" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""About USHIN and the contributors""" start="00:03:04.600" video="mainVideo-hyperdrive" id="subtitle"]]</div>[[!template text="""I'm presenting this talk on behalf of USHIN.""" start="00:03:04.600" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""USHIN is a tiny nonprofit whose mission is to""" start="00:03:07.380" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""promote personal, community and global health""" start="00:03:10.680" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""through free and open universal shared information""" start="00:03:14.032" video="mainVideo-hyperdrive" id="subtitle"]]
@@ -112,9 +107,7 @@
[[!template text="""but he created a wonderful""" start="00:04:25.000" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""basic introduction to Hyperdrive. Take a look.""" start="00:04:27.120" video="mainVideo-hyperdrive" id="subtitle"]]
-[[!template new="1" text="""Basic introduction to Hyperdrive""" start="00:04:32.646" video="mainVideo-hyperdrive" id="subtitle"]]
-
-[[!template text="""[Prot]: Hello everyone!""" start="00:04:32.646" video="mainVideo-hyperdrive" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Basic introduction to Hyperdrive""" start="00:04:32.646" video="mainVideo-hyperdrive" id="subtitle"]]</div>[[!template text="""[Prot]: Hello everyone!""" start="00:04:32.646" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""My name is Protesilaos, also known as Prot.""" start="00:04:33.586" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""In this video, I want to show you""" start="00:04:36.366" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""the basics of hyperdrive.el.""" start="00:04:37.806" video="mainVideo-hyperdrive" id="subtitle"]]
@@ -144,9 +137,7 @@
[[!template text="""I won't cover everything in that regard,""" start="00:06:00.053" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""but please bear this fact in mind.""" start="00:06:02.980" video="mainVideo-hyperdrive" id="subtitle"]]
-[[!template new="1" text="""Managing files with Hyperdrive.el""" start="00:06:06.133" video="mainVideo-hyperdrive" id="subtitle"]]
-
-[[!template text="""Let's start then with what I have here""" start="00:06:06.133" video="mainVideo-hyperdrive" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Managing files with Hyperdrive.el""" start="00:06:06.133" video="mainVideo-hyperdrive" id="subtitle"]]</div>[[!template text="""Let's start then with what I have here""" start="00:06:06.133" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""in this other tab, which is a set of files.""" start="00:06:09.213" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""I have prepared in my local file system - a hyperdrive.""" start="00:06:13.853" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""This contains a set of files""" start="00:06:18.473" video="mainVideo-hyperdrive" id="subtitle"]]
@@ -278,9 +269,7 @@
[[!template text="""This will take me to the parent directory,""" start="00:12:50.513" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""in this case, the root directory of my hyperdrive.""" start="00:12:53.173" video="mainVideo-hyperdrive" id="subtitle"]]
-[[!template new="1" text="""Dired like interface""" start="00:12:56.573" video="mainVideo-hyperdrive" id="subtitle"]]
-
-[[!template text="""Let me do it a bit differently.""" start="00:12:56.573" video="mainVideo-hyperdrive" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Dired like interface""" start="00:12:56.573" video="mainVideo-hyperdrive" id="subtitle"]]</div>[[!template text="""Let me do it a bit differently.""" start="00:12:56.573" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""The same idea, a bit differently.""" start="00:12:58.353" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""For those of you who are familiar with""" start="00:13:00.193" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""Dired and the `dired-jump` command,""" start="00:13:02.733" video="mainVideo-hyperdrive" id="subtitle"]]
@@ -325,9 +314,7 @@
[[!template text="""And then you can jump to it,""" start="00:14:55.994" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""the way bookmarks in Emacs always work.""" start="00:14:57.734" video="mainVideo-hyperdrive" id="subtitle"]]
-[[!template new="1" text="""History in hyperdrive""" start="00:15:01.234" video="mainVideo-hyperdrive" id="subtitle"]]
-
-[[!template text="""What I want to show you now""" start="00:15:01.234" video="mainVideo-hyperdrive" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""History in hyperdrive""" start="00:15:01.234" video="mainVideo-hyperdrive" id="subtitle"]]</div>[[!template text="""What I want to show you now""" start="00:15:01.234" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""a little bit is the history.""" start="00:15:02.893" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""History in Hyperdrive""" start="00:15:06.313" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""has to do with the drive itself.""" start="00:15:09.013" video="mainVideo-hyperdrive" id="subtitle"]]
@@ -376,9 +363,7 @@
[[!template text="""at that version of the hyperdrive.""" start="00:17:31.214" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""So this is the basic idea of it, folks.""" start="00:17:35.973" video="mainVideo-hyperdrive" id="subtitle"]]
-[[!template new="1" text="""Use case of sharing large files""" start="00:17:39.973" video="mainVideo-hyperdrive" id="subtitle"]]
-
-[[!template text="""What I want to do then is""" start="00:17:39.973" video="mainVideo-hyperdrive" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Use case of sharing large files""" start="00:17:39.973" video="mainVideo-hyperdrive" id="subtitle"]]</div>[[!template text="""What I want to do then is""" start="00:17:39.973" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""continue with my process here.""" start="00:17:42.234" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""Let me actually do it like this so that you can see.""" start="00:17:46.254" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""Continue with the process of""" start="00:17:51.973" video="mainVideo-hyperdrive" id="subtitle"]]
@@ -415,9 +400,7 @@
[[!template text="""That's all for today. Take care. Goodbye.""" start="00:19:13.073" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""[Joseph]: Thank you, Prot.""" start="00:19:19.461" video="mainVideo-hyperdrive" id="subtitle"]]
-[[!template new="1" text="""Drive creation with hyperdrive.el""" start="00:19:20.913" video="mainVideo-hyperdrive" id="subtitle"]]
-
-[[!template text="""Another fundamental feature of hyperdrive.el""" start="00:19:20.913" video="mainVideo-hyperdrive" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Drive creation with hyperdrive.el""" start="00:19:20.913" video="mainVideo-hyperdrive" id="subtitle"]]</div>[[!template text="""Another fundamental feature of hyperdrive.el""" start="00:19:20.913" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""is drive creation.""" start="00:19:23.980" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""The first step, as always,""" start="00:19:26.319" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""is to make sure that the gateway is running.""" start="00:19:28.339" video="mainVideo-hyperdrive" id="subtitle"]]
@@ -496,9 +479,7 @@
[[!template text="""at the top of the screen,""" start="00:23:19.459" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""I see that it's identified with the petname &quot;Prot.&quot;""" start="00:23:20.539" video="mainVideo-hyperdrive" id="subtitle"]]
-[[!template new="1" text="""hyperdrive-mirror""" start="00:23:26.199" video="mainVideo-hyperdrive" id="subtitle"]]
-
-[[!template text="""Now I'll show off `hyperdrive-mirror`.""" start="00:23:26.199" video="mainVideo-hyperdrive" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""hyperdrive-mirror""" start="00:23:26.199" video="mainVideo-hyperdrive" id="subtitle"]]</div>[[!template text="""Now I'll show off `hyperdrive-mirror`.""" start="00:23:26.199" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""`hyperdrive-mirror` is like `hyperdrive-upload-file`,""" start="00:23:28.719" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""except that it allows you to upload""" start="00:23:32.159" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""an entire directory full of files recursively.""" start="00:23:33.879" video="mainVideo-hyperdrive" id="subtitle"]]
@@ -614,9 +595,7 @@
[[!template text="""There's going to be a link to the USHIN hyperdrive""" start="00:30:00.319" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""as well as the website at the end of the video.""" start="00:30:03.019" video="mainVideo-hyperdrive" id="subtitle"]]
-[[!template new="1" text="""hyperdrive history""" start="00:30:06.819" video="mainVideo-hyperdrive" id="subtitle"]]
-
-[[!template text="""Now I'll go into a little more detail""" start="00:30:06.819" video="mainVideo-hyperdrive" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""hyperdrive history""" start="00:30:06.819" video="mainVideo-hyperdrive" id="subtitle"]]</div>[[!template text="""Now I'll go into a little more detail""" start="00:30:06.819" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""about the Hyperdrive history buffer""" start="00:30:09.079" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""by showing off the README file in Prot's hyperdrive.""" start="00:30:11.219" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""I'll press `C-c h` to open the menu,""" start="00:30:15.819" video="mainVideo-hyperdrive" id="subtitle"]]
@@ -693,9 +672,7 @@
[[!template text="""Prot changed the link to his own hyperdrive""" start="00:34:14.220" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""to be a relative link.""" start="00:34:17.340" video="mainVideo-hyperdrive" id="subtitle"]]
-[[!template new="1" text="""Streaming video from hyperdrive""" start="00:34:20.880" video="mainVideo-hyperdrive" id="subtitle"]]
-
-[[!template text="""Now, I'll stream a video from the USHIN hyperdrive""" start="00:34:20.880" video="mainVideo-hyperdrive" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Streaming video from hyperdrive""" start="00:34:20.880" video="mainVideo-hyperdrive" id="subtitle"]]</div>[[!template text="""Now, I'll stream a video from the USHIN hyperdrive""" start="00:34:20.880" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""that shows off a prototype interface we created""" start="00:34:24.300" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""for exploring networks of sources of information.""" start="00:34:27.900" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""I'll open up `hyperdrive-menu`.""" start="00:34:31.720" video="mainVideo-hyperdrive" id="subtitle"]]
@@ -711,9 +688,7 @@
[[!template text="""[Joseph]: There it is.""" start="00:35:02.500" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""Streaming a video from Hyperdrive.""" start="00:35:04.080" video="mainVideo-hyperdrive" id="subtitle"]]
-[[!template new="1" text="""hyperdrive.el under the hood""" start="00:35:08.746" video="mainVideo-hyperdrive" id="subtitle"]]
-
-[[!template text="""Here's how hyperdrive.el works under the hood.""" start="00:35:08.746" video="mainVideo-hyperdrive" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""hyperdrive.el under the hood""" start="00:35:08.746" video="mainVideo-hyperdrive" id="subtitle"]]</div>[[!template text="""Here's how hyperdrive.el works under the hood.""" start="00:35:08.746" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""It uses plz [Please],""" start="00:35:13.027" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""the HTTP library that Adam Porter wrote,""" start="00:35:14.727" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""to send requests via curl to hyper-gateway.""" start="00:35:18.080" video="mainVideo-hyperdrive" id="subtitle"]]
@@ -771,9 +746,7 @@
[[!template text="""because it's built-in, and it has some features""" start="00:38:44.941" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""that persist.el doesn't have.""" start="00:38:50.161" video="mainVideo-hyperdrive" id="subtitle"]]
-[[!template new="1" text="""Next steps""" start="00:38:57.541" video="mainVideo-hyperdrive" id="subtitle"]]
-
-[[!template text="""Thank you for listening to this talk.""" start="00:38:57.541" video="mainVideo-hyperdrive" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Next steps""" start="00:38:57.541" video="mainVideo-hyperdrive" id="subtitle"]]</div>[[!template text="""Thank you for listening to this talk.""" start="00:38:57.541" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""I hope you get a chance to try out hyperdrive.el.""" start="00:39:00.001" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""Here is a link to the hyperdrive.el manual""" start="00:39:03.681" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""in the USHIN hyperdrive.""" start="00:39:08.621" video="mainVideo-hyperdrive" id="subtitle"]]
@@ -793,12 +766,11 @@
[[!template text="""and I look forward to hearing the rest of the talks.""" start="00:39:55.161" video="mainVideo-hyperdrive" id="subtitle"]]
[[!template text="""Have a good day.""" start="00:39:57.614" video="mainVideo-hyperdrive" id="subtitle"]]
-
+</div>
Captioner: bhavin192
-<a name="hyperdrive-qanda-transcript"></a>
-# Q&A transcript (unedited)
+<div class="transcript transcript-qanda"><a name="hyperdrive-qanda-transcript"></a><h1>Q&A transcript (unedited)</h1>
[[!template text="""[Speaker 0]: I guess we are now live.""" start="00:00:12.660" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""So Joseph, thanks for being here.""" start="00:00:15.360" video="qanda-hyperdrive" id="subtitle"]]
@@ -1332,7 +1304,7 @@ Captioner: bhavin192
[[!template text="""you know, upstream how they develop it as""" start="00:28:09.920" video="qanda-hyperdrive" id="subtitle"]]
[[!template text="""well and yeah, so exciting times.""" start="00:28:14.340" video="qanda-hyperdrive" id="subtitle"]]
-Questions or comments? Please e-mail [joseph@ushin.org](mailto:joseph@ushin.org?subject=Comment%20for%20EmacsConf%202023%20hyperdrive%3A%20hyperdrive.el%3A%20Peer-to-peer%20filesystem%20in%20Emacs)
+</div>Questions or comments? Please e-mail [joseph@ushin.org](mailto:joseph@ushin.org?subject=Comment%20for%20EmacsConf%202023%20hyperdrive%3A%20hyperdrive.el%3A%20Peer-to-peer%20filesystem%20in%20Emacs)
<!-- End of emacsconf-publish-after-page -->
diff --git a/2023/info/hyperdrive-before.md b/2023/info/hyperdrive-before.md
index 944b9184..f5b9cca5 100644
--- a/2023/info/hyperdrive-before.md
+++ b/2023/info/hyperdrive-before.md
@@ -2,7 +2,7 @@
Actually a general-audience talk; just on the development track for scheduling purposes
[[!toc ]]
-Format: 41-min talk; Q&A: BigBlueButton conference room
+Format: 41-min talk ; Q&A: BigBlueButton conference room
Status: Q&A to be extracted from the room recordings
@@ -11,10 +11,25 @@ Status: Q&A to be extracted from the room recordings
# Talk
-<div class="vid"><video controls preload="none" id="hyperdrive-mainVideo"><source src="https://media.emacsconf.org/2023/emacsconf-2023-hyperdrive--hyperdriveel-peertopeer-filesystem-in-emacs--joseph-turner--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-hyperdrive--hyperdriveel-peertopeer-filesystem-in-emacs--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: 40:03 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-hyperdrive--hyperdriveel-peertopeer-filesystem-in-emacs--joseph-turner--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-hyperdrive--hyperdriveel-peertopeer-filesystem-in-emacs--joseph-turner--intro.webm">Download --intro.webm (996kB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-hyperdrive--hyperdriveel-peertopeer-filesystem-in-emacs--joseph-turner--main.opus">Download --main.opus (18MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-hyperdrive--hyperdriveel-peertopeer-filesystem-in-emacs--joseph-turner--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-hyperdrive--hyperdriveel-peertopeer-filesystem-in-emacs--joseph-turner--main.webm">Download --main.webm (149MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-hyperdrive--hyperdriveel-peertopeer-filesystem-in-emacs--joseph-turner--pad.html">Download --pad.html</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-hyperdrive--hyperdriveel-peertopeer-filesystem-in-emacs--joseph-turner--pad.md">Download --pad.md</a></li><li><a href="https://toobnix.org/w/9wLA55XACiGnS3nNBNwsV5">View on Toobnix</a></li></ul></div></div>
+<div class="vid mainVideo"><video controls preload="none" id="mainVideo-hyperdrive"><source src="https://media.emacsconf.org/2023/emacsconf-2023-hyperdrive--hyperdriveel-peertopeer-filesystem-in-emacs--joseph-turner--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-hyperdrive--hyperdriveel-peertopeer-filesystem-in-emacs--joseph-turner--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2023/captions/emacsconf-2023-hyperdrive--hyperdriveel-peertopeer-filesystem-in-emacs--joseph-turner--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-hyperdrive" data="""
+00:19.840 Hyperdrives introduction
+03:04.600 About USHIN and the contributors
+04:32.646 Basic introduction to Hyperdrive
+06:06.133 Managing files with Hyperdrive.el
+12:56.573 Dired like interface
+15:01.234 History in hyperdrive
+17:39.973 Use case of sharing large files
+19:20.913 Drive creation with hyperdrive.el
+23:26.199 hyperdrive-mirror
+30:06.819 hyperdrive history
+34:20.880 Streaming video from hyperdrive
+35:08.746 hyperdrive.el under the hood
+38:57.541 Next steps
+
+"""]]<div></div>Duration: 40:03 minutes<div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2023-hyperdrive">Open Etherpad</a></li><li><a href="https://bbb.emacsverse.org/playback/presentation/2.0/playback.html?meetingId=c241079bd42ae794ee15bbe2b1d3f3670e4247a8-1701629401873">Play recording from BigBlueButton</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-hyperdrive--hyperdriveel-peertopeer-filesystem-in-emacs--joseph-turner--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-hyperdrive--hyperdriveel-peertopeer-filesystem-in-emacs--joseph-turner--intro.webm">Download --intro.webm (996kB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-hyperdrive--hyperdriveel-peertopeer-filesystem-in-emacs--joseph-turner--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-hyperdrive--hyperdriveel-peertopeer-filesystem-in-emacs--joseph-turner--main.opus">Download --main.opus (18MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-hyperdrive--hyperdriveel-peertopeer-filesystem-in-emacs--joseph-turner--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-hyperdrive--hyperdriveel-peertopeer-filesystem-in-emacs--joseph-turner--main.webm">Download --main.webm (149MB)</a></li><li><a href="https://toobnix.org/w/9wLA55XACiGnS3nNBNwsV5">View on Toobnix</a></li><li><a href="https://www.youtube.com/watch?v=OOA9rs5qteU">View on Youtube</a></li></ul></div></div>
# Q&A
-<div class="vid"><video controls preload="none" id="hyperdrive-qanda"><source src="https://media.emacsconf.org/2023/emacsconf-2023-hyperdrive--hyperdriveel-peertopeer-filesystem-in-emacs--joseph-turner--answers.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-hyperdrive--hyperdriveel-peertopeer-filesystem-in-emacs--joseph-turner--answers.vtt" default />"""<p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video><div>Listen to just the audio:<br /><audio controls preload="none" id="hyperdrive-qanda-audio" src="https://media.emacsconf.org/2023/emacsconf-2023-hyperdrive--hyperdriveel-peertopeer-filesystem-in-emacs--joseph-turner--answers.opus"></audio></div><div></div>Duration: 28:15 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-hyperdrive--hyperdriveel-peertopeer-filesystem-in-emacs--joseph-turner--answers.json">Download --answers.json (1.1MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-hyperdrive--hyperdriveel-peertopeer-filesystem-in-emacs--joseph-turner--answers.opus">Download --answers.opus (9MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-hyperdrive--hyperdriveel-peertopeer-filesystem-in-emacs--joseph-turner--answers.vtt">Download --answers.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-hyperdrive--hyperdriveel-peertopeer-filesystem-in-emacs--joseph-turner--answers.webm">Download --answers.webm (48MB)</a></li></ul></div></div>
+<div class="vid qanda"><video controls preload="none" id="qanda-hyperdrive"><source src="https://media.emacsconf.org/2023/emacsconf-2023-hyperdrive--hyperdriveel-peertopeer-filesystem-in-emacs--joseph-turner--answers.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-hyperdrive--hyperdriveel-peertopeer-filesystem-in-emacs--joseph-turner--answers.vtt" default />"""<p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video><div>Listen to just the audio:<br /><audio controls preload="none" id="qanda-hyperdrive-audio" src="https://media.emacsconf.org/2023/emacsconf-2023-hyperdrive--hyperdriveel-peertopeer-filesystem-in-emacs--joseph-turner--answers.opus"></audio></div><div></div>Duration: 28:15 minutes<div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2023-hyperdrive">Open Etherpad</a></li><li><a href="https://bbb.emacsverse.org/playback/presentation/2.0/playback.html?meetingId=c241079bd42ae794ee15bbe2b1d3f3670e4247a8-1701629401873">Play recording from BigBlueButton</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-hyperdrive--hyperdriveel-peertopeer-filesystem-in-emacs--joseph-turner--answers.json">Download --answers.json (1.1MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-hyperdrive--hyperdriveel-peertopeer-filesystem-in-emacs--joseph-turner--answers.opus">Download --answers.opus (9MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-hyperdrive--hyperdriveel-peertopeer-filesystem-in-emacs--joseph-turner--answers.vtt">Download --answers.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-hyperdrive--hyperdriveel-peertopeer-filesystem-in-emacs--joseph-turner--answers.webm">Download --answers.webm (48MB)</a></li></ul></div></div>
# Description
<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2023/info/hyperdrive-nav.md b/2023/info/hyperdrive-nav.md
index 9634dd75..f8521281 100644
--- a/2023/info/hyperdrive-nav.md
+++ b/2023/info/hyperdrive-nav.md
@@ -3,5 +3,5 @@
Back to the [[talks]]
Previous by track: <a href="/2023/talks/gc">emacs-gc-stats: Does garbage collection actually slow down Emacs?</a>
Next by track: <a href="/2023/talks/lspocaml">Writing a language server in OCaml for Emacs, fun, and profit</a>
-Track: <span class="sched-track Development">Development</span>
+Track: <span class="sched-track Development">Development</span> - <strong><a href="https://emacsconf.org/2023/watch/dev">Watch</a></strong>
</div>
diff --git a/2023/info/koutline-after.md b/2023/info/koutline-after.md
index a48d8b9d..ea86bfa9 100644
--- a/2023/info/koutline-after.md
+++ b/2023/info/koutline-after.md
@@ -1,8 +1,7 @@
<!-- Automatically generated by emacsconf-publish-after-page -->
-<a name="koutline-mainVideo-transcript"></a>
-# Transcript (unedited)
+<div class="transcript transcript-mainVideo"><a name="koutline-mainVideo-transcript"></a><h1>Transcript (unedited)</h1>
[[!template text="""Today I will share a nice workflow I have""" start="00:00:03.340" video="mainVideo-koutline" id="subtitle"]]
[[!template text="""developed for stream of consciousness""" start="00:00:04.400" video="mainVideo-koutline" id="subtitle"]]
@@ -122,7 +121,7 @@
[[!template text="""will reliably fix itself to the center when""" start="00:06:33.420" video="mainVideo-koutline" id="subtitle"]]
[[!template text="""the cursor position is not there.""" start="00:06:36.280" video="mainVideo-koutline" id="subtitle"]]
-Questions or comments? Please e-mail [plasmastrike@voiddragon.me](mailto:plasmastrike@voiddragon.me?subject=Comment%20for%20EmacsConf%202023%20koutline%3A%20Using%20Koutline%20for%20stream%20of%20thought%20journaling)
+</div>Questions or comments? Please e-mail [plasmastrike@voiddragon.me](mailto:plasmastrike@voiddragon.me?subject=Comment%20for%20EmacsConf%202023%20koutline%3A%20Using%20Koutline%20for%20stream%20of%20thought%20journaling)
<!-- End of emacsconf-publish-after-page -->
diff --git a/2023/info/koutline-before.md b/2023/info/koutline-before.md
index f6b7cc81..07f01166 100644
--- a/2023/info/koutline-before.md
+++ b/2023/info/koutline-before.md
@@ -1,12 +1,12 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
[[!toc ]]
-Format: 7-min talk; Q&A: BigBlueButton conference room
+Format: 7-min talk ; Q&A: BigBlueButton conference room
Status: Q&A to be extracted from the room recordings
-<div class="vid"><video controls preload="none" id="koutline-mainVideo"><source src="https://media.emacsconf.org/2023/emacsconf-2023-koutline--using-koutline-for-stream-of-thought-journaling--matthew-jorgensen-plasmastrike--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-koutline--using-koutline-for-stream-of-thought-journaling--matthew-jorgensen-plasmastrike--main.vtt" default />"""<p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video><div></div>Duration: 06:44 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-koutline--using-koutline-for-stream-of-thought-journaling--matthew-jorgensen-plasmastrike--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-koutline--using-koutline-for-stream-of-thought-journaling--matthew-jorgensen-plasmastrike--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-koutline--using-koutline-for-stream-of-thought-journaling--matthew-jorgensen-plasmastrike--main.json">Download --main.json</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-koutline--using-koutline-for-stream-of-thought-journaling--matthew-jorgensen-plasmastrike--main.opus">Download --main.opus (4.5MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-koutline--using-koutline-for-stream-of-thought-journaling--matthew-jorgensen-plasmastrike--main.vtt">Download --main.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-koutline--using-koutline-for-stream-of-thought-journaling--matthew-jorgensen-plasmastrike--main.webm">Download --main.webm (23MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-koutline--using-koutline-for-stream-of-thought-journaling--matthew-jorgensen-plasmastrike--pad.html">Download --pad.html</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-koutline--using-koutline-for-stream-of-thought-journaling--matthew-jorgensen-plasmastrike--pad.md">Download --pad.md</a></li><li><a href="https://toobnix.org/w/vV7qtK176DVE6RLXrZ18Ee">View on Toobnix</a></li></ul></div></div>
+<div class="vid mainVideo"><video controls preload="none" id="mainVideo-koutline"><source src="https://media.emacsconf.org/2023/emacsconf-2023-koutline--using-koutline-for-stream-of-thought-journaling--matthew-jorgensen-plasmastrike--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-koutline--using-koutline-for-stream-of-thought-journaling--matthew-jorgensen-plasmastrike--main.vtt" default />"""<p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video><div></div>Duration: 06:44 minutes<div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2023-koutline">Open Etherpad</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-koutline--using-koutline-for-stream-of-thought-journaling--matthew-jorgensen-plasmastrike--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-koutline--using-koutline-for-stream-of-thought-journaling--matthew-jorgensen-plasmastrike--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-koutline--using-koutline-for-stream-of-thought-journaling--matthew-jorgensen-plasmastrike--main.json">Download --main.json</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-koutline--using-koutline-for-stream-of-thought-journaling--matthew-jorgensen-plasmastrike--main.opus">Download --main.opus (4.5MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-koutline--using-koutline-for-stream-of-thought-journaling--matthew-jorgensen-plasmastrike--main.vtt">Download --main.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-koutline--using-koutline-for-stream-of-thought-journaling--matthew-jorgensen-plasmastrike--main.webm">Download --main.webm (23MB)</a></li><li><a href="https://toobnix.org/w/vV7qtK176DVE6RLXrZ18Ee">View on Toobnix</a></li><li><a href="https://www.youtube.com/watch?v=dO-gv898Vmg">View on Youtube</a></li></ul></div></div>
# Description
<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2023/info/koutline-nav.md b/2023/info/koutline-nav.md
index 247cf825..6a814ef9 100644
--- a/2023/info/koutline-nav.md
+++ b/2023/info/koutline-nav.md
@@ -3,5 +3,5 @@
Back to the [[talks]]
Previous by track: <a href="/2023/talks/hyperamp">Top 10 ways Hyperbole amps up Emacs</a>
Next by track: <a href="/2023/talks/parallel">Parallel text replacement</a>
-Track: <span class="sched-track General">General</span>
+Track: <span class="sched-track General">General</span> - <strong><a href="https://emacsconf.org/2023/watch/gen">Watch</a></strong>
</div>
diff --git a/2023/info/llm-after.md b/2023/info/llm-after.md
index 5a020a0b..506f010d 100644
--- a/2023/info/llm-after.md
+++ b/2023/info/llm-after.md
@@ -1,13 +1,10 @@
<!-- Automatically generated by emacsconf-publish-after-page -->
-<a name="llm-mainVideo-transcript"></a>
-# Transcript
+<div class="transcript transcript-mainVideo"><a name="llm-mainVideo-transcript"></a><h1>Transcript</h1>
-[[!template new="1" text="""Intro to the Talk""" start="00:00:00.000" video="mainVideo-llm" id="subtitle"]]
-
-[[!template text="""Hello, I'm Andrew Hyatt and I'm going to talk to you""" start="00:00:00.000" video="mainVideo-llm" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Intro to the Talk""" start="00:00:00.000" video="mainVideo-llm" id="subtitle"]]</div>[[!template text="""Hello, I'm Andrew Hyatt and I'm going to talk to you""" start="00:00:00.000" video="mainVideo-llm" id="subtitle"]]
[[!template text="""about large language models and how""" start="00:00:04.160" video="mainVideo-llm" id="subtitle"]]
[[!template text="""they relate to Emacs.""" start="00:00:06.440" video="mainVideo-llm" id="subtitle"]]
[[!template text="""And I'm going to talk to you about the technology""" start="00:00:11.080" video="mainVideo-llm" id="subtitle"]]
@@ -16,9 +13,7 @@
[[!template text="""I'll finish up by kind of talking about where""" start="00:00:21.160" video="mainVideo-llm" id="subtitle"]]
[[!template text="""I think this should go in the future.""" start="00:00:22.880" video="mainVideo-llm" id="subtitle"]]
-[[!template new="1" text="""What are LLMs?""" start="00:00:25.080" video="mainVideo-llm" id="subtitle"]]
-
-[[!template text="""So to start off with, let's just talk like,""" start="00:00:25.080" video="mainVideo-llm" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""What are LLMs?""" start="00:00:25.080" video="mainVideo-llm" id="subtitle"]]</div>[[!template text="""So to start off with, let's just talk like,""" start="00:00:25.080" video="mainVideo-llm" id="subtitle"]]
[[!template text="""I just want to make sure everyone's on the same page.""" start="00:00:28.240" video="mainVideo-llm" id="subtitle"]]
[[!template text="""What are large language models?""" start="00:00:29.760" video="mainVideo-llm" id="subtitle"]]
[[!template text="""Not everyone may be caught up on this.""" start="00:00:30.920" video="mainVideo-llm" id="subtitle"]]
@@ -51,9 +46,7 @@
[[!template text="""probably in my lifetime,""" start="00:01:49.080" video="mainVideo-llm" id="subtitle"]]
[[!template text="""or at least my lifetime as my working lifetime.""" start="00:01:51.560" video="mainVideo-llm" id="subtitle"]]
-[[!template new="1" text="""Power of LLMs (Magit Demo)""" start="00:01:56.360" video="mainVideo-llm" id="subtitle"]]
-
-[[!template text="""So let me give you a demonstration of""" start="00:01:56.360" video="mainVideo-llm" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Power of LLMs (Magit Demo)""" start="00:01:56.360" video="mainVideo-llm" id="subtitle"]]</div>[[!template text="""So let me give you a demonstration of""" start="00:01:56.360" video="mainVideo-llm" id="subtitle"]]
[[!template text="""what kinds of stuff it could do in Emacs.""" start="00:02:02.560" video="mainVideo-llm" id="subtitle"]]
[[!template text="""So here I have a Emacs file.""" start="00:02:06.680" video="mainVideo-llm" id="subtitle"]]
[[!template text="""So this is my Emacs init file.""" start="00:02:09.040" video="mainVideo-llm" id="subtitle"]]
@@ -87,9 +80,7 @@
[[!template text="""understanding something and outputting text based on that,""" start="00:03:27.760" video="mainVideo-llm" id="subtitle"]]
[[!template text="""which is just useful for Emacs.""" start="00:03:30.320" video="mainVideo-llm" id="subtitle"]]
-[[!template new="1" text="""Drawbacks of LLMs (regex demo)""" start="00:03:32.240" video="mainVideo-llm" id="subtitle"]]
-
-[[!template text="""So the drawback is, yeah, it's good,""" start="00:03:32.240" video="mainVideo-llm" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Drawbacks of LLMs (regex demo)""" start="00:03:32.240" video="mainVideo-llm" id="subtitle"]]</div>[[!template text="""So the drawback is, yeah, it's good,""" start="00:03:32.240" video="mainVideo-llm" id="subtitle"]]
[[!template text="""but it's not that reliable.""" start="00:03:39.920" video="mainVideo-llm" id="subtitle"]]
[[!template text="""And you'd think it's very easy to get caught up in like,""" start="00:03:43.360" video="mainVideo-llm" id="subtitle"]]
[[!template text="""oh my gosh, like this is so powerful.""" start="00:03:45.680" video="mainVideo-llm" id="subtitle"]]
@@ -130,9 +121,7 @@
[[!template text="""that is repeatably, that's, that is always good.""" start="00:05:09.000" video="mainVideo-llm" id="subtitle"]]
[[!template text="""So yeah, that's currently the problem.""" start="00:05:13.880" video="mainVideo-llm" id="subtitle"]]
-[[!template new="1" text="""Embeddings""" start="00:05:20.120" video="mainVideo-llm" id="subtitle"]]
-
-[[!template text="""So I want to talk about embeddings.""" start="00:05:20.120" video="mainVideo-llm" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Embeddings""" start="00:05:20.120" video="mainVideo-llm" id="subtitle"]]</div>[[!template text="""So I want to talk about embeddings.""" start="00:05:20.120" video="mainVideo-llm" id="subtitle"]]
[[!template text="""They're another thing that LLMs offer""" start="00:05:23.400" video="mainVideo-llm" id="subtitle"]]
[[!template text="""and that are extremely useful.""" start="00:05:26.920" video="mainVideo-llm" id="subtitle"]]
[[!template text="""They are, what they do is they encode from""" start="00:05:28.600" video="mainVideo-llm" id="subtitle"]]
@@ -181,9 +170,7 @@
[[!template text="""So no one has done this yet,""" start="00:07:28.720" video="mainVideo-llm" id="subtitle"]]
[[!template text="""but that should not be hard to do.""" start="00:07:30.000" video="mainVideo-llm" id="subtitle"]]
-[[!template new="1" text="""Image Generation""" start="00:07:32.800" video="mainVideo-llm" id="subtitle"]]
-
-[[!template text="""Image generation is something that's, you know,""" start="00:07:32.800" video="mainVideo-llm" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Image Generation""" start="00:07:32.800" video="mainVideo-llm" id="subtitle"]]</div>[[!template text="""Image generation is something that's, you know,""" start="00:07:32.800" video="mainVideo-llm" id="subtitle"]]
[[!template text="""it's not quite an LLM in the sense of...""" start="00:07:34.880" video="mainVideo-llm" id="subtitle"]]
[[!template text="""These are... It's a different technology,""" start="00:07:38.480" video="mainVideo-llm" id="subtitle"]]
[[!template text="""but these things are kind of packaged together""" start="00:07:43.080" video="mainVideo-llm" id="subtitle"]]
@@ -212,9 +199,7 @@
[[!template text="""but instead of outputting a text,""" start="00:08:43.360" video="mainVideo-llm" id="subtitle"]]
[[!template text="""you're outputting a picture.""" start="00:08:44.800" video="mainVideo-llm" id="subtitle"]]
-[[!template new="1" text="""Fine-tuning""" start="00:08:48.480" video="mainVideo-llm" id="subtitle"]]
-
-[[!template text="""There's also, I want to mention the concept of fine-tuning.""" start="00:08:48.480" video="mainVideo-llm" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Fine-tuning""" start="00:08:48.480" video="mainVideo-llm" id="subtitle"]]</div>[[!template text="""There's also, I want to mention the concept of fine-tuning.""" start="00:08:48.480" video="mainVideo-llm" id="subtitle"]]
[[!template text="""Fine-tuning is a way to take your--""" start="00:08:51.080" video="mainVideo-llm" id="subtitle"]]
[[!template text="""take a corpus of inputs and outputs and just from""" start="00:08:55.200" video="mainVideo-llm" id="subtitle"]]
[[!template text="""a large language model, you're like, okay,""" start="00:08:59.760" video="mainVideo-llm" id="subtitle"]]
@@ -267,9 +252,7 @@
[[!template text="""to do the correct calculations.""" start="00:10:59.600" video="mainVideo-llm" id="subtitle"]]
[[!template text="""So pretty, pretty useful stuff.""" start="00:11:01.040" video="mainVideo-llm" id="subtitle"]]
-[[!template new="1" text="""Open Source""" start="00:11:08.160" video="mainVideo-llm" id="subtitle"]]
-
-[[!template text="""So I also want to mention open source""" start="00:11:08.160" video="mainVideo-llm" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Open Source""" start="00:11:08.160" video="mainVideo-llm" id="subtitle"]]</div>[[!template text="""So I also want to mention open source""" start="00:11:08.160" video="mainVideo-llm" id="subtitle"]]
[[!template text="""and basically free software here.""" start="00:11:10.400" video="mainVideo-llm" id="subtitle"]]
[[!template text="""These LLMs are mostly not free software.""" start="00:11:12.680" video="mainVideo-llm" id="subtitle"]]
[[!template text="""They're sometimes open source,""" start="00:11:17.600" video="mainVideo-llm" id="subtitle"]]
@@ -291,9 +274,7 @@
[[!template text="""They're just not as good yet.""" start="00:11:58.000" video="mainVideo-llm" id="subtitle"]]
[[!template text="""And I think that might change in the future.""" start="00:11:59.520" video="mainVideo-llm" id="subtitle"]]
-[[!template new="1" text="""The Future""" start="00:12:02.840" video="mainVideo-llm" id="subtitle"]]
-
-[[!template text="""So speaking of the future,""" start="00:12:02.840" video="mainVideo-llm" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""The Future""" start="00:12:02.840" video="mainVideo-llm" id="subtitle"]]</div>[[!template text="""So speaking of the future,""" start="00:12:02.840" video="mainVideo-llm" id="subtitle"]]
[[!template text="""one of the things I'd like to point out""" start="00:12:04.120" video="mainVideo-llm" id="subtitle"]]
[[!template text="""is that like the demos I showed you are based on,""" start="00:12:07.520" video="mainVideo-llm" id="subtitle"]]
[[!template text="""I'm using OpenAI 3.5 model.""" start="00:12:09.640" video="mainVideo-llm" id="subtitle"]]
@@ -342,9 +323,7 @@
[[!template text="""I think this is why we should be""" start="00:14:01.240" video="mainVideo-llm" id="subtitle"]]
[[!template text="""paying attention to this stuff.""" start="00:14:02.280" video="mainVideo-llm" id="subtitle"]]
-[[!template new="1" text="""LLMs in Emacs - existing packages""" start="00:14:08.200" video="mainVideo-llm" id="subtitle"]]
-
-[[!template text="""Let's talk about the existing packages.""" start="00:14:08.200" video="mainVideo-llm" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""LLMs in Emacs - existing packages""" start="00:14:08.200" video="mainVideo-llm" id="subtitle"]]</div>[[!template text="""Let's talk about the existing packages.""" start="00:14:08.200" video="mainVideo-llm" id="subtitle"]]
[[!template text="""Because there's a lot out there, people have,""" start="00:14:11.040" video="mainVideo-llm" id="subtitle"]]
[[!template text="""I think people have been integrating with""" start="00:14:13.200" video="mainVideo-llm" id="subtitle"]]
[[!template text="""these LLMs that often have a relatively easy to use API.""" start="00:14:17.040" video="mainVideo-llm" id="subtitle"]]
@@ -432,9 +411,7 @@
[[!template text="""It's really just there as a library""" start="00:18:09.880" video="mainVideo-llm" id="subtitle"]]
[[!template text="""to use by other things offering functionality. Okay.""" start="00:18:11.720" video="mainVideo-llm" id="subtitle"]]
-[[!template new="1" text="""Abstracting LLM challenges""" start="00:18:15.960" video="mainVideo-llm" id="subtitle"]]
-
-[[!template text="""And it's a little bit difficult to abstract.""" start="00:18:15.960" video="mainVideo-llm" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Abstracting LLM challenges""" start="00:18:15.960" video="mainVideo-llm" id="subtitle"]]</div>[[!template text="""And it's a little bit difficult to abstract.""" start="00:18:15.960" video="mainVideo-llm" id="subtitle"]]
[[!template text="""I want to point this out""" start="00:18:19.840" video="mainVideo-llm" id="subtitle"]]
[[!template text="""because I think it's an important point""" start="00:18:21.160" video="mainVideo-llm" id="subtitle"]]
[[!template text="""is that the, it's, some of these LLMs, for example,""" start="00:18:23.600" video="mainVideo-llm" id="subtitle"]]
@@ -455,9 +432,7 @@
[[!template text="""So it's compatible, but there's definitely""" start="00:18:57.521" video="mainVideo-llm" id="subtitle"]]
[[!template text="""limits to that compatibility.""" start="00:19:02.161" video="mainVideo-llm" id="subtitle"]]
-[[!template new="1" text="""Emacs is the ideal interface for LLMs""" start="00:19:04.080" video="mainVideo-llm" id="subtitle"]]
-
-[[!template text="""I want to point out just to finish off,""" start="00:19:04.080" video="mainVideo-llm" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Emacs is the ideal interface for LLMs""" start="00:19:04.080" video="mainVideo-llm" id="subtitle"]]</div>[[!template text="""I want to point out just to finish off,""" start="00:19:04.080" video="mainVideo-llm" id="subtitle"]]
[[!template text="""Emacs is the, Emacs has real power here""" start="00:19:06.161" video="mainVideo-llm" id="subtitle"]]
[[!template text="""that nothing else I think in the industry is offering.""" start="00:19:12.880" video="mainVideo-llm" id="subtitle"]]
[[!template text="""First of all, people that use Emacs""" start="00:19:15.680" video="mainVideo-llm" id="subtitle"]]
@@ -483,9 +458,7 @@
[[!template text="""as your agent in the editor.""" start="00:19:57.080" video="mainVideo-llm" id="subtitle"]]
[[!template text="""I think we need to explore ideas like this.""" start="00:19:58.680" video="mainVideo-llm" id="subtitle"]]
-[[!template new="1" text="""Outro""" start="00:20:01.960" video="mainVideo-llm" id="subtitle"]]
-
-[[!template text="""And I think we need to share these ideas""" start="00:20:01.960" video="mainVideo-llm" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Outro""" start="00:20:01.960" video="mainVideo-llm" id="subtitle"]]</div>[[!template text="""And I think we need to share these ideas""" start="00:20:01.960" video="mainVideo-llm" id="subtitle"]]
[[!template text="""and we need to make sure that we're pushing the""" start="00:20:04.280" video="mainVideo-llm" id="subtitle"]]
[[!template text="""envelope for Emacs and actually, you know, doing things,""" start="00:20:07.040" video="mainVideo-llm" id="subtitle"]]
[[!template text="""sharing ideas, sharing progress,""" start="00:20:10.520" video="mainVideo-llm" id="subtitle"]]
@@ -494,12 +467,11 @@
[[!template text="""take advantage of this super powerful technique.""" start="00:20:20.640" video="mainVideo-llm" id="subtitle"]]
[[!template text="""Thank you for listening.""" start="00:20:24.520" video="mainVideo-llm" id="subtitle"]]
-
+</div>
Captioner: bala
-<a name="llm-qanda-transcript"></a>
-# Q&A transcript (unedited)
+<div class="transcript transcript-qanda"><a name="llm-qanda-transcript"></a><h1>Q&A transcript (unedited)</h1>
[[!template text="""[Speaker 0]: Okay. Hello, everyone.""" start="00:00:13.099" video="qanda-llm" id="subtitle"]]
[[!template text="""I think this is the start of the Q&A session.""" start="00:00:16.560" video="qanda-llm" id="subtitle"]]
@@ -1138,7 +1110,7 @@ Captioner: bala
[[!template text="""So thank""" start="00:28:19.620" video="qanda-llm" id="subtitle"]]
[[!template text="""you""" start="00:28:30.060" video="qanda-llm" id="subtitle"]]
-Questions or comments? Please e-mail [ahyatt@gmail.com](mailto:ahyatt@gmail.com?subject=Comment%20for%20EmacsConf%202023%20llm%3A%20LLM%20clients%20in%20Emacs%2C%20functionality%20and%20standardization)
+</div>Questions or comments? Please e-mail [ahyatt@gmail.com](mailto:ahyatt@gmail.com?subject=Comment%20for%20EmacsConf%202023%20llm%3A%20LLM%20clients%20in%20Emacs%2C%20functionality%20and%20standardization)
<!-- End of emacsconf-publish-after-page -->
diff --git a/2023/info/llm-before.md b/2023/info/llm-before.md
index 2371bd44..5ec20c14 100644
--- a/2023/info/llm-before.md
+++ b/2023/info/llm-before.md
@@ -1,6 +1,6 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
[[!toc ]]
-Format: 21-min talk; Q&A: BigBlueButton conference room
+Format: 21-min talk ; Q&A: BigBlueButton conference room
Status: Q&A to be extracted from the room recordings
@@ -9,7 +9,7 @@ Status: Q&A to be extracted from the room recordings
# Talk
-<div class="vid"><video controls preload="none" id="llm-mainVideo"><source src="https://media.emacsconf.org/2023/emacsconf-2023-llm--llm-clients-in-emacs-functionality-and-standardization--andrew-hyatt--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-llm--llm-clients-in-emacs-functionality-and-standardization--andrew-hyatt--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2023/captions/emacsconf-2023-llm--llm-clients-in-emacs-functionality-and-standardization--andrew-hyatt--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="llm-mainVideo" data="""
+<div class="vid mainVideo"><video controls preload="none" id="mainVideo-llm"><source src="https://media.emacsconf.org/2023/emacsconf-2023-llm--llm-clients-in-emacs-functionality-and-standardization--andrew-hyatt--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-llm--llm-clients-in-emacs-functionality-and-standardization--andrew-hyatt--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2023/captions/emacsconf-2023-llm--llm-clients-in-emacs-functionality-and-standardization--andrew-hyatt--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-llm" data="""
00:00.000 Intro to the Talk
00:25.080 What are LLMs?
01:56.360 Power of LLMs (Magit Demo)
@@ -24,10 +24,10 @@ Status: Q&A to be extracted from the room recordings
19:04.080 Emacs is the ideal interface for LLMs
20:01.960 Outro
-"""]]<div></div>Duration: 20:26 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-llm--llm-clients-in-emacs-functionality-and-standardization--andrew-hyatt--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-llm--llm-clients-in-emacs-functionality-and-standardization--andrew-hyatt--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-llm--llm-clients-in-emacs-functionality-and-standardization--andrew-hyatt--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-llm--llm-clients-in-emacs-functionality-and-standardization--andrew-hyatt--main.opus">Download --main.opus (12MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-llm--llm-clients-in-emacs-functionality-and-standardization--andrew-hyatt--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-llm--llm-clients-in-emacs-functionality-and-standardization--andrew-hyatt--main.webm">Download --main.webm (50MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-llm--llm-clients-in-emacs-functionality-and-standardization--andrew-hyatt--pad.html">Download --pad.html</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-llm--llm-clients-in-emacs-functionality-and-standardization--andrew-hyatt--pad.md">Download --pad.md</a></li><li><a href="https://toobnix.org/w/ck1LWXvRiAGNLWFA8s4Ymi">View on Toobnix</a></li></ul></div></div>
+"""]]<div></div>Duration: 20:26 minutes<div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2023-llm">Open Etherpad</a></li><li><a href="https://bbb.emacsverse.org/playback/presentation/2.0/playback.html?meetingId=1d02948a0834c0b349de5931bf9535b534b39d27-1701533045559">Play recording from BigBlueButton</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-llm--llm-clients-in-emacs-functionality-and-standardization--andrew-hyatt--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-llm--llm-clients-in-emacs-functionality-and-standardization--andrew-hyatt--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-llm--llm-clients-in-emacs-functionality-and-standardization--andrew-hyatt--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-llm--llm-clients-in-emacs-functionality-and-standardization--andrew-hyatt--main.opus">Download --main.opus (12MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-llm--llm-clients-in-emacs-functionality-and-standardization--andrew-hyatt--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-llm--llm-clients-in-emacs-functionality-and-standardization--andrew-hyatt--main.webm">Download --main.webm (50MB)</a></li><li><a href="https://toobnix.org/w/ck1LWXvRiAGNLWFA8s4Ymi">View on Toobnix</a></li><li><a href="https://www.youtube.com/watch?v=HN3Y75D4tEs">View on Youtube</a></li></ul></div></div>
# Q&A
-<div class="vid"><video controls preload="none" id="llm-qanda"><source src="https://media.emacsconf.org/2023/emacsconf-2023-llm--llm-clients-in-emacs-functionality-and-standardization--andrew-hyatt--answers.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-llm--llm-clients-in-emacs-functionality-and-standardization--andrew-hyatt--answers.vtt" default />"""<p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video><div>Listen to just the audio:<br /><audio controls preload="none" id="llm-qanda-audio" src="https://media.emacsconf.org/2023/emacsconf-2023-llm--llm-clients-in-emacs-functionality-and-standardization--andrew-hyatt--answers.opus"></audio></div><div></div>Duration: 28:32 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-llm--llm-clients-in-emacs-functionality-and-standardization--andrew-hyatt--answers.json">Download --answers.json (1.3MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-llm--llm-clients-in-emacs-functionality-and-standardization--andrew-hyatt--answers.opus">Download --answers.opus (17MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-llm--llm-clients-in-emacs-functionality-and-standardization--andrew-hyatt--answers.vtt">Download --answers.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-llm--llm-clients-in-emacs-functionality-and-standardization--andrew-hyatt--answers.webm">Download --answers.webm (46MB)</a></li></ul></div></div>
+<div class="vid qanda"><video controls preload="none" id="qanda-llm"><source src="https://media.emacsconf.org/2023/emacsconf-2023-llm--llm-clients-in-emacs-functionality-and-standardization--andrew-hyatt--answers.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-llm--llm-clients-in-emacs-functionality-and-standardization--andrew-hyatt--answers.vtt" default />"""<p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video><div>Listen to just the audio:<br /><audio controls preload="none" id="qanda-llm-audio" src="https://media.emacsconf.org/2023/emacsconf-2023-llm--llm-clients-in-emacs-functionality-and-standardization--andrew-hyatt--answers.opus"></audio></div><div></div>Duration: 28:32 minutes<div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2023-llm">Open Etherpad</a></li><li><a href="https://bbb.emacsverse.org/playback/presentation/2.0/playback.html?meetingId=1d02948a0834c0b349de5931bf9535b534b39d27-1701533045559">Play recording from BigBlueButton</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-llm--llm-clients-in-emacs-functionality-and-standardization--andrew-hyatt--answers.json">Download --answers.json (1.3MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-llm--llm-clients-in-emacs-functionality-and-standardization--andrew-hyatt--answers.opus">Download --answers.opus (17MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-llm--llm-clients-in-emacs-functionality-and-standardization--andrew-hyatt--answers.vtt">Download --answers.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-llm--llm-clients-in-emacs-functionality-and-standardization--andrew-hyatt--answers.webm">Download --answers.webm (46MB)</a></li></ul></div></div>
# Description
<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2023/info/llm-nav.md b/2023/info/llm-nav.md
index 13555b70..92173270 100644
--- a/2023/info/llm-nav.md
+++ b/2023/info/llm-nav.md
@@ -3,5 +3,5 @@
Back to the [[talks]]
Previous by track: <a href="/2023/talks/voice">Enhancing productivity with voice computing</a>
Next by track: <a href="/2023/talks/overlay">Improving compiler diagnostics with overlays</a>
-Track: <span class="sched-track Development">Development</span>
+Track: <span class="sched-track Development">Development</span> - <strong><a href="https://emacsconf.org/2023/watch/dev">Watch</a></strong>
</div>
diff --git a/2023/info/lspocaml-after.md b/2023/info/lspocaml-after.md
index 56d6ba54..bc5bdc22 100644
--- a/2023/info/lspocaml-after.md
+++ b/2023/info/lspocaml-after.md
@@ -1,13 +1,10 @@
<!-- Automatically generated by emacsconf-publish-after-page -->
-<a name="lspocaml-mainVideo-transcript"></a>
-# Transcript
+<div class="transcript transcript-mainVideo"><a name="lspocaml-mainVideo-transcript"></a><h1>Transcript</h1>
-[[!template new="1" text="""Introduction""" start="00:00:00.000" video="mainVideo-lspocaml" id="subtitle"]]
-
-[[!template text="""Hi, I'm Austin Theriault,""" start="00:00:00.000" video="mainVideo-lspocaml" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Introduction""" start="00:00:00.000" video="mainVideo-lspocaml" id="subtitle"]]</div>[[!template text="""Hi, I'm Austin Theriault,""" start="00:00:00.000" video="mainVideo-lspocaml" id="subtitle"]]
[[!template text="""and this is writing a language server in OCaml""" start="00:00:01.840" video="mainVideo-lspocaml" id="subtitle"]]
[[!template text="""for Emacs, fun, and profit.""" start="00:00:04.160" video="mainVideo-lspocaml" id="subtitle"]]
[[!template text="""Real quick, who am I?""" start="00:00:07.640" video="mainVideo-lspocaml" id="subtitle"]]
@@ -16,9 +13,7 @@
[[!template text="""and I love working on programming languages, editors,""" start="00:00:13.240" video="mainVideo-lspocaml" id="subtitle"]]
[[!template text="""and cryptography.""" start="00:00:15.360" video="mainVideo-lspocaml" id="subtitle"]]
-[[!template new="1" text="""What is Semgrep?""" start="00:00:16.540" video="mainVideo-lspocaml" id="subtitle"]]
-
-[[!template text="""What is Semgrep?""" start="00:00:16.540" video="mainVideo-lspocaml" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""What is Semgrep?""" start="00:00:16.540" video="mainVideo-lspocaml" id="subtitle"]]</div>[[!template text="""What is Semgrep?""" start="00:00:16.540" video="mainVideo-lspocaml" id="subtitle"]]
[[!template text="""We're a small cybersecurity startup""" start="00:00:17.800" video="mainVideo-lspocaml" id="subtitle"]]
[[!template text="""whose core product is a SaaS tool,""" start="00:00:20.040" video="mainVideo-lspocaml" id="subtitle"]]
[[!template text="""which is static application security testing.""" start="00:00:21.920" video="mainVideo-lspocaml" id="subtitle"]]
@@ -30,9 +25,7 @@
[[!template text="""and we have lots of customers all using different IDEs.""" start="00:00:36.960" video="mainVideo-lspocaml" id="subtitle"]]
[[!template text="""Why does that matter?""" start="00:00:39.320" video="mainVideo-lspocaml" id="subtitle"]]
-[[!template new="1" text="""How do we show security bugs early?""" start="00:00:40.720" video="mainVideo-lspocaml" id="subtitle"]]
-
-[[!template text="""Well, our goal is to show security bugs""" start="00:00:40.720" video="mainVideo-lspocaml" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""How do we show security bugs early?""" start="00:00:40.720" video="mainVideo-lspocaml" id="subtitle"]]</div>[[!template text="""Well, our goal is to show security bugs""" start="00:00:40.720" video="mainVideo-lspocaml" id="subtitle"]]
[[!template text="""as early as possible in the development cycle.""" start="00:00:42.780" video="mainVideo-lspocaml" id="subtitle"]]
[[!template text="""In the industry, we call this shifting left.""" start="00:00:45.240" video="mainVideo-lspocaml" id="subtitle"]]
[[!template text="""And so how far left can we shift? The editor.""" start="00:00:48.480" video="mainVideo-lspocaml" id="subtitle"]]
@@ -55,9 +48,7 @@
[[!template text="""and then plug it into all of them.""" start="00:01:33.880" video="mainVideo-lspocaml" id="subtitle"]]
[[!template text="""So how can we do that, though?""" start="00:01:35.800" video="mainVideo-lspocaml" id="subtitle"]]
-[[!template new="1" text="""What is the Language Server Protocol?""" start="00:01:37.880" video="mainVideo-lspocaml" id="subtitle"]]
-
-[[!template text="""Well, in the process of working on this stuff,""" start="00:01:37.880" video="mainVideo-lspocaml" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""What is the Language Server Protocol?""" start="00:01:37.880" video="mainVideo-lspocaml" id="subtitle"]]</div>[[!template text="""Well, in the process of working on this stuff,""" start="00:01:37.880" video="mainVideo-lspocaml" id="subtitle"]]
[[!template text="""I found out about""" start="00:01:40.680" video="mainVideo-lspocaml" id="subtitle"]]
[[!template text="""the Language Server Protocol.""" start="00:01:43.000" video="mainVideo-lspocaml" id="subtitle"]]
[[!template text="""And what's great about the Language Server Protocol is""" start="00:01:44.880" video="mainVideo-lspocaml" id="subtitle"]]
@@ -76,9 +67,7 @@
[[!template text="""and you can hook it up to a bunch of language clients""" start="00:02:25.440" video="mainVideo-lspocaml" id="subtitle"]]
[[!template text="""and it'll just work.""" start="00:02:27.440" video="mainVideo-lspocaml" id="subtitle"]]
-[[!template new="1" text="""Case study: Rust Analyzer""" start="00:02:29.040" video="mainVideo-lspocaml" id="subtitle"]]
-
-[[!template text="""So let's do a quick case study on language servers in LSP,""" start="00:02:29.040" video="mainVideo-lspocaml" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Case study: Rust Analyzer""" start="00:02:29.040" video="mainVideo-lspocaml" id="subtitle"]]</div>[[!template text="""So let's do a quick case study on language servers in LSP,""" start="00:02:29.040" video="mainVideo-lspocaml" id="subtitle"]]
[[!template text="""just so you get an idea of why this is super cool.""" start="00:02:34.040" video="mainVideo-lspocaml" id="subtitle"]]
[[!template text="""So there's this language server called Rust Analyzer.""" start="00:02:37.240" video="mainVideo-lspocaml" id="subtitle"]]
[[!template text="""It's a language server for the Rust language.""" start="00:02:40.440" video="mainVideo-lspocaml" id="subtitle"]]
@@ -105,9 +94,7 @@
[[!template text="""So you can develop Rust in a way that's relatively efficient""" start="00:03:35.240" video="mainVideo-lspocaml" id="subtitle"]]
[[!template text="""without having to give up your favorite editor.""" start="00:03:39.080" video="mainVideo-lspocaml" id="subtitle"]]
-[[!template new="1" text="""Rust Analyzer in action""" start="00:03:42.760" video="mainVideo-lspocaml" id="subtitle"]]
-
-[[!template text="""So here's a quick little demo""" start="00:03:42.760" video="mainVideo-lspocaml" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Rust Analyzer in action""" start="00:03:42.760" video="mainVideo-lspocaml" id="subtitle"]]</div>[[!template text="""So here's a quick little demo""" start="00:03:42.760" video="mainVideo-lspocaml" id="subtitle"]]
[[!template text="""of all the cool things it can do.""" start="00:03:44.400" video="mainVideo-lspocaml" id="subtitle"]]
[[!template text="""So you can see I typed an error.""" start="00:03:46.320" video="mainVideo-lspocaml" id="subtitle"]]
[[!template text="""It tells me that I wrote an error.""" start="00:03:48.120" video="mainVideo-lspocaml" id="subtitle"]]
@@ -122,9 +109,7 @@
[[!template text="""I didn't have to go and type any commands or anything.""" start="00:04:05.440" video="mainVideo-lspocaml" id="subtitle"]]
[[!template text="""It just worked.""" start="00:04:07.840" video="mainVideo-lspocaml" id="subtitle"]]
-[[!template new="1" text="""Why is this useful?""" start="00:04:09.960" video="mainVideo-lspocaml" id="subtitle"]]
-
-[[!template text="""So why is this just useful in general for a user?""" start="00:04:09.960" video="mainVideo-lspocaml" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Why is this useful?""" start="00:04:09.960" video="mainVideo-lspocaml" id="subtitle"]]</div>[[!template text="""So why is this just useful in general for a user?""" start="00:04:09.960" video="mainVideo-lspocaml" id="subtitle"]]
[[!template text="""Well, you get the same experience across editors.""" start="00:04:13.400" video="mainVideo-lspocaml" id="subtitle"]]
[[!template text="""Like I was saying, you don't have to give up""" start="00:04:15.800" video="mainVideo-lspocaml" id="subtitle"]]
[[!template text="""one editor for another""" start="00:04:17.120" video="mainVideo-lspocaml" id="subtitle"]]
@@ -160,9 +145,7 @@
[[!template text="""It's great to have just one set of tests""" start="00:05:31.960" video="mainVideo-lspocaml" id="subtitle"]]
[[!template text="""that you have to pass.""" start="00:05:33.840" video="mainVideo-lspocaml" id="subtitle"]]
-[[!template new="1" text="""So what about Emacs?""" start="00:05:36.220" video="mainVideo-lspocaml" id="subtitle"]]
-
-[[!template text="""So why does a language server protocol matter with Emacs?""" start="00:05:36.220" video="mainVideo-lspocaml" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""So what about Emacs?""" start="00:05:36.220" video="mainVideo-lspocaml" id="subtitle"]]</div>[[!template text="""So why does a language server protocol matter with Emacs?""" start="00:05:36.220" video="mainVideo-lspocaml" id="subtitle"]]
[[!template text="""Well, like I was saying before,""" start="00:05:40.160" video="mainVideo-lspocaml" id="subtitle"]]
[[!template text="""Emacs gets the benefit from work put into other editors.""" start="00:05:42.380" video="mainVideo-lspocaml" id="subtitle"]]
[[!template text="""So we get all this language support,""" start="00:05:45.480" video="mainVideo-lspocaml" id="subtitle"]]
@@ -188,9 +171,7 @@
[[!template text="""but I would imagine a lot of this stuff is very similar.""" start="00:06:33.300" video="mainVideo-lspocaml" id="subtitle"]]
[[!template text="""Here's a list of some supported languages.""" start="00:06:37.780" video="mainVideo-lspocaml" id="subtitle"]]
-[[!template new="1" text="""Technical part - Brief communication overview""" start="00:06:40.700" video="mainVideo-lspocaml" id="subtitle"]]
-
-[[!template text="""Now let's get into the technical part.""" start="00:06:40.700" video="mainVideo-lspocaml" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Technical part - Brief communication overview""" start="00:06:40.700" video="mainVideo-lspocaml" id="subtitle"]]</div>[[!template text="""Now let's get into the technical part.""" start="00:06:40.700" video="mainVideo-lspocaml" id="subtitle"]]
[[!template text="""How does LSP actually work?""" start="00:06:42.640" video="mainVideo-lspocaml" id="subtitle"]]
[[!template text="""So let's go over how it communicates first.""" start="00:06:45.040" video="mainVideo-lspocaml" id="subtitle"]]
[[!template text="""It uses JSONRPC,""" start="00:06:47.160" video="mainVideo-lspocaml" id="subtitle"]]
@@ -226,14 +207,10 @@
[[!template text="""and the communication is relatively simple,""" start="00:07:55.400" video="mainVideo-lspocaml" id="subtitle"]]
[[!template text="""which is great.""" start="00:07:57.720" video="mainVideo-lspocaml" id="subtitle"]]
-[[!template new="1" text="""Example request""" start="00:07:58.760" video="mainVideo-lspocaml" id="subtitle"]]
-
-[[!template text="""This is what it looks like, what a request looks like.""" start="00:07:58.760" video="mainVideo-lspocaml" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Example request""" start="00:07:58.760" video="mainVideo-lspocaml" id="subtitle"]]</div>[[!template text="""This is what it looks like, what a request looks like.""" start="00:07:58.760" video="mainVideo-lspocaml" id="subtitle"]]
[[!template text="""Notifications look somewhat similar.""" start="00:08:01.240" video="mainVideo-lspocaml" id="subtitle"]]
-[[!template new="1" text="""LSP capabilities""" start="00:08:03.380" video="mainVideo-lspocaml" id="subtitle"]]
-
-[[!template text="""So now we know how LSP communication works,""" start="00:08:03.380" video="mainVideo-lspocaml" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""LSP capabilities""" start="00:08:03.380" video="mainVideo-lspocaml" id="subtitle"]]</div>[[!template text="""So now we know how LSP communication works,""" start="00:08:03.380" video="mainVideo-lspocaml" id="subtitle"]]
[[!template text="""but how does the actual protocol work?""" start="00:08:05.880" video="mainVideo-lspocaml" id="subtitle"]]
[[!template text="""Well, almost all of the protocol is opt-in,""" start="00:08:09.860" video="mainVideo-lspocaml" id="subtitle"]]
[[!template text="""meaning you don't have to support the entire specification,""" start="00:08:12.400" video="mainVideo-lspocaml" id="subtitle"]]
@@ -267,9 +244,7 @@
[[!template text="""And that's a little bit more work,""" start="00:09:18.700" video="mainVideo-lspocaml" id="subtitle"]]
[[!template text="""but it's better than where we were without LSP.""" start="00:09:20.400" video="mainVideo-lspocaml" id="subtitle"]]
-[[!template new="1" text="""Tips on writing a LS""" start="00:09:23.380" video="mainVideo-lspocaml" id="subtitle"]]
-
-[[!template text="""So some quick tips on writing a language server.""" start="00:09:23.380" video="mainVideo-lspocaml" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Tips on writing a LS""" start="00:09:23.380" video="mainVideo-lspocaml" id="subtitle"]]</div>[[!template text="""So some quick tips on writing a language server.""" start="00:09:23.380" video="mainVideo-lspocaml" id="subtitle"]]
[[!template text="""I'm not going to get too into this""" start="00:09:25.440" video="mainVideo-lspocaml" id="subtitle"]]
[[!template text="""because it's very application-specific.""" start="00:09:27.480" video="mainVideo-lspocaml" id="subtitle"]]
[[!template text="""I wrote Semgrep's in OCaml""" start="00:09:30.800" video="mainVideo-lspocaml" id="subtitle"]]
@@ -312,9 +287,7 @@
[[!template text="""this stuff is really easy.""" start="00:11:00.320" video="mainVideo-lspocaml" id="subtitle"]]
[[!template text="""You're basically just wiring stuff up.""" start="00:11:01.680" video="mainVideo-lspocaml" id="subtitle"]]
-[[!template new="1" text="""Supporting a LS through LSP mode in Emacs""" start="00:11:03.480" video="mainVideo-lspocaml" id="subtitle"]]
-
-[[!template text="""But, yeah. So, now we know all about""" start="00:11:03.480" video="mainVideo-lspocaml" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Supporting a LS through LSP mode in Emacs""" start="00:11:03.480" video="mainVideo-lspocaml" id="subtitle"]]</div>[[!template text="""But, yeah. So, now we know all about""" start="00:11:03.480" video="mainVideo-lspocaml" id="subtitle"]]
[[!template text="""LSP and language servers.""" start="00:11:08.360" video="mainVideo-lspocaml" id="subtitle"]]
[[!template text="""Say you want to actually""" start="00:11:10.800" video="mainVideo-lspocaml" id="subtitle"]]
[[!template text="""add support for a language server in Emacs.""" start="00:11:11.880" video="mainVideo-lspocaml" id="subtitle"]]
@@ -337,9 +310,7 @@
[[!template text="""to the list of clients, and then do some documentation,""" start="00:12:01.320" video="mainVideo-lspocaml" id="subtitle"]]
[[!template text="""because documentation's great.""" start="00:12:03.720" video="mainVideo-lspocaml" id="subtitle"]]
-[[!template new="1" text="""Create a client""" start="00:12:06.000" video="mainVideo-lspocaml" id="subtitle"]]
-
-[[!template text="""First, creating a client.""" start="00:12:06.000" video="mainVideo-lspocaml" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Create a client""" start="00:12:06.000" video="mainVideo-lspocaml" id="subtitle"]]</div>[[!template text="""First, creating a client.""" start="00:12:06.000" video="mainVideo-lspocaml" id="subtitle"]]
[[!template text="""In the `clients/` folder in `lsp-mode/`,""" start="00:12:07.640" video="mainVideo-lspocaml" id="subtitle"]]
[[!template text="""literally just add, like, `lsp-` whatever it is,""" start="00:12:09.640" video="mainVideo-lspocaml" id="subtitle"]]
[[!template text="""`require` the library, and register a client.""" start="00:12:12.920" video="mainVideo-lspocaml" id="subtitle"]]
@@ -363,9 +334,7 @@
[[!template text="""but just know that these aren't your only options,""" start="00:13:01.200" video="mainVideo-lspocaml" id="subtitle"]]
[[!template text="""and then finally provide your client.""" start="00:13:03.800" video="mainVideo-lspocaml" id="subtitle"]]
-[[!template new="1" text="""Add to list of client packages""" start="00:13:07.300" video="mainVideo-lspocaml" id="subtitle"]]
-
-[[!template text="""Next, you just have to add your client""" start="00:13:07.300" video="mainVideo-lspocaml" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Add to list of client packages""" start="00:13:07.300" video="mainVideo-lspocaml" id="subtitle"]]</div>[[!template text="""Next, you just have to add your client""" start="00:13:07.300" video="mainVideo-lspocaml" id="subtitle"]]
[[!template text="""to the list of clients that `lsp-mode` supports,""" start="00:13:09.800" video="mainVideo-lspocaml" id="subtitle"]]
[[!template text="""and now you've added support for a whole new language,""" start="00:13:12.160" video="mainVideo-lspocaml" id="subtitle"]]
[[!template text="""whole new framework, whole new tool to Emacs,""" start="00:13:15.640" video="mainVideo-lspocaml" id="subtitle"]]
@@ -392,14 +361,10 @@
[[!template text="""and it's similar to LSP but for debuggers,""" start="00:14:07.320" video="mainVideo-lspocaml" id="subtitle"]]
[[!template text="""which is very cool,""" start="00:14:09.680" video="mainVideo-lspocaml" id="subtitle"]]
-[[!template new="1" text="""Add documentation!""" start="00:14:11.680" video="mainVideo-lspocaml" id="subtitle"]]
-
-[[!template text="""and then finally link to your documentation.""" start="00:14:11.680" video="mainVideo-lspocaml" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Add documentation!""" start="00:14:11.680" video="mainVideo-lspocaml" id="subtitle"]]</div>[[!template text="""and then finally link to your documentation.""" start="00:14:11.680" video="mainVideo-lspocaml" id="subtitle"]]
[[!template text="""Please, please document your stuff.""" start="00:14:14.600" video="mainVideo-lspocaml" id="subtitle"]]
-[[!template new="1" text="""Adding commands and custom capabilities""" start="00:14:17.880" video="mainVideo-lspocaml" id="subtitle"]]
-
-[[!template text="""If you want to add, like, a custom Emacs function""" start="00:14:17.880" video="mainVideo-lspocaml" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Adding commands and custom capabilities""" start="00:14:17.880" video="mainVideo-lspocaml" id="subtitle"]]</div>[[!template text="""If you want to add, like, a custom Emacs function""" start="00:14:17.880" video="mainVideo-lspocaml" id="subtitle"]]
[[!template text="""or custom capabilities, it's super easy.""" start="00:14:20.480" video="mainVideo-lspocaml" id="subtitle"]]
[[!template text="""It's literally just, like, calling a normal Emacs function.""" start="00:14:22.680" video="mainVideo-lspocaml" id="subtitle"]]
[[!template text="""For example, Semgrep normally only scans files""" start="00:14:27.640" video="mainVideo-lspocaml" id="subtitle"]]
@@ -414,9 +379,7 @@
[[!template text="""and do something with the result,""" start="00:14:56.080" video="mainVideo-lspocaml" id="subtitle"]]
[[!template text="""and so that's adding custom capabilities.""" start="00:14:58.460" video="mainVideo-lspocaml" id="subtitle"]]
-[[!template new="1" text="""Thanks for listening""" start="00:15:01.360" video="mainVideo-lspocaml" id="subtitle"]]
-
-[[!template text="""That's pretty much it. Thank you for listening.""" start="00:15:01.360" video="mainVideo-lspocaml" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Thanks for listening""" start="00:15:01.360" video="mainVideo-lspocaml" id="subtitle"]]</div>[[!template text="""That's pretty much it. Thank you for listening.""" start="00:15:01.360" video="mainVideo-lspocaml" id="subtitle"]]
[[!template text="""Some resources here.""" start="00:15:04.320" video="mainVideo-lspocaml" id="subtitle"]]
[[!template text="""These links are clickable if you get the PDF,""" start="00:15:05.640" video="mainVideo-lspocaml" id="subtitle"]]
[[!template text="""if you get the slides. Semgrep: we're hiring!""" start="00:15:08.240" video="mainVideo-lspocaml" id="subtitle"]]
@@ -440,12 +403,11 @@
[[!template text="""but hopefully this is sufficient for y'all,""" start="00:15:58.440" video="mainVideo-lspocaml" id="subtitle"]]
[[!template text="""and now it's time for some Q&A.""" start="00:16:01.480" video="mainVideo-lspocaml" id="subtitle"]]
-
+</div>
Captioner: sachac
-<a name="lspocaml-qanda-transcript"></a>
-# Q&A transcript (unedited)
+<div class="transcript transcript-qanda"><a name="lspocaml-qanda-transcript"></a><h1>Q&A transcript (unedited)</h1>
[[!template text="""[Speaker 0]: I would invite all on the,""" start="00:00:03.540" video="qanda-lspocaml" id="subtitle"]]
[[!template text="""who are currently watching,""" start="00:00:04.600" video="qanda-lspocaml" id="subtitle"]]
@@ -787,7 +749,7 @@ Captioner: sachac
[[!template text="""[Speaker 1]: Oh yeah, definitely.""" start="00:14:21.560" video="qanda-lspocaml" id="subtitle"]]
[[!template text="""[Speaker 0]: Dan?""" start="00:14:23.500" video="qanda-lspocaml" id="subtitle"]]
-Questions or comments? Please e-mail [austin@cutedogs.org](mailto:austin@cutedogs.org?subject=Comment%20for%20EmacsConf%202023%20lspocaml%3A%20Writing%20a%20language%20server%20in%20OCaml%20for%20Emacs%2C%20fun%2C%20and%20profit)
+</div>Questions or comments? Please e-mail [austin@cutedogs.org](mailto:austin@cutedogs.org?subject=Comment%20for%20EmacsConf%202023%20lspocaml%3A%20Writing%20a%20language%20server%20in%20OCaml%20for%20Emacs%2C%20fun%2C%20and%20profit)
<!-- End of emacsconf-publish-after-page -->
diff --git a/2023/info/lspocaml-before.md b/2023/info/lspocaml-before.md
index d3f225c8..cdb010e5 100644
--- a/2023/info/lspocaml-before.md
+++ b/2023/info/lspocaml-before.md
@@ -1,6 +1,6 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
[[!toc ]]
-Format: 17-min talk; Q&A: BigBlueButton conference room
+Format: 17-min talk ; Q&A: BigBlueButton conference room
Status: Q&A to be extracted from the room recordings
@@ -9,7 +9,7 @@ Status: Q&A to be extracted from the room recordings
# Talk
-<div class="vid"><video controls preload="none" id="lspocaml-mainVideo"><source src="https://media.emacsconf.org/2023/emacsconf-2023-lspocaml--writing-a-language-server-in-ocaml-for-emacs-fun-and-profit--austin-theriault--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-lspocaml--writing-a-language-server-in-ocaml-for-emacs-fun-and-profit--austin-theriault--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2023/captions/emacsconf-2023-lspocaml--writing-a-language-server-in-ocaml-for-emacs-fun-and-profit--austin-theriault--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="lspocaml-mainVideo" data="""
+<div class="vid mainVideo"><video controls preload="none" id="mainVideo-lspocaml"><source src="https://media.emacsconf.org/2023/emacsconf-2023-lspocaml--writing-a-language-server-in-ocaml-for-emacs-fun-and-profit--austin-theriault--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-lspocaml--writing-a-language-server-in-ocaml-for-emacs-fun-and-profit--austin-theriault--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2023/captions/emacsconf-2023-lspocaml--writing-a-language-server-in-ocaml-for-emacs-fun-and-profit--austin-theriault--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-lspocaml" data="""
00:00.000 Introduction
00:16.540 What is Semgrep?
00:40.720 How do we show security bugs early?
@@ -29,10 +29,10 @@ Status: Q&A to be extracted from the room recordings
14:17.880 Adding commands and custom capabilities
15:01.360 Thanks for listening
-"""]]<div></div>Duration: 16:04 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-lspocaml--writing-a-language-server-in-ocaml-for-emacs-fun-and-profit--austin-theriault--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-lspocaml--writing-a-language-server-in-ocaml-for-emacs-fun-and-profit--austin-theriault--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-lspocaml--writing-a-language-server-in-ocaml-for-emacs-fun-and-profit--austin-theriault--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-lspocaml--writing-a-language-server-in-ocaml-for-emacs-fun-and-profit--austin-theriault--main.opus">Download --main.opus (8.7MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-lspocaml--writing-a-language-server-in-ocaml-for-emacs-fun-and-profit--austin-theriault--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-lspocaml--writing-a-language-server-in-ocaml-for-emacs-fun-and-profit--austin-theriault--main.webm">Download --main.webm (29MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-lspocaml--writing-a-language-server-in-ocaml-for-emacs-fun-and-profit--austin-theriault--pad.html">Download --pad.html</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-lspocaml--writing-a-language-server-in-ocaml-for-emacs-fun-and-profit--austin-theriault--pad.md">Download --pad.md</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-lspocaml--writing-a-language-server-in-ocaml-for-emacs-fun-and-profit--austin-theriault.pdf">Download .pdf (87MB)</a></li><li><a href="https://toobnix.org/w/jgMzmGyx4H1YDwc5n1eRZu">View on Toobnix</a></li></ul></div></div>
+"""]]<div></div>Duration: 16:04 minutes<div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2023-lspocaml">Open Etherpad</a></li><li><a href="https://bbb.emacsverse.org/playback/presentation/2.0/playback.html?meetingId=6c21ce25eae19932bf370829bd0e9dcba9e18e27-1701631387142">Play recording from BigBlueButton</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-lspocaml--writing-a-language-server-in-ocaml-for-emacs-fun-and-profit--austin-theriault--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-lspocaml--writing-a-language-server-in-ocaml-for-emacs-fun-and-profit--austin-theriault--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-lspocaml--writing-a-language-server-in-ocaml-for-emacs-fun-and-profit--austin-theriault--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-lspocaml--writing-a-language-server-in-ocaml-for-emacs-fun-and-profit--austin-theriault--main.opus">Download --main.opus (8.7MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-lspocaml--writing-a-language-server-in-ocaml-for-emacs-fun-and-profit--austin-theriault--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-lspocaml--writing-a-language-server-in-ocaml-for-emacs-fun-and-profit--austin-theriault--main.webm">Download --main.webm (29MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-lspocaml--writing-a-language-server-in-ocaml-for-emacs-fun-and-profit--austin-theriault.pdf">Download .pdf (87MB)</a></li><li><a href="https://toobnix.org/w/jgMzmGyx4H1YDwc5n1eRZu">View on Toobnix</a></li><li><a href="https://www.youtube.com/watch?v=VhUIS55UbQs">View on Youtube</a></li></ul></div></div>
# Q&A
-<div class="vid"><video controls preload="none" id="lspocaml-qanda"><source src="https://media.emacsconf.org/2023/emacsconf-2023-lspocaml--writing-a-language-server-in-ocaml-for-emacs-fun-and-profit--austin-theriault--answers.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-lspocaml--writing-a-language-server-in-ocaml-for-emacs-fun-and-profit--austin-theriault--answers.vtt" default />"""<p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video><div>Listen to just the audio:<br /><audio controls preload="none" id="lspocaml-qanda-audio" src="https://media.emacsconf.org/2023/emacsconf-2023-lspocaml--writing-a-language-server-in-ocaml-for-emacs-fun-and-profit--austin-theriault--answers.opus"></audio></div><div></div>Duration: 14:24 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-lspocaml--writing-a-language-server-in-ocaml-for-emacs-fun-and-profit--austin-theriault--answers.json">Download --answers.json</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-lspocaml--writing-a-language-server-in-ocaml-for-emacs-fun-and-profit--austin-theriault--answers.opus">Download --answers.opus (8.2MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-lspocaml--writing-a-language-server-in-ocaml-for-emacs-fun-and-profit--austin-theriault--answers.vtt">Download --answers.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-lspocaml--writing-a-language-server-in-ocaml-for-emacs-fun-and-profit--austin-theriault--answers.webm">Download --answers.webm (23MB)</a></li></ul></div></div>
+<div class="vid qanda"><video controls preload="none" id="qanda-lspocaml"><source src="https://media.emacsconf.org/2023/emacsconf-2023-lspocaml--writing-a-language-server-in-ocaml-for-emacs-fun-and-profit--austin-theriault--answers.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-lspocaml--writing-a-language-server-in-ocaml-for-emacs-fun-and-profit--austin-theriault--answers.vtt" default />"""<p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video><div>Listen to just the audio:<br /><audio controls preload="none" id="qanda-lspocaml-audio" src="https://media.emacsconf.org/2023/emacsconf-2023-lspocaml--writing-a-language-server-in-ocaml-for-emacs-fun-and-profit--austin-theriault--answers.opus"></audio></div><div></div>Duration: 14:24 minutes<div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2023-lspocaml">Open Etherpad</a></li><li><a href="https://bbb.emacsverse.org/playback/presentation/2.0/playback.html?meetingId=6c21ce25eae19932bf370829bd0e9dcba9e18e27-1701631387142">Play recording from BigBlueButton</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-lspocaml--writing-a-language-server-in-ocaml-for-emacs-fun-and-profit--austin-theriault--answers.json">Download --answers.json</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-lspocaml--writing-a-language-server-in-ocaml-for-emacs-fun-and-profit--austin-theriault--answers.opus">Download --answers.opus (8.2MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-lspocaml--writing-a-language-server-in-ocaml-for-emacs-fun-and-profit--austin-theriault--answers.vtt">Download --answers.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-lspocaml--writing-a-language-server-in-ocaml-for-emacs-fun-and-profit--austin-theriault--answers.webm">Download --answers.webm (23MB)</a></li></ul></div></div>
# Description
<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2023/info/lspocaml-nav.md b/2023/info/lspocaml-nav.md
index a705e389..73a7feb2 100644
--- a/2023/info/lspocaml-nav.md
+++ b/2023/info/lspocaml-nav.md
@@ -3,5 +3,5 @@
Back to the [[talks]]
Previous by track: <a href="/2023/talks/hyperdrive">hyperdrive.el: Peer-to-peer filesystem in Emacs</a>
Next by track: <a href="/2023/talks/test">What I learned by writing test cases for GNU Hyperbole</a>
-Track: <span class="sched-track Development">Development</span>
+Track: <span class="sched-track Development">Development</span> - <strong><a href="https://emacsconf.org/2023/watch/dev">Watch</a></strong>
</div>
diff --git a/2023/info/matplotllm-after.md b/2023/info/matplotllm-after.md
index 2471df19..b498528d 100644
--- a/2023/info/matplotllm-after.md
+++ b/2023/info/matplotllm-after.md
@@ -1,13 +1,10 @@
<!-- Automatically generated by emacsconf-publish-after-page -->
-<a name="matplotllm-mainVideo-transcript"></a>
-# Transcript
+<div class="transcript transcript-mainVideo"><a name="matplotllm-mainVideo-transcript"></a><h1>Transcript</h1>
-[[!template new="1" text="""Introduction""" start="00:00:00.000" video="mainVideo-matplotllm" id="subtitle"]]
-
-[[!template text="""Hi, my name is Abhinav and I'm going to talk about""" start="00:00:00.000" video="mainVideo-matplotllm" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Introduction""" start="00:00:00.000" video="mainVideo-matplotllm" id="subtitle"]]</div>[[!template text="""Hi, my name is Abhinav and I'm going to talk about""" start="00:00:00.000" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""this tool that I've been working on called MatplotLLM.""" start="00:00:03.040" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""MatplotLLM is a natural language interface""" start="00:00:06.200" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""over matplotlib, which is a library I use a lot""" start="00:00:09.520" video="mainVideo-matplotllm" id="subtitle"]]
@@ -46,9 +43,7 @@
[[!template text="""to get rid of the complexity of the library""" start="00:01:35.200" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""by working via an LLM.""" start="00:01:38.480" video="mainVideo-matplotllm" id="subtitle"]]
-[[!template new="1" text="""What is an LLM?""" start="00:01:40.720" video="mainVideo-matplotllm" id="subtitle"]]
-
-[[!template text="""So an LLM is a large language model.""" start="00:01:40.720" video="mainVideo-matplotllm" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""What is an LLM?""" start="00:01:40.720" video="mainVideo-matplotllm" id="subtitle"]]</div>[[!template text="""So an LLM is a large language model.""" start="00:01:40.720" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""These are models which are""" start="00:01:43.400" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""trained to produce text, generate text.""" start="00:01:45.080" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""And just by doing that,""" start="00:01:49.400" video="mainVideo-matplotllm" id="subtitle"]]
@@ -65,9 +60,7 @@
[[!template text="""So that's a problem that it has.""" start="00:02:17.920" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""But for this version, we are going to use that.""" start="00:02:21.120" video="mainVideo-matplotllm" id="subtitle"]]
-[[!template new="1" text="""Using this library""" start="00:02:23.600" video="mainVideo-matplotllm" id="subtitle"]]
-
-[[!template text="""Using this library is pretty simple.""" start="00:02:23.600" video="mainVideo-matplotllm" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Using this library""" start="00:02:23.600" video="mainVideo-matplotllm" id="subtitle"]]</div>[[!template text="""Using this library is pretty simple.""" start="00:02:23.600" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""You basically require the library""" start="00:02:25.480" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""and then you set up your OpenAI API key here.""" start="00:02:27.400" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""Then you get a code block""" start="00:02:30.720" video="mainVideo-matplotllm" id="subtitle"]]
@@ -122,9 +115,7 @@
[[!template text="""which is plotting what I specified it to do,""" start="00:05:04.120" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""though it looks a little dense.""" start="00:05:08.880" video="mainVideo-matplotllm" id="subtitle"]]
-[[!template new="1" text="""Further instructions""" start="00:05:11.701" video="mainVideo-matplotllm" id="subtitle"]]
-
-[[!template text="""What I can do is""" start="00:05:11.701" video="mainVideo-matplotllm" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Further instructions""" start="00:05:11.701" video="mainVideo-matplotllm" id="subtitle"]]</div>[[!template text="""What I can do is""" start="00:05:11.701" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""I can provide further instructions as feedback.""" start="00:05:12.641" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""I try to feed back on this. So I can say,""" start="00:05:16.001" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""&quot;Can you only show points where year is the multiple of 50?&quot;""" start="00:05:18.401" video="mainVideo-matplotllm" id="subtitle"]]
@@ -175,9 +166,7 @@
[[!template text="""so probably it could be done better,""" start="00:07:56.680" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""but the box is removed.""" start="00:07:58.560" video="mainVideo-matplotllm" id="subtitle"]]
-[[!template new="1" text="""Room for improvement""" start="00:08:00.160" video="mainVideo-matplotllm" id="subtitle"]]
-
-[[!template text="""Now, as you can see, the system is...""" start="00:08:00.160" video="mainVideo-matplotllm" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Room for improvement""" start="00:08:00.160" video="mainVideo-matplotllm" id="subtitle"]]</div>[[!template text="""Now, as you can see, the system is...""" start="00:08:00.160" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""You will be able to see this""" start="00:08:03.360" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""that the system is not really robust.""" start="00:08:04.880" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""So the GitHub repository has some examples""" start="00:08:07.480" video="mainVideo-matplotllm" id="subtitle"]]
@@ -217,7 +206,7 @@
[[!template text="""You can find more details in the repository link.""" start="00:09:27.600" video="mainVideo-matplotllm" id="subtitle"]]
[[!template text="""Thank you for listening. Goodbye.""" start="00:09:29.760" video="mainVideo-matplotllm" id="subtitle"]]
-
+</div>
Captioner: sachac
diff --git a/2023/info/matplotllm-before.md b/2023/info/matplotllm-before.md
index 8286a486..3359850a 100644
--- a/2023/info/matplotllm-before.md
+++ b/2023/info/matplotllm-before.md
@@ -1,19 +1,19 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
[[!toc ]]
-Format: 10-min talk; Q&A: Etherpad
+Format: 10-min talk ; Q&A: Etherpad
Status: All done
-<div class="vid"><video controls preload="none" id="matplotllm-mainVideo"><source src="https://media.emacsconf.org/2023/emacsconf-2023-matplotllm--matplotllm-iterative-natural-language-data-visualization-in-orgbabel--abhinav-tushar--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-matplotllm--matplotllm-iterative-natural-language-data-visualization-in-orgbabel--abhinav-tushar--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2023/captions/emacsconf-2023-matplotllm--matplotllm-iterative-natural-language-data-visualization-in-orgbabel--abhinav-tushar--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="matplotllm-mainVideo" data="""
+<div class="vid mainVideo"><video controls preload="none" id="mainVideo-matplotllm"><source src="https://media.emacsconf.org/2023/emacsconf-2023-matplotllm--matplotllm-iterative-natural-language-data-visualization-in-orgbabel--abhinav-tushar--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-matplotllm--matplotllm-iterative-natural-language-data-visualization-in-orgbabel--abhinav-tushar--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2023/captions/emacsconf-2023-matplotllm--matplotllm-iterative-natural-language-data-visualization-in-orgbabel--abhinav-tushar--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-matplotllm" data="""
00:00.000 Introduction
01:40.720 What is an LLM?
02:23.600 Using this library
05:11.701 Further instructions
08:00.160 Room for improvement
-"""]]<div></div>Duration: 09:34 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-matplotllm--matplotllm-iterative-natural-language-data-visualization-in-orgbabel--abhinav-tushar--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-matplotllm--matplotllm-iterative-natural-language-data-visualization-in-orgbabel--abhinav-tushar--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-matplotllm--matplotllm-iterative-natural-language-data-visualization-in-orgbabel--abhinav-tushar--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-matplotllm--matplotllm-iterative-natural-language-data-visualization-in-orgbabel--abhinav-tushar--main.opus">Download --main.opus (5MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-matplotllm--matplotllm-iterative-natural-language-data-visualization-in-orgbabel--abhinav-tushar--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-matplotllm--matplotllm-iterative-natural-language-data-visualization-in-orgbabel--abhinav-tushar--main.webm">Download --main.webm (49MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-matplotllm--matplotllm-iterative-natural-language-data-visualization-in-orgbabel--abhinav-tushar--pad.html">Download --pad.html</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-matplotllm--matplotllm-iterative-natural-language-data-visualization-in-orgbabel--abhinav-tushar--pad.md">Download --pad.md</a></li><li><a href="https://toobnix.org/w/7bwq1vAqYzY24iEMYAdcB1">View on Toobnix</a></li></ul></div></div>
+"""]]<div></div>Duration: 09:34 minutes<div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2023-matplotllm">Open Etherpad</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-matplotllm--matplotllm-iterative-natural-language-data-visualization-in-orgbabel--abhinav-tushar--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-matplotllm--matplotllm-iterative-natural-language-data-visualization-in-orgbabel--abhinav-tushar--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-matplotllm--matplotllm-iterative-natural-language-data-visualization-in-orgbabel--abhinav-tushar--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-matplotllm--matplotllm-iterative-natural-language-data-visualization-in-orgbabel--abhinav-tushar--main.opus">Download --main.opus (5MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-matplotllm--matplotllm-iterative-natural-language-data-visualization-in-orgbabel--abhinav-tushar--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-matplotllm--matplotllm-iterative-natural-language-data-visualization-in-orgbabel--abhinav-tushar--main.webm">Download --main.webm (49MB)</a></li><li><a href="https://toobnix.org/w/7bwq1vAqYzY24iEMYAdcB1">View on Toobnix</a></li><li><a href="https://youtu.be/LhhFA5i_Os4">View on Youtube</a></li></ul></div></div>
# Description
<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2023/info/matplotllm-nav.md b/2023/info/matplotllm-nav.md
index 340c24f0..ea8b8b70 100644
--- a/2023/info/matplotllm-nav.md
+++ b/2023/info/matplotllm-nav.md
@@ -3,5 +3,5 @@
Back to the [[talks]]
Previous by track: <a href="/2023/talks/sharing">Sharing Emacs is Caring Emacs: Emacs education and why I embraced video</a>
Next by track: <a href="/2023/talks/voice">Enhancing productivity with voice computing</a>
-Track: <span class="sched-track Development">Development</span>
+Track: <span class="sched-track Development">Development</span> - <strong><a href="https://emacsconf.org/2023/watch/dev">Watch</a></strong>
</div>
diff --git a/2023/info/mentor-after.md b/2023/info/mentor-after.md
index f51dfa88..80185de8 100644
--- a/2023/info/mentor-after.md
+++ b/2023/info/mentor-after.md
@@ -1,13 +1,10 @@
<!-- Automatically generated by emacsconf-publish-after-page -->
-<a name="mentor-mainVideo-transcript"></a>
-# Transcript
+<div class="transcript transcript-mainVideo"><a name="mentor-mainVideo-transcript"></a><h1>Transcript</h1>
-[[!template new="1" text="""Introduction""" start="00:00:01.380" video="mainVideo-mentor" id="subtitle"]]
-
-[[!template text="""Hi everyone, my name is Jeremy Friesen, pronouns are he/him,""" start="00:00:01.380" video="mainVideo-mentor" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Introduction""" start="00:00:01.380" video="mainVideo-mentor" id="subtitle"]]</div>[[!template text="""Hi everyone, my name is Jeremy Friesen, pronouns are he/him,""" start="00:00:01.380" video="mainVideo-mentor" id="subtitle"]]
[[!template text="""and today I'll be talking about""" start="00:00:06.320" video="mainVideo-mentor" id="subtitle"]]
[[!template text="""mentoring VS Coders as an Emacs-ian.""" start="00:00:07.880" video="mainVideo-mentor" id="subtitle"]]
[[!template text="""A little bit of background, since 2015, I've mentored""" start="00:00:11.520" video="mainVideo-mentor" id="subtitle"]]
@@ -16,17 +13,13 @@
[[!template text="""oftentimes from boot camps.""" start="00:00:19.240" video="mainVideo-mentor" id="subtitle"]]
[[!template text="""I've also managed a couple of small software development teams.""" start="00:00:21.740" video="mainVideo-mentor" id="subtitle"]]
-[[!template new="1" text="""Framing approaches""" start="00:00:26.740" video="mainVideo-mentor" id="subtitle"]]
-
-[[!template text="""So I want to think about mentoring and the framing approaches.""" start="00:00:26.740" video="mainVideo-mentor" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Framing approaches""" start="00:00:26.740" video="mainVideo-mentor" id="subtitle"]]</div>[[!template text="""So I want to think about mentoring and the framing approaches.""" start="00:00:26.740" video="mainVideo-mentor" id="subtitle"]]
[[!template text="""We all don't know what we don't know.""" start="00:00:30.600" video="mainVideo-mentor" id="subtitle"]]
[[!template text="""So while mentoring, I like to be curious---asking questions,""" start="00:00:32.940" video="mainVideo-mentor" id="subtitle"]]
[[!template text="""I like to be visible,""" start="00:00:36.420" video="mainVideo-mentor" id="subtitle"]]
[[!template text="""and I also like to pair so that we can share.""" start="00:00:37.660" video="mainVideo-mentor" id="subtitle"]]
-[[!template new="1" text="""What are you looking to learn?""" start="00:00:41.940" video="mainVideo-mentor" id="subtitle"]]
-
-[[!template text="""When I start, I like to ask the following type of question:""" start="00:00:41.940" video="mainVideo-mentor" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""What are you looking to learn?""" start="00:00:41.940" video="mainVideo-mentor" id="subtitle"]]</div>[[!template text="""When I start, I like to ask the following type of question:""" start="00:00:41.940" video="mainVideo-mentor" id="subtitle"]]
[[!template text="""&quot;What have you been wanting to learn more of,""" start="00:00:45.300" video="mainVideo-mentor" id="subtitle"]]
[[!template text="""get better at, and improve on?&quot;""" start="00:00:47.120" video="mainVideo-mentor" id="subtitle"]]
[[!template text="""Then I like to ask further questions to get an understanding""" start="00:00:49.360" video="mainVideo-mentor" id="subtitle"]]
@@ -36,9 +29,7 @@
[[!template text="""&quot;where are you getting stuck,&quot;""" start="00:01:00.140" video="mainVideo-mentor" id="subtitle"]]
[[!template text="""and &quot;if you change one thing, what would it be?&quot;""" start="00:01:01.420" video="mainVideo-mentor" id="subtitle"]]
-[[!template new="1" text="""Make the work visible""" start="00:01:06.000" video="mainVideo-mentor" id="subtitle"]]
-
-[[!template text="""So like many people, I shifted to remote work in 2020,""" start="00:01:06.000" video="mainVideo-mentor" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Make the work visible""" start="00:01:06.000" video="mainVideo-mentor" id="subtitle"]]</div>[[!template text="""So like many people, I shifted to remote work in 2020,""" start="00:01:06.000" video="mainVideo-mentor" id="subtitle"]]
[[!template text="""and I've noticed a higher collaboration in remote work,""" start="00:01:09.840" video="mainVideo-mentor" id="subtitle"]]
[[!template text="""when folks make their work visible.""" start="00:01:13.160" video="mainVideo-mentor" id="subtitle"]]
[[!template text="""So to do that I host office hours,""" start="00:01:15.920" video="mainVideo-mentor" id="subtitle"]]
@@ -46,9 +37,7 @@
[[!template text="""and I'll open up a Slack huddle and just code by myself,""" start="00:01:20.680" video="mainVideo-mentor" id="subtitle"]]
[[!template text="""but let folks know, please hop in.""" start="00:01:23.440" video="mainVideo-mentor" id="subtitle"]]
-[[!template new="1" text="""Hop in and be curious""" start="00:01:29.320" video="mainVideo-mentor" id="subtitle"]]
-
-[[!template text="""I like to pay attention to other huddles that start.""" start="00:01:29.320" video="mainVideo-mentor" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Hop in and be curious""" start="00:01:29.320" video="mainVideo-mentor" id="subtitle"]]</div>[[!template text="""I like to pay attention to other huddles that start.""" start="00:01:29.320" video="mainVideo-mentor" id="subtitle"]]
[[!template text="""If they're going still for, like, 45 minutes or so,""" start="00:01:32.040" video="mainVideo-mentor" id="subtitle"]]
[[!template text="""I'll hop in and say hello.""" start="00:01:35.240" video="mainVideo-mentor" id="subtitle"]]
[[!template text="""It's even odds that they're moving along just fine""" start="00:01:36.800" video="mainVideo-mentor" id="subtitle"]]
@@ -66,9 +55,7 @@
[[!template text="""with yes... an agenda, but just to say hi,""" start="00:02:07.160" video="mainVideo-mentor" id="subtitle"]]
[[!template text="""is crucial to help the team members move along.""" start="00:02:10.360" video="mainVideo-mentor" id="subtitle"]]
-[[!template new="1" text="""Pairing is for sharing""" start="00:02:15.880" video="mainVideo-mentor" id="subtitle"]]
-
-[[!template text="""Pairing is for sharing.""" start="00:02:15.880" video="mainVideo-mentor" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Pairing is for sharing""" start="00:02:15.880" video="mainVideo-mentor" id="subtitle"]]</div>[[!template text="""Pairing is for sharing.""" start="00:02:15.880" video="mainVideo-mentor" id="subtitle"]]
[[!template text="""When I pair, I like to let others drive.""" start="00:02:17.240" video="mainVideo-mentor" id="subtitle"]]
[[!template text="""They're typing and working to resolve the problem.""" start="00:02:19.920" video="mainVideo-mentor" id="subtitle"]]
[[!template text="""I'm giving guidance, asking questions,""" start="00:02:22.240" video="mainVideo-mentor" id="subtitle"]]
@@ -87,9 +74,7 @@
[[!template text="""I could learn?&quot;""" start="00:02:58.760" video="mainVideo-mentor" id="subtitle"]]
[[!template text="""I'm working on getting to that point.""" start="00:03:00.960" video="mainVideo-mentor" id="subtitle"]]
-[[!template new="1" text="""Editor functions""" start="00:03:03.860" video="mainVideo-mentor" id="subtitle"]]
-
-[[!template text="""While pairing, I like to pay attention""" start="00:03:03.860" video="mainVideo-mentor" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Editor functions""" start="00:03:03.860" video="mainVideo-mentor" id="subtitle"]]</div>[[!template text="""While pairing, I like to pay attention""" start="00:03:03.860" video="mainVideo-mentor" id="subtitle"]]
[[!template text="""to how folks handle the following.""" start="00:03:05.200" video="mainVideo-mentor" id="subtitle"]]
[[!template text="""Where do they want to go?""" start="00:03:07.440" video="mainVideo-mentor" id="subtitle"]]
[[!template text="""How do they get there?""" start="00:03:08.560" video="mainVideo-mentor" id="subtitle"]]
@@ -99,9 +84,7 @@
[[!template text="""and I assume that VS Code can do something similar.""" start="00:03:15.240" video="mainVideo-mentor" id="subtitle"]]
[[!template text="""It's a matter of helping the mentees find those packages and plugins.""" start="00:03:17.400" video="mainVideo-mentor" id="subtitle"]]
-[[!template new="1" text="""Where do they want to go?""" start="00:03:23.240" video="mainVideo-mentor" id="subtitle"]]
-
-[[!template text="""Where to go?""" start="00:03:23.240" video="mainVideo-mentor" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Where do they want to go?""" start="00:03:23.240" video="mainVideo-mentor" id="subtitle"]]</div>[[!template text="""Where to go?""" start="00:03:23.240" video="mainVideo-mentor" id="subtitle"]]
[[!template text="""Search within a project.""" start="00:03:24.240" video="mainVideo-mentor" id="subtitle"]]
[[!template text="""Everybody knows about this, but one thing""" start="00:03:25.760" video="mainVideo-mentor" id="subtitle"]]
[[!template text="""that has been really critical for me""" start="00:03:28.000" video="mainVideo-mentor" id="subtitle"]]
@@ -132,9 +115,7 @@
[[!template text="""I can type `p` and jump to a different project,""" start="00:04:43.080" video="mainVideo-mentor" id="subtitle"]]
[[!template text="""so it's a quick navigation tool that I've not seen in VS Code.""" start="00:04:47.720" video="mainVideo-mentor" id="subtitle"]]
-[[!template new="1" text="""How do they get there?""" start="00:04:53.440" video="mainVideo-mentor" id="subtitle"]]
-
-[[!template text="""Next up is how do they get there?""" start="00:04:53.440" video="mainVideo-mentor" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""How do they get there?""" start="00:04:53.440" video="mainVideo-mentor" id="subtitle"]]</div>[[!template text="""Next up is how do they get there?""" start="00:04:53.440" video="mainVideo-mentor" id="subtitle"]]
[[!template text="""I like to use LSP for the languages,""" start="00:04:56.520" video="mainVideo-mentor" id="subtitle"]]
[[!template text="""and I bound `M-.` to this""" start="00:04:58.960" video="mainVideo-mentor" id="subtitle"]]
[[!template text="""and jump back and forth to definitions.""" start="00:05:02.880" video="mainVideo-mentor" id="subtitle"]]
@@ -148,9 +129,7 @@
[[!template text="""especially in Ruby, there's an idiom for that.""" start="00:05:28.520" video="mainVideo-mentor" id="subtitle"]]
[[!template text="""There is plugins in VS Code that does this correctly.""" start="00:05:32.120" video="mainVideo-mentor" id="subtitle"]]
-[[!template new="1" text="""Here they are, now what?""" start="00:05:36.640" video="mainVideo-mentor" id="subtitle"]]
-
-[[!template text="""Next up, now I'm here, what do I do?""" start="00:05:36.640" video="mainVideo-mentor" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Here they are, now what?""" start="00:05:36.640" video="mainVideo-mentor" id="subtitle"]]</div>[[!template text="""Next up, now I'm here, what do I do?""" start="00:05:36.640" video="mainVideo-mentor" id="subtitle"]]
[[!template text="""Word completion, Emacs just knocks everything out of the park:""" start="00:05:39.400" video="mainVideo-mentor" id="subtitle"]]
[[!template text="""`dabbrev`, `templates`, `hippie-expand`, `completion-at-point`.""" start="00:05:44.600" video="mainVideo-mentor" id="subtitle"]]
[[!template text="""Sometimes it just hurts to watch people type stuff""" start="00:05:48.200" video="mainVideo-mentor" id="subtitle"]]
@@ -183,9 +162,7 @@
[[!template text="""but I'm used to the Textmate in it.""" start="00:07:01.640" video="mainVideo-mentor" id="subtitle"]]
[[!template text="""I just love it.""" start="00:07:03.840" video="mainVideo-mentor" id="subtitle"]]
-[[!template new="1" text="""How do they summarize?""" start="00:07:06.640" video="mainVideo-mentor" id="subtitle"]]
-
-[[!template text="""Next up is how they summarize.""" start="00:07:06.640" video="mainVideo-mentor" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""How do they summarize?""" start="00:07:06.640" video="mainVideo-mentor" id="subtitle"]]</div>[[!template text="""Next up is how they summarize.""" start="00:07:06.640" video="mainVideo-mentor" id="subtitle"]]
[[!template text="""I've seen a lot of bootcamp graduates write commit messages""" start="00:07:08.680" video="mainVideo-mentor" id="subtitle"]]
[[!template text="""by going to the command line.""" start="00:07:11.720" video="mainVideo-mentor" id="subtitle"]]
[[!template text="""In my experience, commit messages written in the command line""" start="00:07:14.380" video="mainVideo-mentor" id="subtitle"]]
@@ -200,14 +177,10 @@
[[!template text="""the interface for VS Code's commit is trash.""" start="00:07:35.920" video="mainVideo-mentor" id="subtitle"]]
[[!template text="""It is why I stepped away from VS Code when I was exploring editors.""" start="00:07:38.960" video="mainVideo-mentor" id="subtitle"]]
-[[!template new="1" text="""General strategies""" start="00:07:44.440" video="mainVideo-mentor" id="subtitle"]]
-
-[[!template text="""Next up, my goal is to encourage folks to use editors for writing,""" start="00:07:44.440" video="mainVideo-mentor" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""General strategies""" start="00:07:44.440" video="mainVideo-mentor" id="subtitle"]]</div>[[!template text="""Next up, my goal is to encourage folks to use editors for writing,""" start="00:07:44.440" video="mainVideo-mentor" id="subtitle"]]
[[!template text="""to think about owning that tool.""" start="00:07:48.440" video="mainVideo-mentor" id="subtitle"]]
-[[!template new="1" text="""Commit to one item of learning each week""" start="00:07:52.060" video="mainVideo-mentor" id="subtitle"]]
-
-[[!template text="""I have them try to learn one thing a week.""" start="00:07:52.060" video="mainVideo-mentor" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Commit to one item of learning each week""" start="00:07:52.060" video="mainVideo-mentor" id="subtitle"]]</div>[[!template text="""I have them try to learn one thing a week.""" start="00:07:52.060" video="mainVideo-mentor" id="subtitle"]]
[[!template text="""Maybe they aren't going to learn it,""" start="00:07:54.680" video="mainVideo-mentor" id="subtitle"]]
[[!template text="""but just not to overwhelm them""" start="00:07:55.920" video="mainVideo-mentor" id="subtitle"]]
[[!template text="""and find those high-value things.""" start="00:07:57.800" video="mainVideo-mentor" id="subtitle"]]
@@ -218,9 +191,7 @@
[[!template text="""what you're trying to test and what you're trying to define,""" start="00:08:12.760" video="mainVideo-mentor" id="subtitle"]]
[[!template text="""which can get lost if you do the tree navigation.""" start="00:08:15.480" video="mainVideo-mentor" id="subtitle"]]
-[[!template new="1" text="""Practice within your knowledge domain""" start="00:08:18.960" video="mainVideo-mentor" id="subtitle"]]
-
-[[!template text="""Also I encourage people to practice their domain knowledge.""" start="00:08:18.960" video="mainVideo-mentor" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Practice within your knowledge domain""" start="00:08:18.960" video="mainVideo-mentor" id="subtitle"]]</div>[[!template text="""Also I encourage people to practice their domain knowledge.""" start="00:08:18.960" video="mainVideo-mentor" id="subtitle"]]
[[!template text="""I learned a lot about programming by doing a bunch of things""" start="00:08:22.880" video="mainVideo-mentor" id="subtitle"]]
[[!template text="""related to RPGs---role-playing games.""" start="00:08:27.160" video="mainVideo-mentor" id="subtitle"]]
[[!template text="""I did this previously in Ruby---dice rollers, note takers,""" start="00:08:30.020" video="mainVideo-mentor" id="subtitle"]]
@@ -229,9 +200,7 @@
[[!template text="""and then explore how I code""" start="00:08:40.520" video="mainVideo-mentor" id="subtitle"]]
[[!template text="""and how I can implement things differently.""" start="00:08:42.000" video="mainVideo-mentor" id="subtitle"]]
-[[!template new="1" text="""Note-taking""" start="00:08:47.120" video="mainVideo-mentor" id="subtitle"]]
-
-[[!template text="""Note-taking: pay attention to how folks create a fleeting note.""" start="00:08:47.120" video="mainVideo-mentor" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Note-taking""" start="00:08:47.120" video="mainVideo-mentor" id="subtitle"]]</div>[[!template text="""Note-taking: pay attention to how folks create a fleeting note.""" start="00:08:47.120" video="mainVideo-mentor" id="subtitle"]]
[[!template text="""It can be excruciating as they try to figure out""" start="00:08:51.240" video="mainVideo-mentor" id="subtitle"]]
[[!template text="""&quot;where am I going to put this?&quot;""" start="00:08:54.640" video="mainVideo-mentor" id="subtitle"]]
[[!template text="""&quot;What file?&quot;""" start="00:08:55.600" video="mainVideo-mentor" id="subtitle"]]
@@ -239,9 +208,7 @@
[[!template text="""Emacs, we have the *scratch* buffer or anything else,""" start="00:08:57.660" video="mainVideo-mentor" id="subtitle"]]
[[!template text="""but ask them about their note-taking habits""" start="00:09:01.760" video="mainVideo-mentor" id="subtitle"]]
-[[!template new="1" text="""Help them navigate the proprietary software tar pits""" start="00:09:07.120" video="mainVideo-mentor" id="subtitle"]]
-
-[[!template text="""and help them navigate the proprietary software tar pits.""" start="00:09:07.120" video="mainVideo-mentor" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Help them navigate the proprietary software tar pits""" start="00:09:07.120" video="mainVideo-mentor" id="subtitle"]]</div>[[!template text="""and help them navigate the proprietary software tar pits.""" start="00:09:07.120" video="mainVideo-mentor" id="subtitle"]]
[[!template text="""We know that anything that is venture-capital funded""" start="00:09:11.640" video="mainVideo-mentor" id="subtitle"]]
[[!template text="""will eventually collapse.""" start="00:09:14.360" video="mainVideo-mentor" id="subtitle"]]
[[!template text="""We know that things that don't have a sustainable business model""" start="00:09:16.040" video="mainVideo-mentor" id="subtitle"]]
@@ -252,14 +219,10 @@
[[!template text="""or are they things that are kind of ephemeral?""" start="00:09:30.640" video="mainVideo-mentor" id="subtitle"]]
[[!template text="""And then help them find the thing that makes sense for them.""" start="00:09:33.120" video="mainVideo-mentor" id="subtitle"]]
-[[!template new="1" text="""Help show the joy of holisting computering""" start="00:09:38.520" video="mainVideo-mentor" id="subtitle"]]
-
-[[!template text="""Put another way, I want people to think holistically""" start="00:09:38.520" video="mainVideo-mentor" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Help show the joy of holisting computering""" start="00:09:38.520" video="mainVideo-mentor" id="subtitle"]]</div>[[!template text="""Put another way, I want people to think holistically""" start="00:09:38.520" video="mainVideo-mentor" id="subtitle"]]
[[!template text="""about their generalized &quot;computering&quot; environment.""" start="00:09:43.240" video="mainVideo-mentor" id="subtitle"]]
-[[!template new="1" text="""Playing is for staying""" start="00:09:47.740" video="mainVideo-mentor" id="subtitle"]]
-
-[[!template text="""And I also think about the reason why""" start="00:09:47.740" video="mainVideo-mentor" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Playing is for staying""" start="00:09:47.740" video="mainVideo-mentor" id="subtitle"]]</div>[[!template text="""And I also think about the reason why""" start="00:09:47.740" video="mainVideo-mentor" id="subtitle"]]
[[!template text="""I've stayed a software developer for 25-years plus""" start="00:09:50.080" video="mainVideo-mentor" id="subtitle"]]
[[!template text="""is because I approach all of this as play and storytelling.""" start="00:09:53.680" video="mainVideo-mentor" id="subtitle"]]
[[!template text="""Sometimes happy byproduct is that I ship features and documentation""" start="00:09:58.000" video="mainVideo-mentor" id="subtitle"]]
@@ -268,9 +231,7 @@
[[!template text="""Instead, I'm doing my best to show a myriad of reasons""" start="00:10:07.960" video="mainVideo-mentor" id="subtitle"]]
[[!template text="""for why folks should consider Emacs.""" start="00:10:10.720" video="mainVideo-mentor" id="subtitle"]]
-[[!template new="1" text="""Conclusion""" start="00:10:14.900" video="mainVideo-mentor" id="subtitle"]]
-
-[[!template text="""In conclusion, ask questions.""" start="00:10:14.900" video="mainVideo-mentor" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Conclusion""" start="00:10:14.900" video="mainVideo-mentor" id="subtitle"]]</div>[[!template text="""In conclusion, ask questions.""" start="00:10:14.900" video="mainVideo-mentor" id="subtitle"]]
[[!template text="""Find a person who is a VS Coder and just say,""" start="00:10:18.740" video="mainVideo-mentor" id="subtitle"]]
[[!template text="""&quot;hey, I learned something new.&quot;""" start="00:10:22.400" video="mainVideo-mentor" id="subtitle"]]
[[!template text="""We play this game all the time, me and my coworker Kirk.""" start="00:10:23.880" video="mainVideo-mentor" id="subtitle"]]
@@ -281,12 +242,11 @@
[[!template text="""but then again, that's Emacs.""" start="00:10:36.680" video="mainVideo-mentor" id="subtitle"]]
[[!template text="""Thank you, and I look forward to your questions.""" start="00:10:38.720" video="mainVideo-mentor" id="subtitle"]]
-
+</div>
Captioner: hannah
-<a name="mentor-qanda-transcript"></a>
-# Q&A transcript (unedited)
+<div class="transcript transcript-qanda"><a name="mentor-qanda-transcript"></a><h1>Q&A transcript (unedited)</h1>
[[!template text="""[Speaker 0]: 2 seconds. And I think we are live.""" start="00:00:09.480" video="qanda-mentor" id="subtitle"]]
[[!template text="""Hi, Jeremy, how are you doing?""" start="00:00:10.760" video="qanda-mentor" id="subtitle"]]
@@ -784,9 +744,7 @@ Captioner: hannah
[[!template text="""[Speaker 1]: Absolutely. Thank you.""" start="00:23:19.040" video="qanda-mentor" id="subtitle"]]
[[!template text="""[Speaker 0]: Bye-bye. Bye.""" start="00:23:21.220" video="qanda-mentor" id="subtitle"]]
-[[!template new="1" text="""Start of section to review""" start="00:23:26.400" video="qanda-mentor" id="subtitle"]]
-
-[[!template text="""[Speaker 2]: See you. Hello. One of the things with Emacs is""" start="00:23:26.400" video="qanda-mentor" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Start of section to review""" start="00:23:26.400" video="qanda-mentor" id="subtitle"]]</div>[[!template text="""[Speaker 2]: See you. Hello. One of the things with Emacs is""" start="00:23:26.400" video="qanda-mentor" id="subtitle"]]
[[!template text="""it's not... It's like when you change the""" start="00:23:28.740" video="qanda-mentor" id="subtitle"]]
[[!template text="""file management, you just change very,""" start="00:23:30.860" video="qanda-mentor" id="subtitle"]]
[[!template text="""very small amounts of what exactly you need,""" start="00:23:33.480" video="qanda-mentor" id="subtitle"]]
@@ -1786,7 +1744,7 @@ Captioner: hannah
[[!template text="""And now have a good rest of your Sunday.""" start="01:13:41.760" video="qanda-mentor" id="subtitle"]]
[[!template text="""Bye.""" start="01:13:43.100" video="qanda-mentor" id="subtitle"]]
-Questions or comments? Please e-mail [jeremy@jeremyfriesen.com](mailto:jeremy@jeremyfriesen.com?subject=Comment%20for%20EmacsConf%202023%20mentor%3A%20Mentoring%20VS-Coders%20as%20an%20Emacsian%20%28or%20How%20to%20show%20not%20tell%20people%20about%20the%20wonders%20of%20Emacs%29)
+</div>Questions or comments? Please e-mail [jeremy@jeremyfriesen.com](mailto:jeremy@jeremyfriesen.com?subject=Comment%20for%20EmacsConf%202023%20mentor%3A%20Mentoring%20VS-Coders%20as%20an%20Emacsian%20%28or%20How%20to%20show%20not%20tell%20people%20about%20the%20wonders%20of%20Emacs%29)
<!-- End of emacsconf-publish-after-page -->
diff --git a/2023/info/mentor-before.md b/2023/info/mentor-before.md
index bcf457eb..114baf27 100644
--- a/2023/info/mentor-before.md
+++ b/2023/info/mentor-before.md
@@ -1,6 +1,6 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
[[!toc ]]
-Format: 11-min talk; Q&A: BigBlueButton conference room
+Format: 11-min talk ; Q&A: BigBlueButton conference room
Status: TO_INDEX_QA
@@ -9,10 +9,10 @@ Status: TO_INDEX_QA
# Talk
-<div class="vid"><video controls preload="none" id="mentor-mainVideo"><source src="https://media.emacsconf.org/2023/emacsconf-2023-mentor--mentoring-vscoders-as-an-emacsian-or-how-to-show-not-tell-people-about-the-wonders-of-emacs--jeremy-friesen--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-mentor--mentoring-vscoders-as-an-emacsian-or-how-to-show-not-tell-people-about-the-wonders-of-emacs--jeremy-friesen--main.vtt" default />"""<p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video><div></div>Duration: 10:44 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-mentor--mentoring-vscoders-as-an-emacsian-or-how-to-show-not-tell-people-about-the-wonders-of-emacs--jeremy-friesen--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-mentor--mentoring-vscoders-as-an-emacsian-or-how-to-show-not-tell-people-about-the-wonders-of-emacs--jeremy-friesen--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-mentor--mentoring-vscoders-as-an-emacsian-or-how-to-show-not-tell-people-about-the-wonders-of-emacs--jeremy-friesen--main.opus">Download --main.opus (6.2MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-mentor--mentoring-vscoders-as-an-emacsian-or-how-to-show-not-tell-people-about-the-wonders-of-emacs--jeremy-friesen--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-mentor--mentoring-vscoders-as-an-emacsian-or-how-to-show-not-tell-people-about-the-wonders-of-emacs--jeremy-friesen--main.webm">Download --main.webm (26MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-mentor--mentoring-vscoders-as-an-emacsian-or-how-to-show-not-tell-people-about-the-wonders-of-emacs--jeremy-friesen--pad.html">Download --pad.html</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-mentor--mentoring-vscoders-as-an-emacsian-or-how-to-show-not-tell-people-about-the-wonders-of-emacs--jeremy-friesen--pad.md">Download --pad.md</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-mentor--mentoring-vscoders-as-an-emacsian-or-how-to-show-not-tell-people-about-the-wonders-of-emacs--jeremy-friesen.pdf">Download .pdf</a></li><li><a href="https://toobnix.org/w/sV9eKtGiPYZi5urxjoqerv">View on Toobnix</a></li></ul></div></div>
+<div class="vid mainVideo"><video controls preload="none" id="mainVideo-mentor"><source src="https://media.emacsconf.org/2023/emacsconf-2023-mentor--mentoring-vscoders-as-an-emacsian-or-how-to-show-not-tell-people-about-the-wonders-of-emacs--jeremy-friesen--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-mentor--mentoring-vscoders-as-an-emacsian-or-how-to-show-not-tell-people-about-the-wonders-of-emacs--jeremy-friesen--main.vtt" default />"""<p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video><div></div>Duration: 10:44 minutes<div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2023-mentor">Open Etherpad</a></li><li><a href="https://bbb.emacsverse.org/playback/presentation/2.0/playback.html?meetingId=d3faf3bd5abcc5316e6a997b22b29d962480ad5c-1701630488401">Play recording from BigBlueButton</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-mentor--mentoring-vscoders-as-an-emacsian-or-how-to-show-not-tell-people-about-the-wonders-of-emacs--jeremy-friesen--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-mentor--mentoring-vscoders-as-an-emacsian-or-how-to-show-not-tell-people-about-the-wonders-of-emacs--jeremy-friesen--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-mentor--mentoring-vscoders-as-an-emacsian-or-how-to-show-not-tell-people-about-the-wonders-of-emacs--jeremy-friesen--main.opus">Download --main.opus (6.2MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-mentor--mentoring-vscoders-as-an-emacsian-or-how-to-show-not-tell-people-about-the-wonders-of-emacs--jeremy-friesen--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-mentor--mentoring-vscoders-as-an-emacsian-or-how-to-show-not-tell-people-about-the-wonders-of-emacs--jeremy-friesen--main.webm">Download --main.webm (26MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-mentor--mentoring-vscoders-as-an-emacsian-or-how-to-show-not-tell-people-about-the-wonders-of-emacs--jeremy-friesen.pdf">Download .pdf</a></li><li><a href="https://toobnix.org/w/sV9eKtGiPYZi5urxjoqerv">View on Toobnix</a></li><li><a href="https://www.youtube.com/watch?v=44rt1f1llhQ">View on Youtube</a></li></ul></div></div>
# Q&A
-<div class="vid"><video controls preload="none" id="mentor-qanda"><source src="https://media.emacsconf.org/2023/emacsconf-2023-mentor--mentoring-vscoders-as-an-emacsian-or-how-to-show-not-tell-people-about-the-wonders-of-emacs--jeremy-friesen--answers.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-mentor--mentoring-vscoders-as-an-emacsian-or-how-to-show-not-tell-people-about-the-wonders-of-emacs--jeremy-friesen--answers.vtt" default />"""<p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video><div>Listen to just the audio:<br /><audio controls preload="none" id="mentor-qanda-audio" src="https://media.emacsconf.org/2023/emacsconf-2023-mentor--mentoring-vscoders-as-an-emacsian-or-how-to-show-not-tell-people-about-the-wonders-of-emacs--jeremy-friesen--answers.opus"></audio></div><div></div>Duration: 1:13:43 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-mentor--mentoring-vscoders-as-an-emacsian-or-how-to-show-not-tell-people-about-the-wonders-of-emacs--jeremy-friesen--answers--trimmed.webm">Download --answers--trimmed.webm (176MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-mentor--mentoring-vscoders-as-an-emacsian-or-how-to-show-not-tell-people-about-the-wonders-of-emacs--jeremy-friesen--answers.opus">Download --answers.opus (25MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-mentor--mentoring-vscoders-as-an-emacsian-or-how-to-show-not-tell-people-about-the-wonders-of-emacs--jeremy-friesen--answers.vtt">Download --answers.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-mentor--mentoring-vscoders-as-an-emacsian-or-how-to-show-not-tell-people-about-the-wonders-of-emacs--jeremy-friesen--answers.webm">Download --answers.webm (176MB)</a></li></ul></div></div>
+<div class="vid qanda"><video controls preload="none" id="qanda-mentor"><source src="https://media.emacsconf.org/2023/emacsconf-2023-mentor--mentoring-vscoders-as-an-emacsian-or-how-to-show-not-tell-people-about-the-wonders-of-emacs--jeremy-friesen--answers.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-mentor--mentoring-vscoders-as-an-emacsian-or-how-to-show-not-tell-people-about-the-wonders-of-emacs--jeremy-friesen--answers.vtt" default />"""<p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video><div>Listen to just the audio:<br /><audio controls preload="none" id="qanda-mentor-audio" src="https://media.emacsconf.org/2023/emacsconf-2023-mentor--mentoring-vscoders-as-an-emacsian-or-how-to-show-not-tell-people-about-the-wonders-of-emacs--jeremy-friesen--answers.opus"></audio></div><div></div>Duration: 1:13:43 minutes<div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2023-mentor">Open Etherpad</a></li><li><a href="https://bbb.emacsverse.org/playback/presentation/2.0/playback.html?meetingId=d3faf3bd5abcc5316e6a997b22b29d962480ad5c-1701630488401">Play recording from BigBlueButton</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-mentor--mentoring-vscoders-as-an-emacsian-or-how-to-show-not-tell-people-about-the-wonders-of-emacs--jeremy-friesen--answers--trimmed.webm">Download --answers--trimmed.webm (176MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-mentor--mentoring-vscoders-as-an-emacsian-or-how-to-show-not-tell-people-about-the-wonders-of-emacs--jeremy-friesen--answers.opus">Download --answers.opus (25MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-mentor--mentoring-vscoders-as-an-emacsian-or-how-to-show-not-tell-people-about-the-wonders-of-emacs--jeremy-friesen--answers.vtt">Download --answers.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-mentor--mentoring-vscoders-as-an-emacsian-or-how-to-show-not-tell-people-about-the-wonders-of-emacs--jeremy-friesen--answers.webm">Download --answers.webm (176MB)</a></li></ul></div></div>
# Description
<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2023/info/mentor-nav.md b/2023/info/mentor-nav.md
index 86a45646..66cf8ef4 100644
--- a/2023/info/mentor-nav.md
+++ b/2023/info/mentor-nav.md
@@ -3,5 +3,5 @@
Back to the [[talks]]
Previous by track: <a href="/2023/talks/steno">Programming with steno</a>
Next by track: <a href="/2023/talks/web">Emacs saves the Web (maybe)</a>
-Track: <span class="sched-track General">General</span>
+Track: <span class="sched-track General">General</span> - <strong><a href="https://emacsconf.org/2023/watch/gen">Watch</a></strong>
</div>
diff --git a/2023/info/nabokov-after.md b/2023/info/nabokov-after.md
index 0e1ccfe4..1e45bfcc 100644
--- a/2023/info/nabokov-after.md
+++ b/2023/info/nabokov-after.md
@@ -1,13 +1,10 @@
<!-- Automatically generated by emacsconf-publish-after-page -->
-<a name="nabokov-mainVideo-transcript"></a>
-# Transcript
+<div class="transcript transcript-mainVideo"><a name="nabokov-mainVideo-transcript"></a><h1>Transcript</h1>
-[[!template new="1" text="""Introduction""" start="00:00:00.000" video="mainVideo-nabokov" id="subtitle"]]
-
-[[!template text="""Hello, fellow Emacs enthusiasts.""" start="00:00:00.000" video="mainVideo-nabokov" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Introduction""" start="00:00:00.000" video="mainVideo-nabokov" id="subtitle"]]</div>[[!template text="""Hello, fellow Emacs enthusiasts.""" start="00:00:00.000" video="mainVideo-nabokov" id="subtitle"]]
[[!template text="""My name is Edmund Jorgensen.""" start="00:00:05.240" video="mainVideo-nabokov" id="subtitle"]]
[[!template text="""I'm a software engineer by day,""" start="00:00:06.800" video="mainVideo-nabokov" id="subtitle"]]
[[!template text="""but by night I love to write novels,""" start="00:00:08.520" video="mainVideo-nabokov" id="subtitle"]]
@@ -32,9 +29,7 @@
[[!template text="""with an interest in literature or Emacs""" start="00:00:42.040" video="mainVideo-nabokov" id="subtitle"]]
[[!template text="""will find something to take away.""" start="00:00:44.080" video="mainVideo-nabokov" id="subtitle"]]
-[[!template new="1" text="""Nabokov's process of writing novels""" start="00:00:45.760" video="mainVideo-nabokov" id="subtitle"]]
-
-[[!template text="""So let's get to it.""" start="00:00:45.760" video="mainVideo-nabokov" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Nabokov's process of writing novels""" start="00:00:45.760" video="mainVideo-nabokov" id="subtitle"]]</div>[[!template text="""So let's get to it.""" start="00:00:45.760" video="mainVideo-nabokov" id="subtitle"]]
[[!template text="""Here's a picture of a man lying on a bed,""" start="00:00:51.120" video="mainVideo-nabokov" id="subtitle"]]
[[!template text="""writing something on an index card.""" start="00:00:53.920" video="mainVideo-nabokov" id="subtitle"]]
[[!template text="""If we didn't know any better,""" start="00:00:56.000" video="mainVideo-nabokov" id="subtitle"]]
@@ -77,9 +72,7 @@
[[!template text="""to three of the most pressing practical problems""" start="00:02:15.200" video="mainVideo-nabokov" id="subtitle"]]
[[!template text="""that every novelist faces.""" start="00:02:18.000" video="mainVideo-nabokov" id="subtitle"]]
-[[!template new="1" text="""Three practical problems novelists face""" start="00:02:24.080" video="mainVideo-nabokov" id="subtitle"]]
-
-[[!template text="""Writing a good novel""" start="00:02:24.080" video="mainVideo-nabokov" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Three practical problems novelists face""" start="00:02:24.080" video="mainVideo-nabokov" id="subtitle"]]</div>[[!template text="""Writing a good novel""" start="00:02:24.080" video="mainVideo-nabokov" id="subtitle"]]
[[!template text="""is artistically difficult, of course.""" start="00:02:25.307" video="mainVideo-nabokov" id="subtitle"]]
[[!template text="""You have to write something interesting""" start="00:02:27.480" video="mainVideo-nabokov" id="subtitle"]]
[[!template text="""with a good story,""" start="00:02:28.960" video="mainVideo-nabokov" id="subtitle"]]
@@ -146,9 +139,7 @@
[[!template text="""So that's why Nabokov loved index cards""" start="00:04:42.000" video="mainVideo-nabokov" id="subtitle"]]
[[!template text="""for writing novels.""" start="00:04:45.307" video="mainVideo-nabokov" id="subtitle"]]
-[[!template new="1" text="""Org mode for writing novels""" start="00:04:46.560" video="mainVideo-nabokov" id="subtitle"]]
-
-[[!template text="""Now I'd love to talk about""" start="00:04:46.560" video="mainVideo-nabokov" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Org mode for writing novels""" start="00:04:46.560" video="mainVideo-nabokov" id="subtitle"]]</div>[[!template text="""Now I'd love to talk about""" start="00:04:46.560" video="mainVideo-nabokov" id="subtitle"]]
[[!template text="""why I love Org mode so much for writing novels""" start="00:04:48.760" video="mainVideo-nabokov" id="subtitle"]]
[[!template text="""and how it helps me tackle those same challenges.""" start="00:04:51.280" video="mainVideo-nabokov" id="subtitle"]]
[[!template text="""The first practical challenge,""" start="00:04:54.000" video="mainVideo-nabokov" id="subtitle"]]
@@ -247,9 +238,7 @@
[[!template text="""novels and other long-form prose,""" start="00:08:51.880" video="mainVideo-nabokov" id="subtitle"]]
[[!template text="""and how Org mode can help tackle them.""" start="00:08:53.600" video="mainVideo-nabokov" id="subtitle"]]
-[[!template new="1" text="""Takeaways and next steps""" start="00:08:55.600" video="mainVideo-nabokov" id="subtitle"]]
-
-[[!template text="""I'd like to leave you with a couple takeaways""" start="00:08:55.600" video="mainVideo-nabokov" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Takeaways and next steps""" start="00:08:55.600" video="mainVideo-nabokov" id="subtitle"]]</div>[[!template text="""I'd like to leave you with a couple takeaways""" start="00:08:55.600" video="mainVideo-nabokov" id="subtitle"]]
[[!template text="""and next steps for those who are interested.""" start="00:08:57.880" video="mainVideo-nabokov" id="subtitle"]]
[[!template text="""First, if you're writing a novel""" start="00:08:59.760" video="mainVideo-nabokov" id="subtitle"]]
[[!template text="""or other long-form prose,""" start="00:09:01.907" video="mainVideo-nabokov" id="subtitle"]]
@@ -272,12 +261,11 @@
[[!template text="""I'll put a link here below. [ewj.io/emacs]""" start="00:09:37.760" video="mainVideo-nabokov" id="subtitle"]]
[[!template text="""Thanks for listening, and Emacs on!""" start="00:09:44.000" video="mainVideo-nabokov" id="subtitle"]]
-
+</div>
Captioner: bhavin192
-<a name="nabokov-qanda-transcript"></a>
-# Q&A transcript (unedited)
+<div class="transcript transcript-qanda"><a name="nabokov-qanda-transcript"></a><h1>Q&A transcript (unedited)</h1>
[[!template text="""[Speaker 0]: About 3""" start="00:00:03.560" video="qanda-nabokov" id="subtitle"]]
[[!template text="""seconds. And I believe we are live.""" start="00:00:16.020" video="qanda-nabokov" id="subtitle"]]
@@ -506,7 +494,7 @@ Captioner: bhavin192
[[!template text="""and thank you again, Edmund.""" start="00:09:19.900" video="qanda-nabokov" id="subtitle"]]
[[!template text="""[Speaker 1]: Cheers.""" start="00:09:20.720" video="qanda-nabokov" id="subtitle"]]
-Questions or comments? Please e-mail [ewj@inkwellandoften.com](mailto:ewj@inkwellandoften.com?subject=Comment%20for%20EmacsConf%202023%20nabokov%3A%20Why%20Nabokov%20would%20use%20Org-Mode%20if%20he%20were%20writing%20today)
+</div>Questions or comments? Please e-mail [ewj@inkwellandoften.com](mailto:ewj@inkwellandoften.com?subject=Comment%20for%20EmacsConf%202023%20nabokov%3A%20Why%20Nabokov%20would%20use%20Org-Mode%20if%20he%20were%20writing%20today)
<!-- End of emacsconf-publish-after-page -->
diff --git a/2023/info/nabokov-before.md b/2023/info/nabokov-before.md
index e9aa2951..b24c82de 100644
--- a/2023/info/nabokov-before.md
+++ b/2023/info/nabokov-before.md
@@ -1,6 +1,6 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
[[!toc ]]
-Format: 10-min talk; Q&A: BigBlueButton conference room
+Format: 10-min talk ; Q&A: BigBlueButton conference room
Status: Q&A to be extracted from the room recordings
@@ -9,17 +9,17 @@ Status: Q&A to be extracted from the room recordings
# Talk
-<div class="vid"><video controls preload="none" id="nabokov-mainVideo"><source src="https://media.emacsconf.org/2023/emacsconf-2023-nabokov--why-nabokov-would-use-orgmode-if-he-were-writing-today--edmund-jorgensen--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-nabokov--why-nabokov-would-use-orgmode-if-he-were-writing-today--edmund-jorgensen--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2023/captions/emacsconf-2023-nabokov--why-nabokov-would-use-orgmode-if-he-were-writing-today--edmund-jorgensen--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="nabokov-mainVideo" data="""
+<div class="vid mainVideo"><video controls preload="none" id="mainVideo-nabokov"><source src="https://media.emacsconf.org/2023/emacsconf-2023-nabokov--why-nabokov-would-use-orgmode-if-he-were-writing-today--edmund-jorgensen--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-nabokov--why-nabokov-would-use-orgmode-if-he-were-writing-today--edmund-jorgensen--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2023/captions/emacsconf-2023-nabokov--why-nabokov-would-use-orgmode-if-he-were-writing-today--edmund-jorgensen--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-nabokov" data="""
00:00.000 Introduction
00:45.760 Nabokov's process of writing novels
02:24.080 Three practical problems novelists face
04:46.560 Org mode for writing novels
08:55.600 Takeaways and next steps
-"""]]<div></div>Duration: 09:51 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-nabokov--why-nabokov-would-use-orgmode-if-he-were-writing-today--edmund-jorgensen--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-nabokov--why-nabokov-would-use-orgmode-if-he-were-writing-today--edmund-jorgensen--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-nabokov--why-nabokov-would-use-orgmode-if-he-were-writing-today--edmund-jorgensen--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-nabokov--why-nabokov-would-use-orgmode-if-he-were-writing-today--edmund-jorgensen--main.opus">Download --main.opus (6.3MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-nabokov--why-nabokov-would-use-orgmode-if-he-were-writing-today--edmund-jorgensen--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-nabokov--why-nabokov-would-use-orgmode-if-he-were-writing-today--edmund-jorgensen--main.webm">Download --main.webm (22MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-nabokov--why-nabokov-would-use-orgmode-if-he-were-writing-today--edmund-jorgensen--pad.html">Download --pad.html</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-nabokov--why-nabokov-would-use-orgmode-if-he-were-writing-today--edmund-jorgensen--pad.md">Download --pad.md</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-nabokov--why-nabokov-would-use-orgmode-if-he-were-writing-today--edmund-jorgensen--silence.mkv">Download --silence.mkv (12MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-nabokov--why-nabokov-would-use-orgmode-if-he-were-writing-today--edmund-jorgensen.org">Download .org</a></li><li><a href="https://toobnix.org/w/bDou9TDETryMt18KcdB56A">View on Toobnix</a></li></ul></div></div>
+"""]]<div></div>Duration: 09:51 minutes<div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2023-nabokov">Open Etherpad</a></li><li><a href="https://bbb.emacsverse.org/playback/presentation/2.0/playback.html?meetingId=d4fb146b412ea04565adc44dfe1a9162d553b956-1701540322974">Play recording from BigBlueButton</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-nabokov--why-nabokov-would-use-orgmode-if-he-were-writing-today--edmund-jorgensen--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-nabokov--why-nabokov-would-use-orgmode-if-he-were-writing-today--edmund-jorgensen--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-nabokov--why-nabokov-would-use-orgmode-if-he-were-writing-today--edmund-jorgensen--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-nabokov--why-nabokov-would-use-orgmode-if-he-were-writing-today--edmund-jorgensen--main.opus">Download --main.opus (6.3MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-nabokov--why-nabokov-would-use-orgmode-if-he-were-writing-today--edmund-jorgensen--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-nabokov--why-nabokov-would-use-orgmode-if-he-were-writing-today--edmund-jorgensen--main.webm">Download --main.webm (22MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-nabokov--why-nabokov-would-use-orgmode-if-he-were-writing-today--edmund-jorgensen--silence.mkv">Download --silence.mkv (12MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-nabokov--why-nabokov-would-use-orgmode-if-he-were-writing-today--edmund-jorgensen.org">Download .org</a></li><li><a href="https://toobnix.org/w/bDou9TDETryMt18KcdB56A">View on Toobnix</a></li><li><a href="https://www.youtube.com/watch?v=-E_uNxwL2_I">View on Youtube</a></li></ul></div></div>
# Q&A
-<div class="vid"><video controls preload="none" id="nabokov-qanda"><source src="https://media.emacsconf.org/2023/emacsconf-2023-nabokov--why-nabokov-would-use-orgmode-if-he-were-writing-today--edmund-jorgensen--answers.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-nabokov--why-nabokov-would-use-orgmode-if-he-were-writing-today--edmund-jorgensen--answers.vtt" default />"""<p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video><div>Listen to just the audio:<br /><audio controls preload="none" id="nabokov-qanda-audio" src="https://media.emacsconf.org/2023/emacsconf-2023-nabokov--why-nabokov-would-use-orgmode-if-he-were-writing-today--edmund-jorgensen--answers.opus"></audio></div><div></div>Duration: 09:21 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-nabokov--why-nabokov-would-use-orgmode-if-he-were-writing-today--edmund-jorgensen--answers.json">Download --answers.json</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-nabokov--why-nabokov-would-use-orgmode-if-he-were-writing-today--edmund-jorgensen--answers.opus">Download --answers.opus (3.1MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-nabokov--why-nabokov-would-use-orgmode-if-he-were-writing-today--edmund-jorgensen--answers.vtt">Download --answers.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-nabokov--why-nabokov-would-use-orgmode-if-he-were-writing-today--edmund-jorgensen--answers.webm">Download --answers.webm (9.1MB)</a></li></ul></div></div>
+<div class="vid qanda"><video controls preload="none" id="qanda-nabokov"><source src="https://media.emacsconf.org/2023/emacsconf-2023-nabokov--why-nabokov-would-use-orgmode-if-he-were-writing-today--edmund-jorgensen--answers.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-nabokov--why-nabokov-would-use-orgmode-if-he-were-writing-today--edmund-jorgensen--answers.vtt" default />"""<p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video><div>Listen to just the audio:<br /><audio controls preload="none" id="qanda-nabokov-audio" src="https://media.emacsconf.org/2023/emacsconf-2023-nabokov--why-nabokov-would-use-orgmode-if-he-were-writing-today--edmund-jorgensen--answers.opus"></audio></div><div></div>Duration: 09:21 minutes<div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2023-nabokov">Open Etherpad</a></li><li><a href="https://bbb.emacsverse.org/playback/presentation/2.0/playback.html?meetingId=d4fb146b412ea04565adc44dfe1a9162d553b956-1701540322974">Play recording from BigBlueButton</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-nabokov--why-nabokov-would-use-orgmode-if-he-were-writing-today--edmund-jorgensen--answers.json">Download --answers.json</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-nabokov--why-nabokov-would-use-orgmode-if-he-were-writing-today--edmund-jorgensen--answers.opus">Download --answers.opus (3.1MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-nabokov--why-nabokov-would-use-orgmode-if-he-were-writing-today--edmund-jorgensen--answers.vtt">Download --answers.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-nabokov--why-nabokov-would-use-orgmode-if-he-were-writing-today--edmund-jorgensen--answers.webm">Download --answers.webm (9.1MB)</a></li></ul></div></div>
# Description
<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2023/info/nabokov-nav.md b/2023/info/nabokov-nav.md
index f7ef3f32..c0a6997d 100644
--- a/2023/info/nabokov-nav.md
+++ b/2023/info/nabokov-nav.md
@@ -3,5 +3,5 @@
Back to the [[talks]]
Previous by track: <a href="/2023/talks/writing">Emacs turbo-charges my writing</a>
Next by track: <a href="/2023/talks/collab">Collaborative data processing and documenting using org-babel</a>
-Track: <span class="sched-track General">General</span>
+Track: <span class="sched-track General">General</span> - <strong><a href="https://emacsconf.org/2023/watch/gen">Watch</a></strong>
</div>
diff --git a/2023/info/one-after.md b/2023/info/one-after.md
index e7b63c57..7af4f390 100644
--- a/2023/info/one-after.md
+++ b/2023/info/one-after.md
@@ -1,13 +1,10 @@
<!-- Automatically generated by emacsconf-publish-after-page -->
-<a name="one-mainVideo-transcript"></a>
-# Transcript
+<div class="transcript transcript-mainVideo"><a name="one-mainVideo-transcript"></a><h1>Transcript</h1>
-[[!template new="1" text="""Introduction""" start="00:00:00.000" video="mainVideo-one" id="subtitle"]]
-
-[[!template text="""Hi, everybody. Welcome to the EmacsConf 2023.""" start="00:00:00.000" video="mainVideo-one" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Introduction""" start="00:00:00.000" video="mainVideo-one" id="subtitle"]]</div>[[!template text="""Hi, everybody. Welcome to the EmacsConf 2023.""" start="00:00:00.000" video="mainVideo-one" id="subtitle"]]
[[!template text="""I hope you're doing well and you're having fun.""" start="00:00:04.160" video="mainVideo-one" id="subtitle"]]
[[!template text="""I'm Tony Aldon, and in this talk,""" start="00:00:06.400" video="mainVideo-one" id="subtitle"]]
[[!template text="""we are going to see how to build a static website""" start="00:00:08.360" video="mainVideo-one" id="subtitle"]]
@@ -16,9 +13,7 @@
[[!template text="""all the people who organized that conference,""" start="00:00:17.600" video="mainVideo-one" id="subtitle"]]
[[!template text="""so thank you all for the great work.""" start="00:00:20.560" video="mainVideo-one" id="subtitle"]]
-[[!template new="1" text="""Documentation""" start="00:00:24.000" video="mainVideo-one" id="subtitle"]]
-
-[[!template text="""Now let's jump into the documentation of one.el,""" start="00:00:24.000" video="mainVideo-one" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Documentation""" start="00:00:24.000" video="mainVideo-one" id="subtitle"]]</div>[[!template text="""Now let's jump into the documentation of one.el,""" start="00:00:24.000" video="mainVideo-one" id="subtitle"]]
[[!template text="""which is built with one.el. In the install page,""" start="00:00:27.720" video="mainVideo-one" id="subtitle"]]
[[!template text="""we can see that we have a sidebar""" start="00:00:31.680" video="mainVideo-one" id="subtitle"]]
[[!template text="""with all of the pages in the documentation,""" start="00:00:33.080" video="mainVideo-one" id="subtitle"]]
@@ -52,9 +47,7 @@
[[!template text="""and if we want to change the layout, CSS and Emacs Lisp.""" start="00:01:55.120" video="mainVideo-one" id="subtitle"]]
[[!template text="""This is one.el.""" start="00:01:58.680" video="mainVideo-one" id="subtitle"]]
-[[!template new="1" text="""Starting a new project""" start="00:02:02.200" video="mainVideo-one" id="subtitle"]]
-
-[[!template text="""Now let's go to our node,""" start="00:02:02.200" video="mainVideo-one" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Starting a new project""" start="00:02:02.200" video="mainVideo-one" id="subtitle"]]</div>[[!template text="""Now let's go to our node,""" start="00:02:02.200" video="mainVideo-one" id="subtitle"]]
[[!template text="""and we are going to start a new project.""" start="00:02:03.880" video="mainVideo-one" id="subtitle"]]
[[!template text="""How do we do that?""" start="00:02:07.160" video="mainVideo-one" id="subtitle"]]
[[!template text="""In a new empty directory,""" start="00:02:09.600" video="mainVideo-one" id="subtitle"]]
@@ -64,9 +57,7 @@
[[!template text="""five default type of pages that we have,""" start="00:02:22.320" video="mainVideo-one" id="subtitle"]]
[[!template text="""and one CSS file.""" start="00:02:25.760" video="mainVideo-one" id="subtitle"]]
-[[!template new="1" text="""Building""" start="00:02:27.400" video="mainVideo-one" id="subtitle"]]
-
-[[!template text="""How to build that website?""" start="00:02:27.400" video="mainVideo-one" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Building""" start="00:02:27.400" video="mainVideo-one" id="subtitle"]]</div>[[!template text="""How to build that website?""" start="00:02:27.400" video="mainVideo-one" id="subtitle"]]
[[!template text="""Okay, so we call the function `one-build`.""" start="00:02:29.440" video="mainVideo-one" id="subtitle"]]
[[!template text="""This builds the website.""" start="00:02:32.840" video="mainVideo-one" id="subtitle"]]
[[!template text="""We jump into a terminal, and now if we run tree,""" start="00:02:33.960" video="mainVideo-one" id="subtitle"]]
@@ -84,9 +75,7 @@
[[!template text="""this will be reloaded in the browser.""" start="00:03:11.760" video="mainVideo-one" id="subtitle"]]
[[!template text="""So one, this is that website, is now this one.""" start="00:03:14.320" video="mainVideo-one" id="subtitle"]]
-[[!template new="1" text="""Side by side""" start="00:03:19.760" video="mainVideo-one" id="subtitle"]]
-
-[[!template text="""So let's put them side by side.""" start="00:03:19.760" video="mainVideo-one" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Side by side""" start="00:03:19.760" video="mainVideo-one" id="subtitle"]]</div>[[!template text="""So let's put them side by side.""" start="00:03:19.760" video="mainVideo-one" id="subtitle"]]
[[!template text="""We go there, and we may do something like that.""" start="00:03:22.560" video="mainVideo-one" id="subtitle"]]
[[!template text="""So one.el, the home page, so our custom ID""" start="00:03:26.320" video="mainVideo-one" id="subtitle"]]
[[!template text="""with the value just a /,""" start="00:03:30.240" video="mainVideo-one" id="subtitle"]]
@@ -108,9 +97,7 @@
[[!template text="""We do a grep in that files,""" start="00:04:25.680" video="mainVideo-one" id="subtitle"]]
[[!template text="""and we see the different default render function.""" start="00:04:28.360" video="mainVideo-one" id="subtitle"]]
-[[!template new="1" text="""Writing a render function""" start="00:04:32.160" video="mainVideo-one" id="subtitle"]]
-
-[[!template text="""In the second part of that talk,""" start="00:04:32.160" video="mainVideo-one" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Writing a render function""" start="00:04:32.160" video="mainVideo-one" id="subtitle"]]</div>[[!template text="""In the second part of that talk,""" start="00:04:32.160" video="mainVideo-one" id="subtitle"]]
[[!template text="""we are going to write a render function.""" start="00:04:34.840" video="mainVideo-one" id="subtitle"]]
[[!template text="""So we are going to see that after.""" start="00:04:38.400" video="mainVideo-one" id="subtitle"]]
[[!template text="""Now maybe we can go to the default page,""" start="00:04:41.080" video="mainVideo-one" id="subtitle"]]
@@ -129,9 +116,7 @@
[[!template text="""If we use that one, this just renders the current page.""" start="00:05:34.080" video="mainVideo-one" id="subtitle"]]
[[!template text="""So we see that we have again &quot;foo bar baz&quot; in the page.""" start="00:05:39.480" video="mainVideo-one" id="subtitle"]]
-[[!template new="1" text="""New page""" start="00:05:44.680" video="mainVideo-one" id="subtitle"]]
-
-[[!template text="""Now let's add a new page. To add a new page,""" start="00:05:44.680" video="mainVideo-one" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""New page""" start="00:05:44.680" video="mainVideo-one" id="subtitle"]]</div>[[!template text="""Now let's add a new page. To add a new page,""" start="00:05:44.680" video="mainVideo-one" id="subtitle"]]
[[!template text="""we just have to copy one of them, maybe the default page.""" start="00:05:47.920" video="mainVideo-one" id="subtitle"]]
[[!template text="""We are going to call it maybe emacsconf-2023.""" start="00:05:52.200" video="mainVideo-one" id="subtitle"]]
[[!template text="""We still use one default render function to render it,""" start="00:05:58.320" video="mainVideo-one" id="subtitle"]]
@@ -145,9 +130,7 @@
[[!template text="""and pass it the path `/blog/emacsconf-2023/.""" start="00:06:33.600" video="mainVideo-one" id="subtitle"]]
[[!template text="""So we have that new page.""" start="00:06:39.280" video="mainVideo-one" id="subtitle"]]
-[[!template new="1" text="""Linking between pages""" start="00:06:41.720" video="mainVideo-one" id="subtitle"]]
-
-[[!template text="""Now, how to link between pages?""" start="00:06:41.720" video="mainVideo-one" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Linking between pages""" start="00:06:41.720" video="mainVideo-one" id="subtitle"]]</div>[[!template text="""Now, how to link between pages?""" start="00:06:41.720" video="mainVideo-one" id="subtitle"]]
[[!template text="""So we are going to write a link""" start="00:06:44.160" video="mainVideo-one" id="subtitle"]]
[[!template text="""that links to the last page,""" start="00:06:46.080" video="mainVideo-one" id="subtitle"]]
[[!template text="""so a page with the table of contents.""" start="00:06:48.000" video="mainVideo-one" id="subtitle"]]
@@ -184,9 +167,7 @@
[[!template text="""that works inside Emacs""" start="00:08:34.440" video="mainVideo-one" id="subtitle"]]
[[!template text="""and that works well also in the browser.""" start="00:08:36.320" video="mainVideo-one" id="subtitle"]]
-[[!template new="1" text="""CSS""" start="00:08:40.000" video="mainVideo-one" id="subtitle"]]
-
-[[!template text="""Now let's say that we want to change the CSS.""" start="00:08:40.000" video="mainVideo-one" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""CSS""" start="00:08:40.000" video="mainVideo-one" id="subtitle"]]</div>[[!template text="""Now let's say that we want to change the CSS.""" start="00:08:40.000" video="mainVideo-one" id="subtitle"]]
[[!template text="""So we've added a page with specific content,""" start="00:08:44.520" video="mainVideo-one" id="subtitle"]]
[[!template text="""and we've done some links.""" start="00:08:50.720" video="mainVideo-one" id="subtitle"]]
[[!template text="""Now we want to modify the CSS file""" start="00:08:51.720" video="mainVideo-one" id="subtitle"]]
@@ -214,9 +195,7 @@
[[!template text="""and this is the user experience""" start="00:10:16.120" video="mainVideo-one" id="subtitle"]]
[[!template text="""that we have with one.el and the default function.""" start="00:10:18.880" video="mainVideo-one" id="subtitle"]]
-[[!template new="1" text="""How to write a render function""" start="00:10:23.160" video="mainVideo-one" id="subtitle"]]
-
-[[!template text="""Now that we've seen that,""" start="00:10:23.160" video="mainVideo-one" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""How to write a render function""" start="00:10:23.160" video="mainVideo-one" id="subtitle"]]</div>[[!template text="""Now that we've seen that,""" start="00:10:23.160" video="mainVideo-one" id="subtitle"]]
[[!template text="""we've done all of that part,""" start="00:10:26.280" video="mainVideo-one" id="subtitle"]]
[[!template text="""and now we are going to see""" start="00:10:30.461" video="mainVideo-one" id="subtitle"]]
[[!template text="""how to write a render function.""" start="00:10:31.920" video="mainVideo-one" id="subtitle"]]
@@ -350,9 +329,7 @@
[[!template text="""and we have access to the date.""" start="00:18:56.560" video="mainVideo-one" id="subtitle"]]
[[!template text="""Really, we can do whatever we want.""" start="00:18:58.800" video="mainVideo-one" id="subtitle"]]
-[[!template new="1" text="""Rendering content""" start="00:19:03.200" video="mainVideo-one" id="subtitle"]]
-
-[[!template text="""Now, we want the content. So far,""" start="00:19:03.200" video="mainVideo-one" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Rendering content""" start="00:19:03.200" video="mainVideo-one" id="subtitle"]]</div>[[!template text="""Now, we want the content. So far,""" start="00:19:03.200" video="mainVideo-one" id="subtitle"]]
[[!template text="""we get the property, but what about the content,""" start="00:19:06.760" video="mainVideo-one" id="subtitle"]]
[[!template text="""so h1, and now we put &quot;Org content&quot;,""" start="00:19:11.600" video="mainVideo-one" id="subtitle"]]
[[!template text="""and this is going to be something in the variable content,""" start="00:19:17.040" video="mainVideo-one" id="subtitle"]]
@@ -377,9 +354,7 @@
[[!template text="""there was this `org-element-contents`, I think,""" start="00:20:27.040" video="mainVideo-one" id="subtitle"]]
[[!template text="""and now we build it, and we must see it here.""" start="00:20:32.840" video="mainVideo-one" id="subtitle"]]
-[[!template new="1" text="""Rendering CSS""" start="00:20:37.160" video="mainVideo-one" id="subtitle"]]
-
-[[!template text="""So we have the content,""" start="00:20:37.160" video="mainVideo-one" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Rendering CSS""" start="00:20:37.160" video="mainVideo-one" id="subtitle"]]</div>[[!template text="""So we have the content,""" start="00:20:37.160" video="mainVideo-one" id="subtitle"]]
[[!template text="""we have the Org values,""" start="00:20:39.960" video="mainVideo-one" id="subtitle"]]
[[!template text="""and last thing that we can do maybe is to put some CSS.""" start="00:20:43.320" video="mainVideo-one" id="subtitle"]]
[[!template text="""Let's have a look to `one-default` function.""" start="00:20:48.400" video="mainVideo-one" id="subtitle"]]
@@ -400,12 +375,11 @@
[[!template text="""I hope you enjoyed the talk, and have a nice day,""" start="00:22:08.960" video="mainVideo-one" id="subtitle"]]
[[!template text="""and a nice conference.""" start="00:22:14.880" video="mainVideo-one" id="subtitle"]]
-
+</div>
Captioner: sachac
-<a name="one-qanda-transcript"></a>
-# Q&A transcript (unedited)
+<div class="transcript transcript-qanda"><a name="one-qanda-transcript"></a><h1>Q&A transcript (unedited)</h1>
[[!template text="""[Speaker 0]: So, will you, when I'm looking at my,""" start="00:00:00.459" video="qanda-one" id="subtitle"]]
[[!template text="""the other screen, I don't see the chat,""" start="00:00:06.279" video="qanda-one" id="subtitle"]]
@@ -898,7 +872,7 @@ Captioner: sachac
[[!template text="""stream. I'm going to need to...""" start="00:27:33.520" video="qanda-one" id="subtitle"]]
[[!template text="""Sorry. I'm going to stop.""" start="00:27:36.160" video="qanda-one" id="subtitle"]]
-Questions or comments? Please e-mail [tony@tonyaldon.com](mailto:tony@tonyaldon.com?subject=Comment%20for%20EmacsConf%202023%20one%3A%20one.el%3A%20the%20static%20site%20generator%20for%20Emacs%20Lisp%20Programmers)
+</div>Questions or comments? Please e-mail [tony@tonyaldon.com](mailto:tony@tonyaldon.com?subject=Comment%20for%20EmacsConf%202023%20one%3A%20one.el%3A%20the%20static%20site%20generator%20for%20Emacs%20Lisp%20Programmers)
<!-- End of emacsconf-publish-after-page -->
diff --git a/2023/info/one-before.md b/2023/info/one-before.md
index 04ae447f..5c64f269 100644
--- a/2023/info/one-before.md
+++ b/2023/info/one-before.md
@@ -1,6 +1,6 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
[[!toc ]]
-Format: 23-min talk; Q&A: BigBlueButton conference room
+Format: 23-min talk ; Q&A: BigBlueButton conference room
Status: Q&A to be extracted from the room recordings
@@ -9,7 +9,7 @@ Status: Q&A to be extracted from the room recordings
# Talk
-<div class="vid"><video controls preload="none" id="one-mainVideo"><source src="https://media.emacsconf.org/2023/emacsconf-2023-one--oneel-the-static-site-generator-for-emacs-lisp-programmers--tony-aldon--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-one--oneel-the-static-site-generator-for-emacs-lisp-programmers--tony-aldon--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2023/captions/emacsconf-2023-one--oneel-the-static-site-generator-for-emacs-lisp-programmers--tony-aldon--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="one-mainVideo" data="""
+<div class="vid mainVideo"><video controls preload="none" id="mainVideo-one"><source src="https://media.emacsconf.org/2023/emacsconf-2023-one--oneel-the-static-site-generator-for-emacs-lisp-programmers--tony-aldon--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-one--oneel-the-static-site-generator-for-emacs-lisp-programmers--tony-aldon--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2023/captions/emacsconf-2023-one--oneel-the-static-site-generator-for-emacs-lisp-programmers--tony-aldon--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-one" data="""
00:00.000 Introduction
00:24.000 Documentation
02:02.200 Starting a new project
@@ -23,10 +23,10 @@ Status: Q&A to be extracted from the room recordings
19:03.200 Rendering content
20:37.160 Rendering CSS
-"""]]<div></div>Duration: 22:18 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-one--oneel-the-static-site-generator-for-emacs-lisp-programmers--tony-aldon--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-one--oneel-the-static-site-generator-for-emacs-lisp-programmers--tony-aldon--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-one--oneel-the-static-site-generator-for-emacs-lisp-programmers--tony-aldon--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-one--oneel-the-static-site-generator-for-emacs-lisp-programmers--tony-aldon--main.opus">Download --main.opus (14MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-one--oneel-the-static-site-generator-for-emacs-lisp-programmers--tony-aldon--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-one--oneel-the-static-site-generator-for-emacs-lisp-programmers--tony-aldon--main.webm">Download --main.webm (54MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-one--oneel-the-static-site-generator-for-emacs-lisp-programmers--tony-aldon--pad.html">Download --pad.html</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-one--oneel-the-static-site-generator-for-emacs-lisp-programmers--tony-aldon--pad.md">Download --pad.md</a></li><li><a href="https://toobnix.org/w/x2yYYWLHQe75FTV8sWiDmy">View on Toobnix</a></li></ul></div></div>
+"""]]<div></div>Duration: 22:18 minutes<div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2023-one">Open Etherpad</a></li><li><a href="https://bbb.emacsverse.org/playback/presentation/2.0/playback.html?meetingId=62b4e0d50b581001f2d6526461e9ffb754b38371-1701534084270">Play recording from BigBlueButton</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-one--oneel-the-static-site-generator-for-emacs-lisp-programmers--tony-aldon--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-one--oneel-the-static-site-generator-for-emacs-lisp-programmers--tony-aldon--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-one--oneel-the-static-site-generator-for-emacs-lisp-programmers--tony-aldon--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-one--oneel-the-static-site-generator-for-emacs-lisp-programmers--tony-aldon--main.opus">Download --main.opus (14MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-one--oneel-the-static-site-generator-for-emacs-lisp-programmers--tony-aldon--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-one--oneel-the-static-site-generator-for-emacs-lisp-programmers--tony-aldon--main.webm">Download --main.webm (54MB)</a></li><li><a href="https://toobnix.org/w/x2yYYWLHQe75FTV8sWiDmy">View on Toobnix</a></li><li><a href="https://www.youtube.com/watch?v=GGP2mxZn4mY">View on Youtube</a></li></ul></div></div>
# Q&A
-<div class="vid"><video controls preload="none" id="one-qanda"><source src="https://media.emacsconf.org/2023/emacsconf-2023-one--oneel-the-static-site-generator-for-emacs-lisp-programmers--tony-aldon--answers.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-one--oneel-the-static-site-generator-for-emacs-lisp-programmers--tony-aldon--answers.vtt" default />"""<p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video><div>Listen to just the audio:<br /><audio controls preload="none" id="one-qanda-audio" src="https://media.emacsconf.org/2023/emacsconf-2023-one--oneel-the-static-site-generator-for-emacs-lisp-programmers--tony-aldon--answers.opus"></audio></div><div></div>Duration: 27:39 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-one--oneel-the-static-site-generator-for-emacs-lisp-programmers--tony-aldon--answers.json">Download --answers.json (1.1MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-one--oneel-the-static-site-generator-for-emacs-lisp-programmers--tony-aldon--answers.opus">Download --answers.opus (15MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-one--oneel-the-static-site-generator-for-emacs-lisp-programmers--tony-aldon--answers.vtt">Download --answers.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-one--oneel-the-static-site-generator-for-emacs-lisp-programmers--tony-aldon--answers.webm">Download --answers.webm (96MB)</a></li></ul></div></div>
+<div class="vid qanda"><video controls preload="none" id="qanda-one"><source src="https://media.emacsconf.org/2023/emacsconf-2023-one--oneel-the-static-site-generator-for-emacs-lisp-programmers--tony-aldon--answers.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-one--oneel-the-static-site-generator-for-emacs-lisp-programmers--tony-aldon--answers.vtt" default />"""<p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video><div>Listen to just the audio:<br /><audio controls preload="none" id="qanda-one-audio" src="https://media.emacsconf.org/2023/emacsconf-2023-one--oneel-the-static-site-generator-for-emacs-lisp-programmers--tony-aldon--answers.opus"></audio></div><div></div>Duration: 27:39 minutes<div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2023-one">Open Etherpad</a></li><li><a href="https://bbb.emacsverse.org/playback/presentation/2.0/playback.html?meetingId=62b4e0d50b581001f2d6526461e9ffb754b38371-1701534084270">Play recording from BigBlueButton</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-one--oneel-the-static-site-generator-for-emacs-lisp-programmers--tony-aldon--answers.json">Download --answers.json (1.1MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-one--oneel-the-static-site-generator-for-emacs-lisp-programmers--tony-aldon--answers.opus">Download --answers.opus (15MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-one--oneel-the-static-site-generator-for-emacs-lisp-programmers--tony-aldon--answers.vtt">Download --answers.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-one--oneel-the-static-site-generator-for-emacs-lisp-programmers--tony-aldon--answers.webm">Download --answers.webm (96MB)</a></li></ul></div></div>
# Description
<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2023/info/one-nav.md b/2023/info/one-nav.md
index fe3eb334..2fe56716 100644
--- a/2023/info/one-nav.md
+++ b/2023/info/one-nav.md
@@ -3,5 +3,5 @@
Back to the [[talks]]
Previous by track: <a href="/2023/talks/table">Who needs Excel? Managing your students qualifications with org-table</a>
Next by track: <a href="/2023/talks/writing">Emacs turbo-charges my writing</a>
-Track: <span class="sched-track General">General</span>
+Track: <span class="sched-track General">General</span> - <strong><a href="https://emacsconf.org/2023/watch/gen">Watch</a></strong>
</div>
diff --git a/2023/info/overlay-after.md b/2023/info/overlay-after.md
index 7db881e5..3d710d06 100644
--- a/2023/info/overlay-after.md
+++ b/2023/info/overlay-after.md
@@ -1,13 +1,10 @@
<!-- Automatically generated by emacsconf-publish-after-page -->
-<a name="overlay-mainVideo-transcript"></a>
-# Transcript
+<div class="transcript transcript-mainVideo"><a name="overlay-mainVideo-transcript"></a><h1>Transcript</h1>
-[[!template new="1" text="""Introduction""" start="00:00:00.000" video="mainVideo-overlay" id="subtitle"]]
-
-[[!template text="""Hi, I'm Jeff Trull, and today I'm going to talk to you""" start="00:00:00.000" video="mainVideo-overlay" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Introduction""" start="00:00:00.000" video="mainVideo-overlay" id="subtitle"]]</div>[[!template text="""Hi, I'm Jeff Trull, and today I'm going to talk to you""" start="00:00:00.000" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""about improving C++ compiler diagnostics""" start="00:00:04.898" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""using overlays and other features from Emacs.""" start="00:00:08.460" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""First an overview of my talk.""" start="00:00:13.600" video="mainVideo-overlay" id="subtitle"]]
@@ -19,9 +16,7 @@
[[!template text="""and build a new minor mode""" start="00:00:26.751" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""using overlays and other Emacs features.""" start="00:00:28.448" video="mainVideo-overlay" id="subtitle"]]
-[[!template new="1" text="""Overlays and what they can do""" start="00:00:33.560" video="mainVideo-overlay" id="subtitle"]]
-
-[[!template text="""First of all, overlays.""" start="00:00:33.560" video="mainVideo-overlay" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Overlays and what they can do""" start="00:00:33.560" video="mainVideo-overlay" id="subtitle"]]</div>[[!template text="""First of all, overlays.""" start="00:00:33.560" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""What are they?""" start="00:00:35.520" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""They are objects consisting of a buffer range""" start="00:00:36.680" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""and a set of properties.""" start="00:00:39.125" video="mainVideo-overlay" id="subtitle"]]
@@ -54,9 +49,7 @@
[[!template text="""it's still there, because it's hidden by an overlay.""" start="00:01:55.205" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""And that's kind of the essence of what overlays are.""" start="00:01:58.220" video="mainVideo-overlay" id="subtitle"]]
-[[!template new="1" text="""Simple overlay example - creating an overlay""" start="00:02:02.500" video="mainVideo-overlay" id="subtitle"]]
-
-[[!template text="""Let's do a simple overlay example.""" start="00:02:02.500" video="mainVideo-overlay" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Simple overlay example - creating an overlay""" start="00:02:02.500" video="mainVideo-overlay" id="subtitle"]]</div>[[!template text="""Let's do a simple overlay example.""" start="00:02:02.500" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""We have some text on the right here,""" start="00:02:04.780" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""which is a famous poem by William Carlos Williams,""" start="00:02:06.720" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""which has been the subject of many memes.""" start="00:02:09.340" video="mainVideo-overlay" id="subtitle"]]
@@ -67,9 +60,7 @@
[[!template text="""You can see we've created an overlay""" start="00:02:29.540" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""from position 74 to 224.""" start="00:02:33.277" video="mainVideo-overlay" id="subtitle"]]
-[[!template new="1" text="""Adding properties""" start="00:02:35.700" video="mainVideo-overlay" id="subtitle"]]
-
-[[!template text="""Now we can take that overlay that we already created""" start="00:02:35.700" video="mainVideo-overlay" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Adding properties""" start="00:02:35.700" video="mainVideo-overlay" id="subtitle"]]</div>[[!template text="""Now we can take that overlay that we already created""" start="00:02:35.700" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""and add a property, in this case a `face` property,""" start="00:02:38.064" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""to change the appearance of the text.""" start="00:02:41.212" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""This is a poem, and it's currently using""" start="00:02:43.540" video="mainVideo-overlay" id="subtitle"]]
@@ -82,9 +73,7 @@
[[!template text="""Now you can see that the poem looks quite a bit different.""" start="00:03:01.140" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""It looks more like what we'd see in a book.""" start="00:03:03.700" video="mainVideo-overlay" id="subtitle"]]
-[[!template new="1" text="""Deleting an overlay""" start="00:03:10.940" video="mainVideo-overlay" id="subtitle"]]
-
-[[!template text="""We can also delete overlays.""" start="00:03:10.940" video="mainVideo-overlay" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Deleting an overlay""" start="00:03:10.940" video="mainVideo-overlay" id="subtitle"]]</div>[[!template text="""We can also delete overlays.""" start="00:03:10.940" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""So I've named this one.""" start="00:03:13.100" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""So we can just go down and run `delete-overlay`""" start="00:03:15.140" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""and get rid of it, and it'll go back to""" start="00:03:17.766" video="mainVideo-overlay" id="subtitle"]]
@@ -92,9 +81,7 @@
[[!template text="""And there it is.""" start="00:03:22.660" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""It's back to normal.""" start="00:03:23.660" video="mainVideo-overlay" id="subtitle"]]
-[[!template new="1" text="""Setting fonts the right way""" start="00:03:24.660" video="mainVideo-overlay" id="subtitle"]]
-
-[[!template text="""Now, if you're interested in changing all of the verses""" start="00:03:24.660" video="mainVideo-overlay" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Setting fonts the right way""" start="00:03:24.660" video="mainVideo-overlay" id="subtitle"]]</div>[[!template text="""Now, if you're interested in changing all of the verses""" start="00:03:24.660" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""inside an Org Mode file to a different face""" start="00:03:28.474" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""or a different font family,""" start="00:03:31.109" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""this isn't the way you'd really do it.""" start="00:03:32.786" video="mainVideo-overlay" id="subtitle"]]
@@ -107,16 +94,12 @@
[[!template text="""Let's give it a try.""" start="00:03:56.100" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""It worked!""" start="00:03:58.340" video="mainVideo-overlay" id="subtitle"]]
-[[!template new="1" text="""More properties""" start="00:03:59.540" video="mainVideo-overlay" id="subtitle"]]
-
-[[!template text="""There are more advanced things that you can do""" start="00:03:59.540" video="mainVideo-overlay" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""More properties""" start="00:03:59.540" video="mainVideo-overlay" id="subtitle"]]</div>[[!template text="""There are more advanced things that you can do""" start="00:03:59.540" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""other than just changing fonts.""" start="00:04:01.806" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""There's a whole long list of them in the manual,""" start="00:04:03.300" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""but let's talk about the ones we're going to use today.""" start="00:04:05.544" video="mainVideo-overlay" id="subtitle"]]
-[[!template new="1" text="""Visibility""" start="00:04:12.580" video="mainVideo-overlay" id="subtitle"]]
-
-[[!template text="""You can make text invisible, just like `org-present` did.""" start="00:04:12.580" video="mainVideo-overlay" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Visibility""" start="00:04:12.580" video="mainVideo-overlay" id="subtitle"]]</div>[[!template text="""You can make text invisible, just like `org-present` did.""" start="00:04:12.580" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""The simplest way is to set the `invisible` property to true,""" start="00:04:17.380" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""so here's a code snippet that will do that.""" start="00:04:21.820" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""What we're going to do is""" start="00:04:24.500" video="mainVideo-overlay" id="subtitle"]]
@@ -132,9 +115,7 @@
[[!template text="""I suggest reading the manual""" start="00:04:44.220" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""if you'd like to know more about that.""" start="00:04:46.627" video="mainVideo-overlay" id="subtitle"]]
-[[!template new="1" text="""Adding text""" start="00:04:49.780" video="mainVideo-overlay" id="subtitle"]]
-
-[[!template text="""Another thing we can do with properties""" start="00:04:49.780" video="mainVideo-overlay" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Adding text""" start="00:04:49.780" video="mainVideo-overlay" id="subtitle"]]</div>[[!template text="""Another thing we can do with properties""" start="00:04:49.780" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""is to add text either before or after an overlay.""" start="00:04:52.118" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""Since we've made the word &quot;plums&quot; invisible,""" start="00:04:54.980" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""or anything that you make invisible in the buffer,""" start="00:04:57.348" video="mainVideo-overlay" id="subtitle"]]
@@ -149,18 +130,14 @@
[[!template text="""There it is.""" start="00:05:19.580" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""So that's how you can replace words using overlays.""" start="00:05:22.020" video="mainVideo-overlay" id="subtitle"]]
-[[!template new="1" text="""Custom properties""" start="00:05:27.820" video="mainVideo-overlay" id="subtitle"]]
-
-[[!template text="""You can also have custom properties""" start="00:05:27.820" video="mainVideo-overlay" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Custom properties""" start="00:05:27.820" video="mainVideo-overlay" id="subtitle"]]</div>[[!template text="""You can also have custom properties""" start="00:05:27.820" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""that you name and then use yourself.""" start="00:05:29.761" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""For example, you can use it to mark regions in the buffer.""" start="00:05:31.700" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""You can also use it to add information""" start="00:05:35.320" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""to regions in the buffer for your own tracking""" start="00:05:38.009" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""in a minor mode or something like that, which we will use.""" start="00:05:41.180" video="mainVideo-overlay" id="subtitle"]]
-[[!template new="1" text="""Notes on properties""" start="00:05:45.380" video="mainVideo-overlay" id="subtitle"]]
-
-[[!template text="""Finally, two notes on properties.""" start="00:05:45.380" video="mainVideo-overlay" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Notes on properties""" start="00:05:45.380" video="mainVideo-overlay" id="subtitle"]]</div>[[!template text="""Finally, two notes on properties.""" start="00:05:45.380" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""We've been talking about overlay properties,""" start="00:05:49.620" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""but there's also something called text properties.""" start="00:05:51.951" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""Text properties are attached to text in a buffer.""" start="00:05:54.540" video="mainVideo-overlay" id="subtitle"]]
@@ -179,9 +156,7 @@
[[!template text="""if you're going to make heavy use of them.""" start="00:06:28.893" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""I prefer overlays because they're just easier to use.""" start="00:06:31.060" video="mainVideo-overlay" id="subtitle"]]
-[[!template new="1" text="""Improving C++ compiler output""" start="00:06:36.100" video="mainVideo-overlay" id="subtitle"]]
-
-[[!template text="""C++ compiler output.""" start="00:06:36.100" video="mainVideo-overlay" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Improving C++ compiler output""" start="00:06:36.100" video="mainVideo-overlay" id="subtitle"]]</div>[[!template text="""C++ compiler output.""" start="00:06:36.100" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""So my day job is C++ programmer,""" start="00:06:37.540" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""and although I've been an Emacser for many years,""" start="00:06:41.171" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""it can be a little bit of a chore dealing with errors.""" start="00:06:46.561" video="mainVideo-overlay" id="subtitle"]]
@@ -216,16 +191,12 @@
[[!template text="""Okay.""" start="00:08:11.000" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""Back to our presentation.""" start="00:08:12.000" video="mainVideo-overlay" id="subtitle"]]
-[[!template new="1" text="""The problem with C++ error messages""" start="00:08:17.680" video="mainVideo-overlay" id="subtitle"]]
-
-[[!template text="""So it's often this way in C++""" start="00:08:17.680" video="mainVideo-overlay" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""The problem with C++ error messages""" start="00:08:17.680" video="mainVideo-overlay" id="subtitle"]]</div>[[!template text="""So it's often this way in C++""" start="00:08:17.680" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""because we compose types from other types.""" start="00:08:20.064" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""They can be long to begin with,""" start="00:08:23.400" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""but then a couple of other factors come into play.""" start="00:08:26.217" video="mainVideo-overlay" id="subtitle"]]
-[[!template new="1" text="""Many standard class templates have default arguments""" start="00:08:30.240" video="mainVideo-overlay" id="subtitle"]]
-
-[[!template text="""First of all, we can have default template arguments.""" start="00:08:30.240" video="mainVideo-overlay" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Many standard class templates have default arguments""" start="00:08:30.240" video="mainVideo-overlay" id="subtitle"]]</div>[[!template text="""First of all, we can have default template arguments.""" start="00:08:30.240" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""These are arguments you didn't write,""" start="00:08:33.280" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""but that are implicitly there""" start="00:08:35.364" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""and can sometimes refer""" start="00:08:37.009" video="mainVideo-overlay" id="subtitle"]]
@@ -233,9 +204,7 @@
[[!template text="""which causes them to get a bit bigger,""" start="00:08:40.301" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""such as these allocator arguments here and here.""" start="00:08:42.441" video="mainVideo-overlay" id="subtitle"]]
-[[!template new="1" text="""Some types are aliases for longer things, too""" start="00:08:47.520" video="mainVideo-overlay" id="subtitle"]]
-
-[[!template text="""Then there are type aliases.""" start="00:08:47.520" video="mainVideo-overlay" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Some types are aliases for longer things, too""" start="00:08:47.520" video="mainVideo-overlay" id="subtitle"]]</div>[[!template text="""Then there are type aliases.""" start="00:08:47.520" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""For example, `std::string` here expands to""" start="00:08:49.360" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""a type with three template arguments.""" start="00:08:54.015" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""So you can imagine, when we combine""" start="00:08:58.320" video="mainVideo-overlay" id="subtitle"]]
@@ -245,9 +214,7 @@
[[!template text="""Let's run the comparison.""" start="00:09:14.258" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""Yeah.""" start="00:09:18.360" video="mainVideo-overlay" id="subtitle"]]
-[[!template new="1" text="""Reporting type information accurately means long lines""" start="00:09:20.960" video="mainVideo-overlay" id="subtitle"]]
-
-[[!template text="""So in summary, to properly understand an error""" start="00:09:20.960" video="mainVideo-overlay" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Reporting type information accurately means long lines""" start="00:09:20.960" video="mainVideo-overlay" id="subtitle"]]</div>[[!template text="""So in summary, to properly understand an error""" start="00:09:20.960" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""when you're a C++ programmer""" start="00:09:24.925" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""requires knowing the exact types""" start="00:09:27.371" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""that were supplied to your function.""" start="00:09:29.719" video="mainVideo-overlay" id="subtitle"]]
@@ -272,9 +239,7 @@
[[!template text="""But there's a better way.""" start="00:10:13.240" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""Now, anyway.""" start="00:10:15.240" video="mainVideo-overlay" id="subtitle"]]
-[[!template new="1" text="""Emacs can help - Treat C++ type names as just another kind of balanced expression""" start="00:10:18.240" video="mainVideo-overlay" id="subtitle"]]
-
-[[!template text="""So what can Emacs do to help us with this problem?""" start="00:10:18.240" video="mainVideo-overlay" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Emacs can help - Treat C++ type names as just another kind of balanced expression""" start="00:10:18.240" video="mainVideo-overlay" id="subtitle"]]</div>[[!template text="""So what can Emacs do to help us with this problem?""" start="00:10:18.240" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""First of all, if you think about a type name,""" start="00:10:23.960" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""it's a lot like what we call S-expressions""" start="00:10:28.871" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""or balanced expressions.""" start="00:10:33.080" video="mainVideo-overlay" id="subtitle"]]
@@ -305,9 +270,7 @@
[[!template text="""as though they were balanced expressions or S-expressions,""" start="00:11:41.815" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""the same kind that Emacs is really good at handling.""" start="00:11:44.313" video="mainVideo-overlay" id="subtitle"]]
-[[!template new="1" text="""Add overlays to improve readability""" start="00:11:49.320" video="mainVideo-overlay" id="subtitle"]]
-
-[[!template text="""Secondly, we can use overlays""" start="00:11:49.320" video="mainVideo-overlay" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Add overlays to improve readability""" start="00:11:49.320" video="mainVideo-overlay" id="subtitle"]]</div>[[!template text="""Secondly, we can use overlays""" start="00:11:49.320" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""to improve the readability of errors.""" start="00:11:51.980" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""We can take long lines and break and indent them""" start="00:11:55.260" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""using `before-string`s, so the same thing""" start="00:11:58.013" video="mainVideo-overlay" id="subtitle"]]
@@ -318,9 +281,7 @@
[[!template text="""We can also use the `invisible` property""" start="00:12:15.160" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""to hide unwanted detail.""" start="00:12:19.642" video="mainVideo-overlay" id="subtitle"]]
-[[!template new="1" text="""Create a minor mode that runs during compilation""" start="00:12:22.400" video="mainVideo-overlay" id="subtitle"]]
-
-[[!template text="""Last of all, we can create a minor mode.""" start="00:12:22.400" video="mainVideo-overlay" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Create a minor mode that runs during compilation""" start="00:12:22.400" video="mainVideo-overlay" id="subtitle"]]</div>[[!template text="""Last of all, we can create a minor mode.""" start="00:12:22.400" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""When we're compiling things in Emacs,""" start="00:12:24.960" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""we often use `compilation-mode`.""" start="00:12:27.855" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""`compilation-mode` allows you to install""" start="00:12:30.140" video="mainVideo-overlay" id="subtitle"]]
@@ -334,9 +295,7 @@
[[!template text="""so that we can see a simplified version""" start="00:12:50.177" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""or a more detailed version of a type, depending on our needs.""" start="00:12:53.907" video="mainVideo-overlay" id="subtitle"]]
-[[!template new="1" text="""Parsing types as balanced expressions""" start="00:12:59.500" video="mainVideo-overlay" id="subtitle"]]
-
-[[!template text="""First of all, parsing types as balanced expressions.""" start="00:12:59.500" video="mainVideo-overlay" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Parsing types as balanced expressions""" start="00:12:59.500" video="mainVideo-overlay" id="subtitle"]]</div>[[!template text="""First of all, parsing types as balanced expressions.""" start="00:12:59.500" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""We need to be able to quickly locate""" start="00:13:03.980" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""the boundaries and the contents""" start="00:13:05.687" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""of parenthesized expressions,""" start="00:13:07.163" video="mainVideo-overlay" id="subtitle"]]
@@ -362,9 +321,7 @@
[[!template text="""can be used now with our angle brackets""" start="00:14:08.708" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""and inside of our types.""" start="00:14:11.486" video="mainVideo-overlay" id="subtitle"]]
-[[!template new="1" text="""Indent and fill with overlays - Use ancient "pretty printing" algorithms"""" start="00:14:16.100" video="mainVideo-overlay" id="subtitle"]]
-
-[[!template text="""The next thing we can do is""" start="00:14:16.100" video="mainVideo-overlay" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Indent and fill with overlays - Use ancient "pretty printing" algorithms"""" start="00:14:16.100" video="mainVideo-overlay" id="subtitle"]]</div>[[!template text="""The next thing we can do is""" start="00:14:16.100" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""perform indent and fill with overlays.""" start="00:14:18.463" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""We're going to use `before-string` properties""" start="00:14:21.540" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""to break lines and create indentation""" start="00:14:23.736" video="mainVideo-overlay" id="subtitle"]]
@@ -376,18 +333,14 @@
[[!template text="""Back in the day, they had algorithms that could do both.""" start="00:14:43.940" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""Those are what we're going to leverage.""" start="00:14:47.080" video="mainVideo-overlay" id="subtitle"]]
-[[!template new="1" text="""Overlays can mimic line breaks and indentation""" start="00:14:52.260" video="mainVideo-overlay" id="subtitle"]]
-
-[[!template text="""We can use the `before-string` property""" start="00:14:52.260" video="mainVideo-overlay" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Overlays can mimic line breaks and indentation""" start="00:14:52.260" video="mainVideo-overlay" id="subtitle"]]</div>[[!template text="""We can use the `before-string` property""" start="00:14:52.260" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""to insert a new line in the correct number of spaces""" start="00:14:54.583" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""to emulate indentation.""" start="00:14:57.760" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""As a simplified example, here's some code""" start="00:15:00.240" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""that will indent 4 upon each open angle bracket.""" start="00:15:03.526" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""Let's give it a try.""" start="00:15:07.280" video="mainVideo-overlay" id="subtitle"]]
-[[!template new="1" text="""Hiding details - Marking depths with overlays""" start="00:15:14.520" video="mainVideo-overlay" id="subtitle"]]
-
-[[!template text="""The next thing we're going to need to do is hide details.""" start="00:15:14.520" video="mainVideo-overlay" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Hiding details - Marking depths with overlays""" start="00:15:14.520" video="mainVideo-overlay" id="subtitle"]]</div>[[!template text="""The next thing we're going to need to do is hide details.""" start="00:15:14.520" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""So we have nested types, and the user is going to want to""" start="00:15:18.280" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""be able to reveal lower-level or hide lower-level parts""" start="00:15:22.689" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""of the nested type interactively""" start="00:15:27.372" video="mainVideo-overlay" id="subtitle"]]
@@ -425,9 +378,7 @@
[[!template text="""So it's reasonable that there should be two,""" start="00:17:07.660" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""and that's what we expect.""" start="00:17:10.830" video="mainVideo-overlay" id="subtitle"]]
-[[!template new="1" text="""Hiding to a target depth""" start="00:17:12.660" video="mainVideo-overlay" id="subtitle"]]
-
-[[!template text="""Now that we've marked the nested types with their depths,""" start="00:17:12.660" video="mainVideo-overlay" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Hiding to a target depth""" start="00:17:12.660" video="mainVideo-overlay" id="subtitle"]]</div>[[!template text="""Now that we've marked the nested types with their depths,""" start="00:17:12.660" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""let's experiment with hiding details.""" start="00:17:17.354" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""This fragment of code takes a user-supplied depth,""" start="00:17:21.380" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""in this case 2, and will hide,""" start="00:17:26.774" video="mainVideo-overlay" id="subtitle"]]
@@ -444,9 +395,7 @@
[[!template text="""Now if we put it back to 3, it should reveal everything.""" start="00:17:54.540" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""So that's what we're going to use in our minor mode.""" start="00:17:59.660" video="mainVideo-overlay" id="subtitle"]]
-[[!template new="1" text="""Demo""" start="00:18:04.900" video="mainVideo-overlay" id="subtitle"]]
-
-[[!template text="""Let's have a demo.""" start="00:18:04.900" video="mainVideo-overlay" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Demo""" start="00:18:04.900" video="mainVideo-overlay" id="subtitle"]]</div>[[!template text="""Let's have a demo.""" start="00:18:04.900" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""We're going to revisit the initial example""" start="00:18:05.900" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""with the minor mode installed.""" start="00:18:08.539" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""Now we're going to have a compilation filter""" start="00:18:10.380" video="mainVideo-overlay" id="subtitle"]]
@@ -488,9 +437,7 @@
[[!template text="""Let's go back to our presentation.""" start="00:20:04.540" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""All right.""" start="00:20:08.340" video="mainVideo-overlay" id="subtitle"]]
-[[!template new="1" text="""Conclusion""" start="00:20:10.220" video="mainVideo-overlay" id="subtitle"]]
-
-[[!template text="""In conclusion, we saw how we could solve""" start="00:20:10.220" video="mainVideo-overlay" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Conclusion""" start="00:20:10.220" video="mainVideo-overlay" id="subtitle"]]</div>[[!template text="""In conclusion, we saw how we could solve""" start="00:20:10.220" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""a real problem for C++ programmers""" start="00:20:12.997" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""by combining several Emacs features: overlays,""" start="00:20:15.368" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""compilation mode extensions,""" start="00:20:18.535" video="mainVideo-overlay" id="subtitle"]]
@@ -505,12 +452,11 @@
[[!template text="""In short, there's plenty of hope for Emacs.""" start="00:20:48.020" video="mainVideo-overlay" id="subtitle"]]
[[!template text="""Thank you.""" start="00:20:50.860" video="mainVideo-overlay" id="subtitle"]]
-
+</div>
Captioner: sachac
-<a name="overlay-qanda-transcript"></a>
-# Q&A transcript (unedited)
+<div class="transcript transcript-qanda"><a name="overlay-qanda-transcript"></a><h1>Q&A transcript (unedited)</h1>
[[!template text="""[Speaker 0]: Out here or also you can continue discussing""" start="00:00:02.899" video="qanda-overlay" id="subtitle"]]
[[!template text="""on IRC.""" start="00:00:06.200" video="qanda-overlay" id="subtitle"]]
@@ -725,7 +671,7 @@ Captioner: sachac
[[!template text="""3 3 4 1 2 1""" start="00:22:28.100" video="qanda-overlay" id="subtitle"]]
[[!template text="""You""" start="00:24:41.445" video="qanda-overlay" id="subtitle"]]
-Questions or comments? Please e-mail [emacsconf-org-private@gnu.org](mailto:emacsconf-org-private@gnu.org?subject=Comment%20for%20EmacsConf%202023%20overlay%3A%20Improving%20compiler%20diagnostics%20with%20overlays)
+</div>Questions or comments? Please e-mail [emacsconf-org-private@gnu.org](mailto:emacsconf-org-private@gnu.org?subject=Comment%20for%20EmacsConf%202023%20overlay%3A%20Improving%20compiler%20diagnostics%20with%20overlays)
<!-- End of emacsconf-publish-after-page -->
diff --git a/2023/info/overlay-before.md b/2023/info/overlay-before.md
index 03bcd74e..8c8f8611 100644
--- a/2023/info/overlay-before.md
+++ b/2023/info/overlay-before.md
@@ -1,6 +1,6 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
[[!toc ]]
-Format: 21-min talk; Q&A: BigBlueButton conference room
+Format: 21-min talk ; Q&A: BigBlueButton conference room
Status: Q&A to be extracted from the room recordings
@@ -9,7 +9,7 @@ Status: Q&A to be extracted from the room recordings
# Talk
-<div class="vid"><video controls preload="none" id="overlay-mainVideo"><source src="https://media.emacsconf.org/2023/emacsconf-2023-overlay--improving-compiler-diagnostics-with-overlays--jeff-trull--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-overlay--improving-compiler-diagnostics-with-overlays--jeff-trull--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2023/captions/emacsconf-2023-overlay--improving-compiler-diagnostics-with-overlays--jeff-trull--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="overlay-mainVideo" data="""
+<div class="vid mainVideo"><video controls preload="none" id="mainVideo-overlay"><source src="https://media.emacsconf.org/2023/emacsconf-2023-overlay--improving-compiler-diagnostics-with-overlays--jeff-trull--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-overlay--improving-compiler-diagnostics-with-overlays--jeff-trull--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2023/captions/emacsconf-2023-overlay--improving-compiler-diagnostics-with-overlays--jeff-trull--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-overlay" data="""
00:00.000 Introduction
00:33.560 Overlays and what they can do
02:02.500 Simple overlay example - creating an overlay
@@ -37,10 +37,10 @@ Status: Q&A to be extracted from the room recordings
18:04.900 Demo
20:10.220 Conclusion
-"""]]<div></div>Duration: 20:57 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-overlay--improving-compiler-diagnostics-with-overlays--jeff-trull--expr_depth.svg">Download --expr_depth.svg</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-overlay--improving-compiler-diagnostics-with-overlays--jeff-trull--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-overlay--improving-compiler-diagnostics-with-overlays--jeff-trull--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-overlay--improving-compiler-diagnostics-with-overlays--jeff-trull--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-overlay--improving-compiler-diagnostics-with-overlays--jeff-trull--main.opus">Download --main.opus (15MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-overlay--improving-compiler-diagnostics-with-overlays--jeff-trull--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-overlay--improving-compiler-diagnostics-with-overlays--jeff-trull--main.webm">Download --main.webm (63MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-overlay--improving-compiler-diagnostics-with-overlays--jeff-trull--pad.html">Download --pad.html</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-overlay--improving-compiler-diagnostics-with-overlays--jeff-trull--pad.md">Download --pad.md</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-overlay--improving-compiler-diagnostics-with-overlays--jeff-trull--testdata.org">Download --testdata.org</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-overlay--improving-compiler-diagnostics-with-overlays--jeff-trull.org">Download .org</a></li><li><a href="https://toobnix.org/w/5fJkawU4R9b1dJq5BcDykx">View on Toobnix</a></li></ul></div></div>
+"""]]<div></div>Duration: 20:57 minutes<div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2023-overlay">Open Etherpad</a></li><li><a href="https://bbb.emacsverse.org/playback/presentation/2.0/playback.html?meetingId=57788b1709264f016c76ee375746aab6fdcba006-1701539189569">Play recording from BigBlueButton</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-overlay--improving-compiler-diagnostics-with-overlays--jeff-trull--expr_depth.svg">Download --expr_depth.svg</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-overlay--improving-compiler-diagnostics-with-overlays--jeff-trull--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-overlay--improving-compiler-diagnostics-with-overlays--jeff-trull--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-overlay--improving-compiler-diagnostics-with-overlays--jeff-trull--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-overlay--improving-compiler-diagnostics-with-overlays--jeff-trull--main.opus">Download --main.opus (15MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-overlay--improving-compiler-diagnostics-with-overlays--jeff-trull--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-overlay--improving-compiler-diagnostics-with-overlays--jeff-trull--main.webm">Download --main.webm (63MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-overlay--improving-compiler-diagnostics-with-overlays--jeff-trull--testdata.org">Download --testdata.org</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-overlay--improving-compiler-diagnostics-with-overlays--jeff-trull.org">Download .org</a></li><li><a href="https://toobnix.org/w/5fJkawU4R9b1dJq5BcDykx">View on Toobnix</a></li><li><a href="https://www.youtube.com/watch?v=g7mwN5QtcmA">View on Youtube</a></li></ul></div></div>
# Q&A
-<div class="vid"><video controls preload="none" id="overlay-qanda"><source src="https://media.emacsconf.org/2023/emacsconf-2023-overlay--improving-compiler-diagnostics-with-overlays--jeff-trull--answers.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-overlay--improving-compiler-diagnostics-with-overlays--jeff-trull--answers.vtt" default />"""<p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video><div>Listen to just the audio:<br /><audio controls preload="none" id="overlay-qanda-audio" src="https://media.emacsconf.org/2023/emacsconf-2023-overlay--improving-compiler-diagnostics-with-overlays--jeff-trull--answers.opus"></audio></div><div></div>Duration: 11:48 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-overlay--improving-compiler-diagnostics-with-overlays--jeff-trull--answers.json">Download --answers.json</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-overlay--improving-compiler-diagnostics-with-overlays--jeff-trull--answers.opus">Download --answers.opus (12MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-overlay--improving-compiler-diagnostics-with-overlays--jeff-trull--answers.vtt">Download --answers.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-overlay--improving-compiler-diagnostics-with-overlays--jeff-trull--answers.webm">Download --answers.webm (20MB)</a></li></ul></div></div>
+<div class="vid qanda"><video controls preload="none" id="qanda-overlay"><source src="https://media.emacsconf.org/2023/emacsconf-2023-overlay--improving-compiler-diagnostics-with-overlays--jeff-trull--answers.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-overlay--improving-compiler-diagnostics-with-overlays--jeff-trull--answers.vtt" default />"""<p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video><div>Listen to just the audio:<br /><audio controls preload="none" id="qanda-overlay-audio" src="https://media.emacsconf.org/2023/emacsconf-2023-overlay--improving-compiler-diagnostics-with-overlays--jeff-trull--answers.opus"></audio></div><div></div>Duration: 11:48 minutes<div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2023-overlay">Open Etherpad</a></li><li><a href="https://bbb.emacsverse.org/playback/presentation/2.0/playback.html?meetingId=57788b1709264f016c76ee375746aab6fdcba006-1701539189569">Play recording from BigBlueButton</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-overlay--improving-compiler-diagnostics-with-overlays--jeff-trull--answers.json">Download --answers.json</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-overlay--improving-compiler-diagnostics-with-overlays--jeff-trull--answers.opus">Download --answers.opus (12MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-overlay--improving-compiler-diagnostics-with-overlays--jeff-trull--answers.vtt">Download --answers.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-overlay--improving-compiler-diagnostics-with-overlays--jeff-trull--answers.webm">Download --answers.webm (20MB)</a></li></ul></div></div>
# Description
<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2023/info/overlay-nav.md b/2023/info/overlay-nav.md
index ba04cc37..d06b5a15 100644
--- a/2023/info/overlay-nav.md
+++ b/2023/info/overlay-nav.md
@@ -3,5 +3,5 @@
Back to the [[talks]]
Previous by track: <a href="/2023/talks/llm">LLM clients in Emacs, functionality and standardization</a>
Next by track: <a href="/2023/talks/eval">Editor Integrated REPL Driven Development for all languages</a>
-Track: <span class="sched-track Development">Development</span>
+Track: <span class="sched-track Development">Development</span> - <strong><a href="https://emacsconf.org/2023/watch/dev">Watch</a></strong>
</div>
diff --git a/2023/info/parallel-after.md b/2023/info/parallel-after.md
index 2f390ff8..77006241 100644
--- a/2023/info/parallel-after.md
+++ b/2023/info/parallel-after.md
@@ -1,13 +1,10 @@
<!-- Automatically generated by emacsconf-publish-after-page -->
-<a name="parallel-mainVideo-transcript"></a>
-# Transcript
+<div class="transcript transcript-mainVideo"><a name="parallel-mainVideo-transcript"></a><h1>Transcript</h1>
-[[!template new="1" text="""Introduction""" start="00:00:00.000" video="mainVideo-parallel" id="subtitle"]]
-
-[[!template text="""Hi everyone!""" start="00:00:00.000" video="mainVideo-parallel" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Introduction""" start="00:00:00.000" video="mainVideo-parallel" id="subtitle"]]</div>[[!template text="""Hi everyone!""" start="00:00:00.000" video="mainVideo-parallel" id="subtitle"]]
[[!template text="""Welcome to our talk on Parallel Text Replacement.""" start="00:00:01.640" video="mainVideo-parallel" id="subtitle"]]
[[!template text="""My name is Lovro, and I'll be telling you about an""" start="00:00:04.640" video="mainVideo-parallel" id="subtitle"]]
[[!template text="""interesting problem that my friend Valentino and I""" start="00:00:07.040" video="mainVideo-parallel" id="subtitle"]]
@@ -18,9 +15,7 @@
[[!template text="""with a quick overview of the implementation.""" start="00:00:19.080" video="mainVideo-parallel" id="subtitle"]]
[[!template text="""Let's get straight into it!""" start="00:00:21.520" video="mainVideo-parallel" id="subtitle"]]
-[[!template new="1" text="""Problem: Goal""" start="00:00:23.440" video="mainVideo-parallel" id="subtitle"]]
-
-[[!template text="""Here is a problem that most of us have dealt with""" start="00:00:23.440" video="mainVideo-parallel" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Problem: Goal""" start="00:00:23.440" video="mainVideo-parallel" id="subtitle"]]</div>[[!template text="""Here is a problem that most of us have dealt with""" start="00:00:23.440" video="mainVideo-parallel" id="subtitle"]]
[[!template text="""at some point.""" start="00:00:25.800" video="mainVideo-parallel" id="subtitle"]]
[[!template text="""Assume we have a piece of code such as the following.""" start="00:00:27.040" video="mainVideo-parallel" id="subtitle"]]
[[!template text="""We use a code example here, but in general what we're""" start="00:00:29.880" video="mainVideo-parallel" id="subtitle"]]
@@ -43,9 +38,7 @@
[[!template text="""We should object to doing things that the computer""" start="00:01:08.280" video="mainVideo-parallel" id="subtitle"]]
[[!template text="""can do for us.""" start="00:01:10.280" video="mainVideo-parallel" id="subtitle"]]
-[[!template new="1" text="""Problem: Naive Multi-pass""" start="00:01:12.360" video="mainVideo-parallel" id="subtitle"]]
-
-[[!template text="""So, one way to automate it is by using our old friend""" start="00:01:12.360" video="mainVideo-parallel" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Problem: Naive Multi-pass""" start="00:01:12.360" video="mainVideo-parallel" id="subtitle"]]</div>[[!template text="""So, one way to automate it is by using our old friend""" start="00:01:12.360" video="mainVideo-parallel" id="subtitle"]]
[[!template text="""query-replace (M-%) multiple times in a sequence.""" start="00:01:15.560" video="mainVideo-parallel" id="subtitle"]]
[[!template text="""We first do a pass where we replace &quot;foo&quot; with &quot;bar&quot;,""" start="00:01:19.040" video="mainVideo-parallel" id="subtitle"]]
[[!template text="""then we do another pass where we replace &quot;bar&quot; with &quot;foo&quot;.""" start="00:01:22.240" video="mainVideo-parallel" id="subtitle"]]
@@ -54,9 +47,7 @@
[[!template text="""doesn't work because it results in interference""" start="00:01:29.160" video="mainVideo-parallel" id="subtitle"]]
[[!template text="""between the two replacements.""" start="00:01:31.560" video="mainVideo-parallel" id="subtitle"]]
-[[!template new="1" text="""Problem: Clever Multi-pass""" start="00:01:34.200" video="mainVideo-parallel" id="subtitle"]]
-
-[[!template text="""Instead, we have to be a bit more clever.""" start="00:01:34.200" video="mainVideo-parallel" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Problem: Clever Multi-pass""" start="00:01:34.200" video="mainVideo-parallel" id="subtitle"]]</div>[[!template text="""Instead, we have to be a bit more clever.""" start="00:01:34.200" video="mainVideo-parallel" id="subtitle"]]
[[!template text="""We should first replace &quot;foo&quot; with a temporary string,""" start="00:01:36.800" video="mainVideo-parallel" id="subtitle"]]
[[!template text="""in this case &quot;oof&quot;, that we will call a &quot;token&quot;.""" start="00:01:39.840" video="mainVideo-parallel" id="subtitle"]]
[[!template text="""To avoid interference, we must be careful to ensure""" start="00:01:42.120" video="mainVideo-parallel" id="subtitle"]]
@@ -66,9 +57,7 @@
[[!template text="""and finally a third pass to replace the token with &quot;bar&quot;.""" start="00:01:52.720" video="mainVideo-parallel" id="subtitle"]]
[[!template text="""This gives us the result we want.""" start="00:01:56.080" video="mainVideo-parallel" id="subtitle"]]
-[[!template new="1" text="""Problem: Terminology""" start="00:01:57.720" video="mainVideo-parallel" id="subtitle"]]
-
-[[!template text="""Putting the implementation aside for a moment, this style""" start="00:01:57.720" video="mainVideo-parallel" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Problem: Terminology""" start="00:01:57.720" video="mainVideo-parallel" id="subtitle"]]</div>[[!template text="""Putting the implementation aside for a moment, this style""" start="00:01:57.720" video="mainVideo-parallel" id="subtitle"]]
[[!template text="""of text replacement, where we replace multiple sources""" start="00:02:01.920" video="mainVideo-parallel" id="subtitle"]]
[[!template text="""with their targets, without running into interference""" start="00:02:05.600" video="mainVideo-parallel" id="subtitle"]]
[[!template text="""issues between replacement pairs, is what we call""" start="00:02:09.040" video="mainVideo-parallel" id="subtitle"]]
@@ -90,9 +79,7 @@
[[!template text="""the previously substituted targets of any other pair.""" start="00:02:56.760" video="mainVideo-parallel" id="subtitle"]]
[[!template text="""This is what we mean by &quot;no interference&quot;.""" start="00:03:00.200" video="mainVideo-parallel" id="subtitle"]]
-[[!template new="1" text="""Problem: Scaling Multi-pass""" start="00:03:04.440" video="mainVideo-parallel" id="subtitle"]]
-
-[[!template text="""However, manually invoking multiple carefully chosen""" start="00:03:04.440" video="mainVideo-parallel" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Problem: Scaling Multi-pass""" start="00:03:04.440" video="mainVideo-parallel" id="subtitle"]]</div>[[!template text="""However, manually invoking multiple carefully chosen""" start="00:03:04.440" video="mainVideo-parallel" id="subtitle"]]
[[!template text="""query-replace commands gets old very quickly.""" start="00:03:08.000" video="mainVideo-parallel" id="subtitle"]]
[[!template text="""Say we scaled up the problem and wanted to perform n""" start="00:03:11.520" video="mainVideo-parallel" id="subtitle"]]
[[!template text="""swaps instead of just two, e.g. to swap, or rather,""" start="00:03:14.200" video="mainVideo-parallel" id="subtitle"]]
@@ -111,9 +98,7 @@
[[!template text="""and two, might slow down the search if they're overly long.""" start="00:03:50.280" video="mainVideo-parallel" id="subtitle"]]
[[!template text="""Can we do better?""" start="00:03:53.480" video="mainVideo-parallel" id="subtitle"]]
-[[!template new="1" text="""Solution: Single-pass""" start="00:03:55.920" video="mainVideo-parallel" id="subtitle"]]
-
-[[!template text="""Yes we can!""" start="00:03:55.920" video="mainVideo-parallel" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Solution: Single-pass""" start="00:03:55.920" video="mainVideo-parallel" id="subtitle"]]</div>[[!template text="""Yes we can!""" start="00:03:55.920" video="mainVideo-parallel" id="subtitle"]]
[[!template text="""We can actually perform just a single pass.""" start="00:03:56.840" video="mainVideo-parallel" id="subtitle"]]
[[!template text="""The trick is to alternate between the replacement""" start="00:03:59.680" video="mainVideo-parallel" id="subtitle"]]
[[!template text="""pairs, replacing whichever source occurs the earliest,""" start="00:04:02.280" video="mainVideo-parallel" id="subtitle"]]
@@ -122,9 +107,7 @@
[[!template text="""This interleaving of replacements is not something""" start="00:04:12.280" video="mainVideo-parallel" id="subtitle"]]
[[!template text="""that's easy to do by hand with query-replace.""" start="00:04:14.520" video="mainVideo-parallel" id="subtitle"]]
-[[!template new="1" text="""Solution: Existing""" start="00:04:18.240" video="mainVideo-parallel" id="subtitle"]]
-
-[[!template text="""Since this is Emacs we're talking about, of course""" start="00:04:18.240" video="mainVideo-parallel" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Solution: Existing""" start="00:04:18.240" video="mainVideo-parallel" id="subtitle"]]</div>[[!template text="""Since this is Emacs we're talking about, of course""" start="00:04:18.240" video="mainVideo-parallel" id="subtitle"]]
[[!template text="""there already exist solutions that implement this idea.""" start="00:04:20.960" video="mainVideo-parallel" id="subtitle"]]
[[!template text="""Here are few that we could find.""" start="00:04:23.560" video="mainVideo-parallel" id="subtitle"]]
[[!template text="""The EmacsWiki has a page dedicated to this problem.""" start="00:04:25.960" video="mainVideo-parallel" id="subtitle"]]
@@ -171,9 +154,7 @@
[[!template text="""regexes and consolidates all of the existing ideas""" start="00:06:24.240" video="mainVideo-parallel" id="subtitle"]]
[[!template text="""into a single package.""" start="00:06:27.120" video="mainVideo-parallel" id="subtitle"]]
-[[!template new="1" text="""Solution: query-replace-parallel""" start="00:06:29.080" video="mainVideo-parallel" id="subtitle"]]
-
-[[!template text="""We call it query-replace-parallel.""" start="00:06:29.080" video="mainVideo-parallel" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Solution: query-replace-parallel""" start="00:06:29.080" video="mainVideo-parallel" id="subtitle"]]</div>[[!template text="""We call it query-replace-parallel.""" start="00:06:29.080" video="mainVideo-parallel" id="subtitle"]]
[[!template text="""The package is free and open-source and can currently""" start="00:06:31.360" video="mainVideo-parallel" id="subtitle"]]
[[!template text="""be found on GitHub under hokomo/query-replace-parallel.""" start="00:06:34.160" video="mainVideo-parallel" id="subtitle"]]
[[!template text="""The name is not yet finalized and we're open to any""" start="00:06:37.400" video="mainVideo-parallel" id="subtitle"]]
@@ -184,9 +165,7 @@
[[!template text="""With all of that said, let's go through a few demos""" start="00:06:48.900" video="mainVideo-parallel" id="subtitle"]]
[[!template text="""to illustrate some use cases and see how to use the package.""" start="00:06:51.400" video="mainVideo-parallel" id="subtitle"]]
-[[!template new="1" text="""Demonstration: Swap""" start="00:06:55.240" video="mainVideo-parallel" id="subtitle"]]
-
-[[!template text="""Our first demo is a simple swap, like the one we""" start="00:06:55.240" video="mainVideo-parallel" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Demonstration: Swap""" start="00:06:55.240" video="mainVideo-parallel" id="subtitle"]]</div>[[!template text="""Our first demo is a simple swap, like the one we""" start="00:06:55.240" video="mainVideo-parallel" id="subtitle"]]
[[!template text="""showed at the beginning of the presentation.""" start="00:06:57.560" video="mainVideo-parallel" id="subtitle"]]
[[!template text="""This chunk of text is actually one of the tests""" start="00:06:59.240" video="mainVideo-parallel" id="subtitle"]]
[[!template text="""from our package's code.""" start="00:07:02.160" video="mainVideo-parallel" id="subtitle"]]
@@ -209,9 +188,7 @@
[[!template text="""execute them until the end,""" start="00:07:49.203" video="mainVideo-parallel" id="subtitle"]]
[[!template text="""and so on.""" start="00:07:50.240" video="mainVideo-parallel" id="subtitle"]]
-[[!template new="1" text="""Demonstration: LaTeX""" start="00:07:53.970" video="mainVideo-parallel" id="subtitle"]]
-
-[[!template text="""The second demo shows our first regex use case.""" start="00:07:53.970" video="mainVideo-parallel" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Demonstration: LaTeX""" start="00:07:53.970" video="mainVideo-parallel" id="subtitle"]]</div>[[!template text="""The second demo shows our first regex use case.""" start="00:07:53.970" video="mainVideo-parallel" id="subtitle"]]
[[!template text="""Imagine we have the following LaTeX code.""" start="00:07:56.280" video="mainVideo-parallel" id="subtitle"]]
[[!template text="""We realize that we haven't been completely consistent""" start="00:07:58.720" video="mainVideo-parallel" id="subtitle"]]
[[!template text="""in our use and naming of macros, so we decide to""" start="00:08:01.480" video="mainVideo-parallel" id="subtitle"]]
@@ -233,9 +210,7 @@
[[!template text="""There we go, the fixes are done and we didn't have""" start="00:08:42.280" video="mainVideo-parallel" id="subtitle"]]
[[!template text="""to think about in which order to apply them.""" start="00:08:44.480" video="mainVideo-parallel" id="subtitle"]]
-[[!template new="1" text="""Demonstration: Regex""" start="00:08:48.700" video="mainVideo-parallel" id="subtitle"]]
-
-[[!template text="""We now take a look at a more complicated regex""" start="00:08:48.700" video="mainVideo-parallel" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Demonstration: Regex""" start="00:08:48.700" video="mainVideo-parallel" id="subtitle"]]</div>[[!template text="""We now take a look at a more complicated regex""" start="00:08:48.700" video="mainVideo-parallel" id="subtitle"]]
[[!template text="""example to demonstrate that even advanced query-replace""" start="00:08:51.000" video="mainVideo-parallel" id="subtitle"]]
[[!template text="""features are supported.""" start="00:08:53.680" video="mainVideo-parallel" id="subtitle"]]
[[!template text="""Each &quot;foo&quot; and &quot;bar&quot; in this example is followed by""" start="00:08:55.100" video="mainVideo-parallel" id="subtitle"]]
@@ -252,9 +227,7 @@
[[!template text="""Performing the replacements, we can see how each""" start="00:09:27.040" video="mainVideo-parallel" id="subtitle"]]
[[!template text="""number is incremented or decremented appropriately.""" start="00:09:29.120" video="mainVideo-parallel" id="subtitle"]]
-[[!template new="1" text="""Demonstration: Order""" start="00:09:36.320" video="mainVideo-parallel" id="subtitle"]]
-
-[[!template text="""We haven't covered it explicitly so some of you may""" start="00:09:36.320" video="mainVideo-parallel" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Demonstration: Order""" start="00:09:36.320" video="mainVideo-parallel" id="subtitle"]]</div>[[!template text="""We haven't covered it explicitly so some of you may""" start="00:09:36.320" video="mainVideo-parallel" id="subtitle"]]
[[!template text="""be wondering how parallel replacement deals with""" start="00:09:38.760" video="mainVideo-parallel" id="subtitle"]]
[[!template text="""overlapping matches and whether the order of the""" start="00:09:41.360" video="mainVideo-parallel" id="subtitle"]]
[[!template text="""replacement pairs is significant.""" start="00:09:43.840" video="mainVideo-parallel" id="subtitle"]]
@@ -280,9 +253,7 @@
[[!template text="""The order only matters when two or more sources""" start="00:10:46.760" video="mainVideo-parallel" id="subtitle"]]
[[!template text="""share the same prefix, as in this example.""" start="00:10:49.960" video="mainVideo-parallel" id="subtitle"]]
-[[!template new="1" text="""Demonstration: Fun""" start="00:10:54.440" video="mainVideo-parallel" id="subtitle"]]
-
-[[!template text="""The final demo tests the limits of the package and""" start="00:10:54.440" video="mainVideo-parallel" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Demonstration: Fun""" start="00:10:54.440" video="mainVideo-parallel" id="subtitle"]]</div>[[!template text="""The final demo tests the limits of the package and""" start="00:10:54.440" video="mainVideo-parallel" id="subtitle"]]
[[!template text="""shows that it fully integrates with query-replace.""" start="00:10:56.960" video="mainVideo-parallel" id="subtitle"]]
[[!template text="""It is really just for fun and can even serve as a""" start="00:10:59.760" video="mainVideo-parallel" id="subtitle"]]
[[!template text="""small Emacs brainteaser.""" start="00:11:03.040" video="mainVideo-parallel" id="subtitle"]]
@@ -310,9 +281,7 @@
[[!template text="""We confirm the prompt and finally rename our directories.""" start="00:12:16.300" video="mainVideo-parallel" id="subtitle"]]
[[!template text="""Wow, that really paid off.""" start="00:12:25.360" video="mainVideo-parallel" id="subtitle"]]
-[[!template new="1" text="""Implementation""" start="00:12:29.120" video="mainVideo-parallel" id="subtitle"]]
-
-[[!template text="""Before we finish, a few quick words about the""" start="00:12:29.120" video="mainVideo-parallel" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Implementation""" start="00:12:29.120" video="mainVideo-parallel" id="subtitle"]]</div>[[!template text="""Before we finish, a few quick words about the""" start="00:12:29.120" video="mainVideo-parallel" id="subtitle"]]
[[!template text="""implementation for the curious.""" start="00:12:31.480" video="mainVideo-parallel" id="subtitle"]]
[[!template text="""Both query-replace-parallel and query-replace-parallel-regexp""" start="00:12:33.300" video="mainVideo-parallel" id="subtitle"]]
[[!template text="""delegate to the complex perform-replace function""" start="00:12:36.480" video="mainVideo-parallel" id="subtitle"]]
@@ -354,9 +323,7 @@
[[!template text="""tried to do it in the simplest and least intrusive way""" start="00:14:14.040" video="mainVideo-parallel" id="subtitle"]]
[[!template text="""possible.""" start="00:14:16.680" video="mainVideo-parallel" id="subtitle"]]
-[[!template new="1" text="""End""" start="00:14:18.740" video="mainVideo-parallel" id="subtitle"]]
-
-[[!template text="""In conclusion, go download and play with the package.""" start="00:14:18.740" video="mainVideo-parallel" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""End""" start="00:14:18.740" video="mainVideo-parallel" id="subtitle"]]</div>[[!template text="""In conclusion, go download and play with the package.""" start="00:14:18.740" video="mainVideo-parallel" id="subtitle"]]
[[!template text="""Even if you're not performing overlapping replacements,""" start="00:14:21.680" video="mainVideo-parallel" id="subtitle"]]
[[!template text="""you can still use query-replace-parallel for the""" start="00:14:24.560" video="mainVideo-parallel" id="subtitle"]]
[[!template text="""peace of mind knowing that things won't go wrong if""" start="00:14:26.880" video="mainVideo-parallel" id="subtitle"]]
@@ -366,8 +333,7 @@
[[!template text="""improvements or bugs that make it only a 99% solution.""" start="00:14:37.560" video="mainVideo-parallel" id="subtitle"]]
[[!template text="""Thanks for listening and have a great EmacsConf!""" start="00:14:40.640" video="mainVideo-parallel" id="subtitle"]]
-<a name="parallel-qanda-transcript"></a>
-# Q&A transcript (unedited)
+</div><div class="transcript transcript-qanda"><a name="parallel-qanda-transcript"></a><h1>Q&A transcript (unedited)</h1>
[[!template text="""[Speaker 0]: And I think we are live.""" start="00:00:08.620" video="qanda-parallel" id="subtitle"]]
[[!template text="""Hello again, everyone.""" start="00:00:09.620" video="qanda-parallel" id="subtitle"]]
@@ -625,7 +591,7 @@
[[!template text="""[Speaker 1]: Bye, thank you, see you.""" start="00:10:11.160" video="qanda-parallel" id="subtitle"]]
[[!template text="""[Speaker 2]: You""" start="00:10:15.060" video="qanda-parallel" id="subtitle"]]
-Questions or comments? Please e-mail [hokomo@disroot.org](mailto:hokomo@disroot.org?subject=Comment%20for%20EmacsConf%202023%20parallel%3A%20Parallel%20text%20replacement)
+</div>Questions or comments? Please e-mail [hokomo@disroot.org](mailto:hokomo@disroot.org?subject=Comment%20for%20EmacsConf%202023%20parallel%3A%20Parallel%20text%20replacement)
<!-- End of emacsconf-publish-after-page -->
diff --git a/2023/info/parallel-before.md b/2023/info/parallel-before.md
index 54bb132d..b8b4f3f2 100644
--- a/2023/info/parallel-before.md
+++ b/2023/info/parallel-before.md
@@ -1,6 +1,6 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
[[!toc ]]
-Format: 15-min talk; Q&A: BigBlueButton conference room
+Format: 15-min talk ; Q&A: BigBlueButton conference room
Status: Q&A to be extracted from the room recordings
@@ -9,7 +9,7 @@ Status: Q&A to be extracted from the room recordings
# Talk
-<div class="vid"><video controls preload="none" id="parallel-mainVideo"><source src="https://media.emacsconf.org/2023/emacsconf-2023-parallel--parallel-text-replacement--lovro-valentino-picotti--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-parallel--parallel-text-replacement--lovro-valentino-picotti--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2023/captions/emacsconf-2023-parallel--parallel-text-replacement--lovro-valentino-picotti--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="parallel-mainVideo" data="""
+<div class="vid mainVideo"><video controls preload="none" id="mainVideo-parallel"><source src="https://media.emacsconf.org/2023/emacsconf-2023-parallel--parallel-text-replacement--lovro-valentino-picotti--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-parallel--parallel-text-replacement--lovro-valentino-picotti--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2023/captions/emacsconf-2023-parallel--parallel-text-replacement--lovro-valentino-picotti--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-parallel" data="""
00:00.000 Introduction
00:23.440 Problem: Goal
01:12.360 Problem: Naive Multi-pass
@@ -27,10 +27,10 @@ Status: Q&A to be extracted from the room recordings
12:29.120 Implementation
14:18.740 End
-"""]]<div></div>Duration: 14:46 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-parallel--parallel-text-replacement--lovro-valentino-picotti--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-parallel--parallel-text-replacement--lovro-valentino-picotti--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-parallel--parallel-text-replacement--lovro-valentino-picotti--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-parallel--parallel-text-replacement--lovro-valentino-picotti--main-vp8.webm">Download --main-vp8.webm (95MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-parallel--parallel-text-replacement--lovro-valentino-picotti--main.opus">Download --main.opus</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-parallel--parallel-text-replacement--lovro-valentino-picotti--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-parallel--parallel-text-replacement--lovro-valentino-picotti--main.webm">Download --main.webm (29MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-parallel--parallel-text-replacement--lovro-valentino-picotti--pad.html">Download --pad.html</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-parallel--parallel-text-replacement--lovro-valentino-picotti--pad.md">Download --pad.md</a></li><li><a href="https://toobnix.org/w/t3G5zo35epS6HvVot9MdZv">View on Toobnix</a></li></ul></div></div>
+"""]]<div></div>Duration: 14:46 minutes<div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2023-parallel">Open Etherpad</a></li><li><a href="https://bbb.emacsverse.org/playback/presentation/2.0/playback.html?meetingId=986da908da3b47da66e25ee3d0c4253749004ad5-1701613668042">Play recording from BigBlueButton</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-parallel--parallel-text-replacement--lovro-valentino-picotti--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-parallel--parallel-text-replacement--lovro-valentino-picotti--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-parallel--parallel-text-replacement--lovro-valentino-picotti--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-parallel--parallel-text-replacement--lovro-valentino-picotti--main-vp8.webm">Download --main-vp8.webm (95MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-parallel--parallel-text-replacement--lovro-valentino-picotti--main.opus">Download --main.opus</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-parallel--parallel-text-replacement--lovro-valentino-picotti--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-parallel--parallel-text-replacement--lovro-valentino-picotti--main.webm">Download --main.webm (29MB)</a></li><li><a href="https://toobnix.org/w/t3G5zo35epS6HvVot9MdZv">View on Toobnix</a></li><li><a href="https://www.youtube.com/watch?v=fUbBIWOJFh4">View on Youtube</a></li></ul></div></div>
# Q&A
-<div class="vid"><video controls preload="none" id="parallel-qanda"><source src="https://media.emacsconf.org/2023/emacsconf-2023-parallel--parallel-text-replacement--lovro-valentino-picotti--answers.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-parallel--parallel-text-replacement--lovro-valentino-picotti--answers.vtt" default />"""<p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video><div>Listen to just the audio:<br /><audio controls preload="none" id="parallel-qanda-audio" src="https://media.emacsconf.org/2023/emacsconf-2023-parallel--parallel-text-replacement--lovro-valentino-picotti--answers.opus"></audio></div><div></div>Duration: 10:16 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-parallel--parallel-text-replacement--lovro-valentino-picotti--answers.json">Download --answers.json</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-parallel--parallel-text-replacement--lovro-valentino-picotti--answers.opus">Download --answers.opus (6.8MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-parallel--parallel-text-replacement--lovro-valentino-picotti--answers.vtt">Download --answers.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-parallel--parallel-text-replacement--lovro-valentino-picotti--answers.webm">Download --answers.webm (10MB)</a></li></ul></div></div>
+<div class="vid qanda"><video controls preload="none" id="qanda-parallel"><source src="https://media.emacsconf.org/2023/emacsconf-2023-parallel--parallel-text-replacement--lovro-valentino-picotti--answers.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-parallel--parallel-text-replacement--lovro-valentino-picotti--answers.vtt" default />"""<p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video><div>Listen to just the audio:<br /><audio controls preload="none" id="qanda-parallel-audio" src="https://media.emacsconf.org/2023/emacsconf-2023-parallel--parallel-text-replacement--lovro-valentino-picotti--answers.opus"></audio></div><div></div>Duration: 10:16 minutes<div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2023-parallel">Open Etherpad</a></li><li><a href="https://bbb.emacsverse.org/playback/presentation/2.0/playback.html?meetingId=986da908da3b47da66e25ee3d0c4253749004ad5-1701613668042">Play recording from BigBlueButton</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-parallel--parallel-text-replacement--lovro-valentino-picotti--answers.json">Download --answers.json</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-parallel--parallel-text-replacement--lovro-valentino-picotti--answers.opus">Download --answers.opus (6.8MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-parallel--parallel-text-replacement--lovro-valentino-picotti--answers.vtt">Download --answers.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-parallel--parallel-text-replacement--lovro-valentino-picotti--answers.webm">Download --answers.webm (10MB)</a></li></ul></div></div>
# Description
<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2023/info/parallel-nav.md b/2023/info/parallel-nav.md
index 5d255eff..c1f1b543 100644
--- a/2023/info/parallel-nav.md
+++ b/2023/info/parallel-nav.md
@@ -3,5 +3,5 @@
Back to the [[talks]]
Previous by track: <a href="/2023/talks/koutline">Using Koutline for stream of thought journaling</a>
Next by track: <a href="/2023/talks/eat">Eat and Eat powered Eshell, fast featureful terminal inside Emacs</a>
-Track: <span class="sched-track General">General</span>
+Track: <span class="sched-track General">General</span> - <strong><a href="https://emacsconf.org/2023/watch/gen">Watch</a></strong>
</div>
diff --git a/2023/info/poltys-before.md b/2023/info/poltys-before.md
index b5eb7ada..7dbe2c8d 100644
--- a/2023/info/poltys-before.md
+++ b/2023/info/poltys-before.md
@@ -1,12 +1,12 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
[[!toc ]]
-Format: 35-min talk; Q&A: BigBlueButton conference room
+Format: 35-min talk ; Q&A: BigBlueButton conference room
Status: Q&A to be extracted from the room recordings
-<div class="vid"><video controls preload="none" id="poltys-mainVideo"><source src="https://media.emacsconf.org/2023/emacsconf-2023-poltys--the-browser-in-a-buffer--michael-bauer--main.webm" /><p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video><div></div>Duration: 34:30 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-poltys--the-browser-in-a-buffer--michael-bauer--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-poltys--the-browser-in-a-buffer--michael-bauer--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-poltys--the-browser-in-a-buffer--michael-bauer--main.opus">Download --main.opus (20MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-poltys--the-browser-in-a-buffer--michael-bauer--main.webm">Download --main.webm (185MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-poltys--the-browser-in-a-buffer--michael-bauer--pad.html">Download --pad.html</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-poltys--the-browser-in-a-buffer--michael-bauer--pad.md">Download --pad.md</a></li><li><a href="https://toobnix.org/w/1quXfJqC9bh9VxkA9UC21x">View on Toobnix</a></li></ul></div></div>
+<div class="vid mainVideo"><video controls preload="none" id="mainVideo-poltys"><source src="https://media.emacsconf.org/2023/emacsconf-2023-poltys--the-browser-in-a-buffer--michael-bauer--main.webm" /><p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video><div></div>Duration: 34:30 minutes<div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2023-poltys">Open Etherpad</a></li><li><a href="https://bbb.emacsverse.org/playback/presentation/2.0/playback.html?meetingId=823df2a9c2b725271129cfe0301fcc7e631c2e63-1701617796009">Play recording from BigBlueButton</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-poltys--the-browser-in-a-buffer--michael-bauer--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-poltys--the-browser-in-a-buffer--michael-bauer--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-poltys--the-browser-in-a-buffer--michael-bauer--main.opus">Download --main.opus (20MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-poltys--the-browser-in-a-buffer--michael-bauer--main.webm">Download --main.webm (185MB)</a></li><li><a href="https://toobnix.org/w/1quXfJqC9bh9VxkA9UC21x">View on Toobnix</a></li><li><a href="https://www.youtube.com/watch?v=mp6gaVjmKIU">View on Youtube</a></li></ul></div></div>
# Description
<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2023/info/poltys-nav.md b/2023/info/poltys-nav.md
index dd2be68d..54de7074 100644
--- a/2023/info/poltys-nav.md
+++ b/2023/info/poltys-nav.md
@@ -3,5 +3,5 @@
Back to the [[talks]]
Previous by track: <a href="/2023/talks/eat">Eat and Eat powered Eshell, fast featureful terminal inside Emacs</a>
Next by track: <a href="/2023/talks/cubing">Speedcubing in Emacs</a>
-Track: <span class="sched-track General">General</span>
+Track: <span class="sched-track General">General</span> - <strong><a href="https://emacsconf.org/2023/watch/gen">Watch</a></strong>
</div>
diff --git a/2023/info/ref-after.md b/2023/info/ref-after.md
index 9af1f6ff..2a145fdb 100644
--- a/2023/info/ref-after.md
+++ b/2023/info/ref-after.md
@@ -1,13 +1,10 @@
<!-- Automatically generated by emacsconf-publish-after-page -->
-<a name="ref-mainVideo-transcript"></a>
-# Transcript
+<div class="transcript transcript-mainVideo"><a name="ref-mainVideo-transcript"></a><h1>Transcript</h1>
-[[!template new="1" text="""Introduction""" start="00:00:00.000" video="mainVideo-ref" id="subtitle"]]
-
-[[!template text="""Hello, this is Christopher Howard,""" start="00:00:00.000" video="mainVideo-ref" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Introduction""" start="00:00:00.000" video="mainVideo-ref" id="subtitle"]]</div>[[!template text="""Hello, this is Christopher Howard,""" start="00:00:00.000" video="mainVideo-ref" id="subtitle"]]
[[!template text="""and welcome to my talk,""" start="00:00:04.940" video="mainVideo-ref" id="subtitle"]]
[[!template text="""&quot;Informal Reference Tracking.&quot;""" start="00:00:06.520" video="mainVideo-ref" id="subtitle"]]
[[!template text="""This is a workflow talk,""" start="00:00:08.800" video="mainVideo-ref" id="subtitle"]]
@@ -50,9 +47,7 @@
[[!template text="""So there are better systems,""" start="00:02:00.800" video="mainVideo-ref" id="subtitle"]]
[[!template text="""but this is what worked for me and what was easy.""" start="00:02:02.440" video="mainVideo-ref" id="subtitle"]]
-[[!template new="1" text="""Tip about completion frameworks""" start="00:02:06.040" video="mainVideo-ref" id="subtitle"]]
-
-[[!template text="""I do want to emphasize that if you haven't,""" start="00:02:06.040" video="mainVideo-ref" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Tip about completion frameworks""" start="00:02:06.040" video="mainVideo-ref" id="subtitle"]]</div>[[!template text="""I do want to emphasize that if you haven't,""" start="00:02:06.040" video="mainVideo-ref" id="subtitle"]]
[[!template text="""you really want to learn how to use helm-mode""" start="00:02:11.320" video="mainVideo-ref" id="subtitle"]]
[[!template text="""H-E-L-M, or one of the similar systems in Emacs""" start="00:02:14.640" video="mainVideo-ref" id="subtitle"]]
[[!template text="""that does fuzzy search on Emacs commands.""" start="00:02:20.440" video="mainVideo-ref" id="subtitle"]]
@@ -72,9 +67,7 @@
[[!template text="""So if you haven't learned Helm""" start="00:03:06.960" video="mainVideo-ref" id="subtitle"]]
[[!template text="""or a similar system for Emacs, you really want to.""" start="00:03:09.120" video="mainVideo-ref" id="subtitle"]]
-[[!template new="1" text="""References file overview""" start="00:03:14.920" video="mainVideo-ref" id="subtitle"]]
-
-[[!template text="""So what is my approach?""" start="00:03:14.920" video="mainVideo-ref" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""References file overview""" start="00:03:14.920" video="mainVideo-ref" id="subtitle"]]</div>[[!template text="""So what is my approach?""" start="00:03:14.920" video="mainVideo-ref" id="subtitle"]]
[[!template text="""Well, basically, what it comes down to is really""" start="00:03:18.240" video="mainVideo-ref" id="subtitle"]]
[[!template text="""fundamentally nothing more than just a list""" start="00:03:24.880" video="mainVideo-ref" id="subtitle"]]
[[!template text="""of Org entries in a file.""" start="00:03:27.307" video="mainVideo-ref" id="subtitle"]]
@@ -121,9 +114,7 @@
[[!template text="""to make this go a lot faster""" start="00:05:35.240" video="mainVideo-ref" id="subtitle"]]
[[!template text="""rather than typing all this out.""" start="00:05:37.080" video="mainVideo-ref" id="subtitle"]]
-[[!template new="1" text="""The Emacs Lisp code""" start="00:05:39.320" video="mainVideo-ref" id="subtitle"]]
-
-[[!template text="""For that, I'll switch back to my init.el file.""" start="00:05:39.320" video="mainVideo-ref" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""The Emacs Lisp code""" start="00:05:39.320" video="mainVideo-ref" id="subtitle"]]</div>[[!template text="""For that, I'll switch back to my init.el file.""" start="00:05:39.320" video="mainVideo-ref" id="subtitle"]]
[[!template text="""There's really just five functions.""" start="00:05:45.880" video="mainVideo-ref" id="subtitle"]]
[[!template text="""The first two here are ones""" start="00:05:49.480" video="mainVideo-ref" id="subtitle"]]
[[!template text="""that I've adapted off the Internet.""" start="00:05:52.840" video="mainVideo-ref" id="subtitle"]]
@@ -167,9 +158,7 @@
[[!template text="""So if I really do want to edit those other references,""" start="00:07:55.040" video="mainVideo-ref" id="subtitle"]]
[[!template text="""I've got a function to quickly make that possible.""" start="00:07:58.120" video="mainVideo-ref" id="subtitle"]]
-[[!template new="1" text="""Example reference to Elfeed article""" start="00:08:02.720" video="mainVideo-ref" id="subtitle"]]
-
-[[!template text="""Let me give an example of this.""" start="00:08:02.720" video="mainVideo-ref" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Example reference to Elfeed article""" start="00:08:02.720" video="mainVideo-ref" id="subtitle"]]</div>[[!template text="""Let me give an example of this.""" start="00:08:02.720" video="mainVideo-ref" id="subtitle"]]
[[!template text="""I type in here, new reference.""" start="00:08:07.500" video="mainVideo-ref" id="subtitle"]]
[[!template text="""Now I've jumped to the end of my references file.""" start="00:08:13.980" video="mainVideo-ref" id="subtitle"]]
[[!template text="""See, it's ready to take the title.""" start="00:08:16.440" video="mainVideo-ref" id="subtitle"]]
@@ -231,9 +220,7 @@
[[!template text="""that only takes 20 seconds or so, or 30 seconds.""" start="00:11:31.000" video="mainVideo-ref" id="subtitle"]]
[[!template text="""Pretty quick. Pretty easy.""" start="00:11:37.500" video="mainVideo-ref" id="subtitle"]]
-[[!template new="1" text="""Searching the references""" start="00:11:41.540" video="mainVideo-ref" id="subtitle"]]
-
-[[!template text="""What about searching later?""" start="00:11:41.540" video="mainVideo-ref" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Searching the references""" start="00:11:41.540" video="mainVideo-ref" id="subtitle"]]</div>[[!template text="""What about searching later?""" start="00:11:41.540" video="mainVideo-ref" id="subtitle"]]
[[!template text="""Well, often the easiest thing is just do a simple,""" start="00:11:45.540" video="mainVideo-ref" id="subtitle"]]
[[!template text="""boring incremental search.""" start="00:11:50.474" video="mainVideo-ref" id="subtitle"]]
[[!template text="""I usually know roughly""" start="00:11:54.640" video="mainVideo-ref" id="subtitle"]]
@@ -288,7 +275,7 @@
[[!template text="""or you can reach out to me by email if you'd like.""" start="00:14:58.260" video="mainVideo-ref" id="subtitle"]]
[[!template text="""Thank you very much.""" start="00:15:01.920" video="mainVideo-ref" id="subtitle"]]
-
+</div>
Captioner: bhavin192
diff --git a/2023/info/ref-before.md b/2023/info/ref-before.md
index 165a4e1b..474b823a 100644
--- a/2023/info/ref-before.md
+++ b/2023/info/ref-before.md
@@ -1,13 +1,13 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
[[!toc ]]
-Format: 16-min talk; Q&A: IRC
+Format: 16-min talk ; Q&A: IRC
Status: All done
-<div class="vid"><video controls preload="none" id="ref-mainVideo"><source src="https://media.emacsconf.org/2023/emacsconf-2023-ref--orgmode-workflow-informal-reference-tracking--christopher-howard--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-ref--orgmode-workflow-informal-reference-tracking--christopher-howard--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2023/captions/emacsconf-2023-ref--orgmode-workflow-informal-reference-tracking--christopher-howard--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="ref-mainVideo" data="""
+<div class="vid mainVideo"><video controls preload="none" id="mainVideo-ref"><source src="https://media.emacsconf.org/2023/emacsconf-2023-ref--orgmode-workflow-informal-reference-tracking--christopher-howard--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-ref--orgmode-workflow-informal-reference-tracking--christopher-howard--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2023/captions/emacsconf-2023-ref--orgmode-workflow-informal-reference-tracking--christopher-howard--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-ref" data="""
00:00.000 Introduction
02:06.040 Tip about completion frameworks
03:14.920 References file overview
@@ -15,6 +15,6 @@ Status: All done
08:02.720 Example reference to Elfeed article
11:41.540 Searching the references
-"""]]<div></div>Duration: 15:04 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-ref--orgmode-workflow-informal-reference-tracking--christopher-howard--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-ref--orgmode-workflow-informal-reference-tracking--christopher-howard--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-ref--orgmode-workflow-informal-reference-tracking--christopher-howard--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-ref--orgmode-workflow-informal-reference-tracking--christopher-howard--main.ogg">Download --main.ogg (7.9MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-ref--orgmode-workflow-informal-reference-tracking--christopher-howard--main.opus">Download --main.opus (7.8MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-ref--orgmode-workflow-informal-reference-tracking--christopher-howard--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-ref--orgmode-workflow-informal-reference-tracking--christopher-howard--main.webm">Download --main.webm (38MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-ref--orgmode-workflow-informal-reference-tracking--christopher-howard--pad.html">Download --pad.html</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-ref--orgmode-workflow-informal-reference-tracking--christopher-howard--pad.md">Download --pad.md</a></li><li><a href="https://toobnix.org/w/cYpEatASFWXLzDfKH4Fhec">View on Toobnix</a></li></ul></div></div>
+"""]]<div></div>Duration: 15:04 minutes<div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2023-ref">Open Etherpad</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-ref--orgmode-workflow-informal-reference-tracking--christopher-howard--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-ref--orgmode-workflow-informal-reference-tracking--christopher-howard--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-ref--orgmode-workflow-informal-reference-tracking--christopher-howard--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-ref--orgmode-workflow-informal-reference-tracking--christopher-howard--main.ogg">Download --main.ogg (7.9MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-ref--orgmode-workflow-informal-reference-tracking--christopher-howard--main.opus">Download --main.opus (7.8MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-ref--orgmode-workflow-informal-reference-tracking--christopher-howard--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-ref--orgmode-workflow-informal-reference-tracking--christopher-howard--main.webm">Download --main.webm (38MB)</a></li><li><a href="https://toobnix.org/w/cYpEatASFWXLzDfKH4Fhec">View on Toobnix</a></li><li><a href="https://www.youtube.com/watch?v=qx1yeJ1Exrw">View on Youtube</a></li></ul></div></div>
# Description
<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2023/info/ref-nav.md b/2023/info/ref-nav.md
index a370300e..7fd597c3 100644
--- a/2023/info/ref-nav.md
+++ b/2023/info/ref-nav.md
@@ -3,5 +3,5 @@
Back to the [[talks]]
Previous by track: <a href="/2023/talks/solo">How I play TTRPGs in Emacs</a>
Next by track: <a href="/2023/talks/unentangling">(Un)entangling projects and repos</a>
-Track: <span class="sched-track General">General</span>
+Track: <span class="sched-track General">General</span> - <strong><a href="https://emacsconf.org/2023/watch/gen">Watch</a></strong>
</div>
diff --git a/2023/info/repl-after.md b/2023/info/repl-after.md
index d0a895ad..5acd31f5 100644
--- a/2023/info/repl-after.md
+++ b/2023/info/repl-after.md
@@ -1,13 +1,10 @@
<!-- Automatically generated by emacsconf-publish-after-page -->
-<a name="repl-mainVideo-transcript"></a>
-# Transcript
+<div class="transcript transcript-mainVideo"><a name="repl-mainVideo-transcript"></a><h1>Transcript</h1>
-[[!template new="1" text="""Intro""" start="00:00:00.000" video="mainVideo-repl" id="subtitle"]]
-
-[[!template text="""Hi! My name is Eduardo Ochs""" start="00:00:00.000" video="mainVideo-repl" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Intro""" start="00:00:00.000" video="mainVideo-repl" id="subtitle"]]</div>[[!template text="""Hi! My name is Eduardo Ochs""" start="00:00:00.000" video="mainVideo-repl" id="subtitle"]]
[[!template text="""and the title of this talk is: REPLs""" start="00:00:03.080" video="mainVideo-repl" id="subtitle"]]
[[!template text="""in strange places - Lua, LateX, LPeg, LPegRex,""" start="00:00:05.520" video="mainVideo-repl" id="subtitle"]]
[[!template text="""and TikZ. I'm the author of an Emacs""" start="00:00:09.400" video="mainVideo-repl" id="subtitle"]]
@@ -15,9 +12,7 @@
[[!template text="""at the EmacsConf 2023, that is happening in""" start="00:00:14.880" video="mainVideo-repl" id="subtitle"]]
[[!template text="""December 2023, at the internets.""" start="00:00:18.480" video="mainVideo-repl" id="subtitle"]]
-[[!template new="1" text="""Diagrams""" start="00:00:22.520" video="mainVideo-repl" id="subtitle"]]
-
-[[!template text="""This is one of the""" start="00:00:22.520" video="mainVideo-repl" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Diagrams""" start="00:00:22.520" video="mainVideo-repl" id="subtitle"]]</div>[[!template text="""This is one of the""" start="00:00:22.520" video="mainVideo-repl" id="subtitle"]]
[[!template text="""examples of diagrams that we are""" start="00:00:23.080" video="mainVideo-repl" id="subtitle"]]
[[!template text="""going to see - let me show how I generate""" start="00:00:24.920" video="mainVideo-repl" id="subtitle"]]
[[!template text="""it... one second,""" start="00:00:27.640" video="mainVideo-repl" id="subtitle"]]
@@ -31,9 +26,7 @@
[[!template text="""generates a PDF, and if I type f8 here it""" start="00:00:53.960" video="mainVideo-repl" id="subtitle"]]
[[!template text="""shows the PDF in the lower right window.""" start="00:00:58.120" video="mainVideo-repl" id="subtitle"]]
-[[!template new="1" text="""eev""" start="00:01:03.920" video="mainVideo-repl" id="subtitle"]]
-
-[[!template text="""Let me start by explaining""" start="00:01:03.920" video="mainVideo-repl" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""eev""" start="00:01:03.920" video="mainVideo-repl" id="subtitle"]]</div>[[!template text="""Let me start by explaining""" start="00:01:03.920" video="mainVideo-repl" id="subtitle"]]
[[!template text="""briefly what is eev.""" start="00:01:06.080" video="mainVideo-repl" id="subtitle"]]
[[!template text="""First: it is something that""" start="00:01:09.840" video="mainVideo-repl" id="subtitle"]]
[[!template text="""appeared by accident in the mid-90s - I""" start="00:01:12.240" video="mainVideo-repl" id="subtitle"]]
@@ -72,9 +65,7 @@
[[!template text="""without black boxes - I'm going to explain""" start="00:02:46.160" video="mainVideo-repl" id="subtitle"]]
[[!template text="""many of these things very soon.""" start="00:02:48.840" video="mainVideo-repl" id="subtitle"]]
-[[!template new="1" text="""Another figure""" start="00:02:50.320" video="mainVideo-repl" id="subtitle"]]
-
-[[!template text="""This is a figure that that I'm going""" start="00:02:50.320" video="mainVideo-repl" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Another figure""" start="00:02:50.320" video="mainVideo-repl" id="subtitle"]]</div>[[!template text="""This is a figure that that I'm going""" start="00:02:50.320" video="mainVideo-repl" id="subtitle"]]
[[!template text="""to show in details soon, that is""" start="00:02:52.800" video="mainVideo-repl" id="subtitle"]]
[[!template text="""about something important about Lua...""" start="00:02:57.120" video="mainVideo-repl" id="subtitle"]]
[[!template text="""the font is very bad now, so let me""" start="00:02:59.960" video="mainVideo-repl" id="subtitle"]]
@@ -345,9 +336,7 @@
[[!template text="""understand what their source code do...""" start="00:16:03.800" video="mainVideo-repl" id="subtitle"]]
[[!template text="""they use lots of dirty tricks.""" start="00:16:06.160" video="mainVideo-repl" id="subtitle"]]
-[[!template new="1" text="""Object orientation in Lua""" start="00:16:08.520" video="mainVideo-repl" id="subtitle"]]
-
-[[!template text="""Let me talk a bit about object""" start="00:16:08.520" video="mainVideo-repl" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Object orientation in Lua""" start="00:16:08.520" video="mainVideo-repl" id="subtitle"]]</div>[[!template text="""Let me talk a bit about object""" start="00:16:08.520" video="mainVideo-repl" id="subtitle"]]
[[!template text="""orientation in Lua. It can be done in""" start="00:16:12.480" video="mainVideo-repl" id="subtitle"]]
[[!template text="""many ways...""" start="00:16:14.960" video="mainVideo-repl" id="subtitle"]]
[[!template text="""the main book about Lua, called""" start="00:16:15.880" video="mainVideo-repl" id="subtitle"]]
@@ -411,9 +400,7 @@
[[!template text="""changed at all times.""" start="00:19:12.680" video="mainVideo-repl" id="subtitle"]]
[[!template text="""Of course most people hate that...""" start="00:19:14.920" video="mainVideo-repl" id="subtitle"]]
-[[!template new="1" text="""My init file""" start="00:19:19.120" video="mainVideo-repl" id="subtitle"]]
-
-[[!template text="""My init file has lots of classes... by the""" start="00:19:19.120" video="mainVideo-repl" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""My init file""" start="00:19:19.120" video="mainVideo-repl" id="subtitle"]]</div>[[!template text="""My init file has lots of classes... by the""" start="00:19:19.120" video="mainVideo-repl" id="subtitle"]]
[[!template text="""way, instead of keeping many small files""" start="00:19:22.600" video="mainVideo-repl" id="subtitle"]]
[[!template text="""with many things I put lots of stuff""" start="00:19:26.080" video="mainVideo-repl" id="subtitle"]]
[[!template text="""in just one big init file.""" start="00:19:29.640" video="mainVideo-repl" id="subtitle"]]
@@ -438,9 +425,7 @@
[[!template text="""and other languages, especially the""" start="00:20:28.160" video="mainVideo-repl" id="subtitle"]]
[[!template text="""diagrams... so the code is not so important.""" start="00:20:32.280" video="mainVideo-repl" id="subtitle"]]
-[[!template new="1" text="""LaTeX and LuaLaTeX""" start="00:20:35.280" video="mainVideo-repl" id="subtitle"]]
-
-[[!template text="""Now let me talk a bit about LuaLaTeX,""" start="00:20:35.280" video="mainVideo-repl" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""LaTeX and LuaLaTeX""" start="00:20:35.280" video="mainVideo-repl" id="subtitle"]]</div>[[!template text="""Now let me talk a bit about LuaLaTeX,""" start="00:20:35.280" video="mainVideo-repl" id="subtitle"]]
[[!template text="""that is LaTeX with a Lua interpreter""" start="00:20:39.040" video="mainVideo-repl" id="subtitle"]]
[[!template text="""embedded inside, and two ways""" start="00:20:41.360" video="mainVideo-repl" id="subtitle"]]
[[!template text="""of generating pictures in LaTeX: TikZ,""" start="00:20:44.560" video="mainVideo-repl" id="subtitle"]]
@@ -532,9 +517,7 @@
[[!template text="""diagram directly in the .tex file like""" start="00:25:22.560" video="mainVideo-repl" id="subtitle"]]
[[!template text="""that...""" start="00:25:27.520" video="mainVideo-repl" id="subtitle"]]
-[[!template new="1" text="""Manim""" start="00:25:28.080" video="mainVideo-repl" id="subtitle"]]
-
-[[!template text="""These diagrams were inspired""" start="00:25:28.080" video="mainVideo-repl" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Manim""" start="00:25:28.080" video="mainVideo-repl" id="subtitle"]]</div>[[!template text="""These diagrams were inspired""" start="00:25:28.080" video="mainVideo-repl" id="subtitle"]]
[[!template text="""by something called my Manim, that...""" start="00:25:30.200" video="mainVideo-repl" id="subtitle"]]
[[!template text="""I forgot the name of the guy, but""" start="00:25:33.040" video="mainVideo-repl" id="subtitle"]]
[[!template text="""it's a guy that makes many videos about""" start="00:25:37.560" video="mainVideo-repl" id="subtitle"]]
@@ -551,9 +534,7 @@
[[!template text="""things were fun for me, because my laptop""" start="00:26:13.640" video="mainVideo-repl" id="subtitle"]]
[[!template text="""is very very slow, and my Manim was not fun.""" start="00:26:18.680" video="mainVideo-repl" id="subtitle"]]
-[[!template new="1" text="""Generating diagrams from REPLs""" start="00:26:24.360" video="mainVideo-repl" id="subtitle"]]
-
-[[!template text="""Anyway, writing code like this""" start="00:26:24.360" video="mainVideo-repl" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Generating diagrams from REPLs""" start="00:26:24.360" video="mainVideo-repl" id="subtitle"]]</div>[[!template text="""Anyway, writing code like this""" start="00:26:24.360" video="mainVideo-repl" id="subtitle"]]
[[!template text="""inside a .tex file was not very""" start="00:26:27.360" video="mainVideo-repl" id="subtitle"]]
[[!template text="""fun because it was hard to""" start="00:26:32.720" video="mainVideo-repl" id="subtitle"]]
[[!template text="""debug... so in 2022 I started to play""" start="00:26:35.520" video="mainVideo-repl" id="subtitle"]]
@@ -634,9 +615,7 @@
[[!template text="""example. The :show() is""" start="00:30:44.360" video="mainVideo-repl" id="subtitle"]]
[[!template text="""here... it generates a 3D diagram.""" start="00:30:51.360" video="mainVideo-repl" id="subtitle"]]
-[[!template new="1" text="""Parsers""" start="00:30:56.440" video="mainVideo-repl" id="subtitle"]]
-
-[[!template text="""Now let me talk about parsers and""" start="00:30:56.440" video="mainVideo-repl" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Parsers""" start="00:30:56.440" video="mainVideo-repl" id="subtitle"]]</div>[[!template text="""Now let me talk about parsers and""" start="00:30:56.440" video="mainVideo-repl" id="subtitle"]]
[[!template text="""REPLs in VERY strange places... I mean,""" start="00:31:06.280" video="mainVideo-repl" id="subtitle"]]
[[!template text="""using REPLs to build parsers step by step""" start="00:31:09.560" video="mainVideo-repl" id="subtitle"]]
[[!template text="""and&quot; replacing parts by more complex""" start="00:31:13.360" video="mainVideo-repl" id="subtitle"]]
@@ -793,9 +772,7 @@
[[!template text="""was modular, and I could replace any""" start="00:39:30.640" video="mainVideo-repl" id="subtitle"]]
[[!template text="""part of the module from a REPL...""" start="00:39:33.760" video="mainVideo-repl" id="subtitle"]]
-[[!template new="1" text="""ELpeg1.lua""" start="00:39:35.400" video="mainVideo-repl" id="subtitle"]]
-
-[[!template text="""My version of it was called ELpeg1.lua...""" start="00:39:35.400" video="mainVideo-repl" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""ELpeg1.lua""" start="00:39:35.400" video="mainVideo-repl" id="subtitle"]]</div>[[!template text="""My version of it was called ELpeg1.lua...""" start="00:39:35.400" video="mainVideo-repl" id="subtitle"]]
[[!template text="""and I decided that in my version I""" start="00:39:43.680" video="mainVideo-repl" id="subtitle"]]
[[!template text="""wouldn't have the part that""" start="00:39:47.680" video="mainVideo-repl" id="subtitle"]]
[[!template text="""receives a grammar specified as a string""" start="00:39:49.640" video="mainVideo-repl" id="subtitle"]]
@@ -983,9 +960,7 @@
[[!template text="""&quot;d&quot;... and then here's another constant""" start="00:49:57.640" video="mainVideo-repl" id="subtitle"]]
[[!template text="""capture.""" start="00:50:03.280" video="mainVideo-repl" id="subtitle"]]
-[[!template new="1" text="""Building lists""" start="00:50:03.720" video="mainVideo-repl" id="subtitle"]]
-
-[[!template text="""And I realized that these things""" start="00:50:03.720" video="mainVideo-repl" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Building lists""" start="00:50:03.720" video="mainVideo-repl" id="subtitle"]]</div>[[!template text="""And I realized that these things""" start="00:50:03.720" video="mainVideo-repl" id="subtitle"]]
[[!template text="""here were similar to how Lua""" start="00:50:05.680" video="mainVideo-repl" id="subtitle"]]
[[!template text="""specifies building lists...""" start="00:50:08.600" video="mainVideo-repl" id="subtitle"]]
[[!template text="""when we build... sorry, tables. When""" start="00:50:09.840" video="mainVideo-repl" id="subtitle"]]
@@ -1140,7 +1115,7 @@
[[!template text="""present much more but I wasn't able to""" start="00:59:04.960" video="mainVideo-repl" id="subtitle"]]
[[!template text="""prepare it... so: sorry, thanks, bye! =)""" start="00:59:07.160" video="mainVideo-repl" id="subtitle"]]
-Questions or comments? Please e-mail [eduardoochs@gmail.com](mailto:eduardoochs@gmail.com?subject=Comment%20for%20EmacsConf%202023%20repl%3A%20REPLs%20in%20strange%20places%3A%20Lua%2C%20LaTeX%2C%20LPeg%2C%20LPegRex%2C%20TikZ)
+</div>Questions or comments? Please e-mail [eduardoochs@gmail.com](mailto:eduardoochs@gmail.com?subject=Comment%20for%20EmacsConf%202023%20repl%3A%20REPLs%20in%20strange%20places%3A%20Lua%2C%20LaTeX%2C%20LPeg%2C%20LPegRex%2C%20TikZ)
<!-- End of emacsconf-publish-after-page -->
diff --git a/2023/info/repl-before.md b/2023/info/repl-before.md
index 0266527b..9b9e2efa 100644
--- a/2023/info/repl-before.md
+++ b/2023/info/repl-before.md
@@ -1,13 +1,13 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
[[!toc ]]
-Format: 60-min talk; Q&A: IRC
+Format: 60-min talk ; Q&A: IRC
Status: Q&A to be extracted from the room recordings
-<div class="vid"><video controls preload="none" id="repl-mainVideo"><source src="https://media.emacsconf.org/2023/emacsconf-2023-repl--repls-in-strange-places-lua-latex-lpeg-lpegrex-tikz--eduardo-ochs--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-repl--repls-in-strange-places-lua-latex-lpeg-lpegrex-tikz--eduardo-ochs--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2023/captions/emacsconf-2023-repl--repls-in-strange-places-lua-latex-lpeg-lpegrex-tikz--eduardo-ochs--main--chapters.vtt" /><p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video>[[!template id="chapters" vidid="repl-mainVideo" data="""
+<div class="vid mainVideo"><video controls preload="none" id="mainVideo-repl"><source src="https://media.emacsconf.org/2023/emacsconf-2023-repl--repls-in-strange-places-lua-latex-lpeg-lpegrex-tikz--eduardo-ochs--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-repl--repls-in-strange-places-lua-latex-lpeg-lpegrex-tikz--eduardo-ochs--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2023/captions/emacsconf-2023-repl--repls-in-strange-places-lua-latex-lpeg-lpegrex-tikz--eduardo-ochs--main--chapters.vtt" /><p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video>[[!template id="chapters" vidid="mainVideo-repl" data="""
00:00.000 Intro
00:21.560 Diagrams
01:03.320 eev
@@ -23,6 +23,6 @@ Status: Q&A to be extracted from the room recordings
39:03.200 ELpeg1.lua
50:04.160 Building lists
-"""]]<div></div>Duration: 59:10 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-repl--repls-in-strange-places-lua-latex-lpeg-lpegrex-tikz--eduardo-ochs--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-repl--repls-in-strange-places-lua-latex-lpeg-lpegrex-tikz--eduardo-ochs--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-repl--repls-in-strange-places-lua-latex-lpeg-lpegrex-tikz--eduardo-ochs--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-repl--repls-in-strange-places-lua-latex-lpeg-lpegrex-tikz--eduardo-ochs--main.opus">Download --main.opus (29MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-repl--repls-in-strange-places-lua-latex-lpeg-lpegrex-tikz--eduardo-ochs--main.vtt">Download --main.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-repl--repls-in-strange-places-lua-latex-lpeg-lpegrex-tikz--eduardo-ochs--main.webm">Download --main.webm (187MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-repl--repls-in-strange-places-lua-latex-lpeg-lpegrex-tikz--eduardo-ochs--pad.html">Download --pad.html</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-repl--repls-in-strange-places-lua-latex-lpeg-lpegrex-tikz--eduardo-ochs--pad.md">Download --pad.md</a></li><li><a href="https://toobnix.org/w/oAjqkLNfo9B63EE1G6cJJV">View on Toobnix</a></li></ul></div></div>
+"""]]<div></div>Duration: 59:10 minutes<div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2023-repl">Open Etherpad</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-repl--repls-in-strange-places-lua-latex-lpeg-lpegrex-tikz--eduardo-ochs--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-repl--repls-in-strange-places-lua-latex-lpeg-lpegrex-tikz--eduardo-ochs--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-repl--repls-in-strange-places-lua-latex-lpeg-lpegrex-tikz--eduardo-ochs--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-repl--repls-in-strange-places-lua-latex-lpeg-lpegrex-tikz--eduardo-ochs--main.opus">Download --main.opus (29MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-repl--repls-in-strange-places-lua-latex-lpeg-lpegrex-tikz--eduardo-ochs--main.vtt">Download --main.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-repl--repls-in-strange-places-lua-latex-lpeg-lpegrex-tikz--eduardo-ochs--main.webm">Download --main.webm (187MB)</a></li><li><a href="https://toobnix.org/w/oAjqkLNfo9B63EE1G6cJJV">View on Toobnix</a></li><li><a href="https://www.youtube.com/watch?v=lGjfzfC1CH0">View on Youtube</a></li></ul></div></div>
# Description
<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2023/info/repl-nav.md b/2023/info/repl-nav.md
index 7ef1a2a2..a2bde0f3 100644
--- a/2023/info/repl-nav.md
+++ b/2023/info/repl-nav.md
@@ -3,5 +3,5 @@
Back to the [[talks]]
Previous by track: <a href="/2023/talks/eval">Editor Integrated REPL Driven Development for all languages</a>
Next by track: <a href="/2023/talks/doc">Literate Documentation with Emacs and Org Mode</a>
-Track: <span class="sched-track Development">Development</span>
+Track: <span class="sched-track Development">Development</span> - <strong><a href="https://emacsconf.org/2023/watch/dev">Watch</a></strong>
</div>
diff --git a/2023/info/sat-close-after.md b/2023/info/sat-close-after.md
index a40a2ed3..caa994ab 100644
--- a/2023/info/sat-close-after.md
+++ b/2023/info/sat-close-after.md
@@ -1,8 +1,7 @@
<!-- Automatically generated by emacsconf-publish-after-page -->
-<a name="sat-close-mainVideo-transcript"></a>
-# Transcript (unedited)
+<div class="transcript transcript-mainVideo"><a name="sat-close-mainVideo-transcript"></a><h1>Transcript (unedited)</h1>
[[!template text="""[Speaker 0]: Session is being recorded.""" start="00:00:05.200" video="mainVideo-sat-close" id="subtitle"]]
[[!template text="""Just waiting for Corwin and Leo.""" start="00:00:06.819" video="mainVideo-sat-close" id="subtitle"]]
@@ -172,7 +171,7 @@
[[!template text="""don't have permission to do that in this""" start="00:08:52.540" video="mainVideo-sat-close" id="subtitle"]]
[[!template text="""room.""" start="00:08:54.280" video="mainVideo-sat-close" id="subtitle"]]
-Questions or comments? Please e-mail [emacsconf-org-private@gnu.org](mailto:emacsconf-org-private@gnu.org?subject=Comment%20for%20EmacsConf%202023%20sat-close%3A%20Saturday%20closing%20remarks)
+</div>Questions or comments? Please e-mail [emacsconf-org-private@gnu.org](mailto:emacsconf-org-private@gnu.org?subject=Comment%20for%20EmacsConf%202023%20sat-close%3A%20Saturday%20closing%20remarks)
<!-- End of emacsconf-publish-after-page -->
diff --git a/2023/info/sat-close-before.md b/2023/info/sat-close-before.md
index d44b5b4b..3b574968 100644
--- a/2023/info/sat-close-before.md
+++ b/2023/info/sat-close-before.md
@@ -1,6 +1,6 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
[[!toc ]]
-Format: 9-min talk; Q&A: ask questions via Etherpad/IRC; we'll e-mail the speaker and post answers on this wiki page after the conference
+Format: 9-min talk ; Q&A: ask questions via Etherpad/IRC; we'll e-mail the speaker and post answers on this wiki page after the conference
Status: Q&A to be extracted from the room recordings
@@ -9,10 +9,10 @@ Status: Q&A to be extracted from the room recordings
# Talk
-<div class="vid"><video controls preload="none" id="sat-close-mainVideo"><source src="https://media.emacsconf.org/2023/emacsconf-2023-sat-close--saturday-closing-remarks--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-sat-close--saturday-closing-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: 09:00 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-sat-close--saturday-closing-remarks--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-sat-close--saturday-closing-remarks--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-sat-close--saturday-closing-remarks--main.json">Download --main.json</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-sat-close--saturday-closing-remarks--main.opus">Download --main.opus (4.7MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-sat-close--saturday-closing-remarks--main.vtt">Download --main.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-sat-close--saturday-closing-remarks--main.webm">Download --main.webm (32MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-sat-close--saturday-closing-remarks--pad.html">Download --pad.html</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-sat-close--saturday-closing-remarks--pad.md">Download --pad.md</a></li><li><a href="https://www.youtube.com/playlist?list=PLomc4HLgvuCUdrW3JkugtKv8xPelUoOyP">View on Toobnix</a></li></ul></div></div>
+<div class="vid mainVideo"><video controls preload="none" id="mainVideo-sat-close"><source src="https://media.emacsconf.org/2023/emacsconf-2023-sat-close--saturday-closing-remarks--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-sat-close--saturday-closing-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: 09:00 minutes<div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2023-sat-close">Open Etherpad</a></li><li><a href="https://bbb.emacsverse.org/playback/presentation/2.0/playback.html?meetingId=bb384a46db00ac8a0175df0a0668c94a9992b663-1701554802497">Play recording from BigBlueButton</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-sat-close--saturday-closing-remarks--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-sat-close--saturday-closing-remarks--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-sat-close--saturday-closing-remarks--main.json">Download --main.json</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-sat-close--saturday-closing-remarks--main.opus">Download --main.opus (4.7MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-sat-close--saturday-closing-remarks--main.vtt">Download --main.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-sat-close--saturday-closing-remarks--main.webm">Download --main.webm (32MB)</a></li><li><a href="https://www.youtube.com/playlist?list=PLomc4HLgvuCUdrW3JkugtKv8xPelUoOyP">View on Toobnix</a></li><li><a href="https://www.youtube.com/watch?v=6OOUfBF6t7k">View on Youtube</a></li></ul></div></div>
# Q&A
-<div class="vid"><div></div><div class="files resources"><ul><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-sat-close--saturday-closing-remarks--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-sat-close--saturday-closing-remarks--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-sat-close--saturday-closing-remarks--main.json">Download --main.json</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-sat-close--saturday-closing-remarks--main.opus">Download --main.opus (4.7MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-sat-close--saturday-closing-remarks--main.vtt">Download --main.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-sat-close--saturday-closing-remarks--main.webm">Download --main.webm (32MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-sat-close--saturday-closing-remarks--pad.html">Download --pad.html</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-sat-close--saturday-closing-remarks--pad.md">Download --pad.md</a></li></ul></div></div>
+<div class="vid qanda"><div></div><div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2023-sat-close">Open Etherpad</a></li><li><a href="https://bbb.emacsverse.org/playback/presentation/2.0/playback.html?meetingId=bb384a46db00ac8a0175df0a0668c94a9992b663-1701554802497">Play recording from BigBlueButton</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-sat-close--saturday-closing-remarks--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-sat-close--saturday-closing-remarks--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-sat-close--saturday-closing-remarks--main.json">Download --main.json</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-sat-close--saturday-closing-remarks--main.opus">Download --main.opus (4.7MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-sat-close--saturday-closing-remarks--main.vtt">Download --main.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-sat-close--saturday-closing-remarks--main.webm">Download --main.webm (32MB)</a></li></ul></div></div>
# Description
<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2023/info/sat-close-nav.md b/2023/info/sat-close-nav.md
index 219f76fc..e175a40c 100644
--- a/2023/info/sat-close-nav.md
+++ b/2023/info/sat-close-nav.md
@@ -3,5 +3,5 @@
Back to the [[talks]]
Previous by track: <a href="/2023/talks/sat-open">Saturday opening remarks</a>
Next by track: <a href="/2023/talks/sun-open">Sunday opening remarks</a>
-Track: <span class="sched-track General">General</span>
+Track: <span class="sched-track General">General</span> - <strong><a href="https://emacsconf.org/2023/watch/gen">Watch</a></strong>
</div>
diff --git a/2023/info/sat-open-after.md b/2023/info/sat-open-after.md
index aee69d2e..417922c4 100644
--- a/2023/info/sat-open-after.md
+++ b/2023/info/sat-open-after.md
@@ -1,8 +1,7 @@
<!-- Automatically generated by emacsconf-publish-after-page -->
-<a name="sat-open-mainVideo-transcript"></a>
-# Transcript
+<div class="transcript transcript-mainVideo"><a name="sat-open-mainVideo-transcript"></a><h1>Transcript</h1>
[[!template text="""Welcome to EmacsConf 2023, where we get to find out""" start="00:00:00.000" video="mainVideo-sat-open" id="subtitle"]]
[[!template text="""just how much we can do with a text editor.""" start="00:00:04.559" video="mainVideo-sat-open" id="subtitle"]]
@@ -126,7 +125,7 @@
[[!template text="""who make EmacsConf even possible.""" start="00:05:18.724" video="mainVideo-sat-open" id="subtitle"]]
[[!template text="""Thanks for coming to EmacsConf 2023.""" start="00:05:21.763" video="mainVideo-sat-open" id="subtitle"]]
-Questions or comments? Please e-mail [emacsconf-org-private@gnu.org](mailto:emacsconf-org-private@gnu.org?subject=Comment%20for%20EmacsConf%202023%20sat-open%3A%20Saturday%20opening%20remarks)
+</div>Questions or comments? Please e-mail [emacsconf-org-private@gnu.org](mailto:emacsconf-org-private@gnu.org?subject=Comment%20for%20EmacsConf%202023%20sat-open%3A%20Saturday%20opening%20remarks)
<!-- End of emacsconf-publish-after-page -->
diff --git a/2023/info/sat-open-before.md b/2023/info/sat-open-before.md
index c812c4c6..df86ddb8 100644
--- a/2023/info/sat-open-before.md
+++ b/2023/info/sat-open-before.md
@@ -1,12 +1,12 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
[[!toc ]]
-Format: 6-min talk; Q&A: Etherpad
+Format: 6-min talk ; Q&A: Etherpad
Status: All done
-<div class="vid"><video controls preload="none" id="sat-open-mainVideo"><source src="https://media.emacsconf.org/2023/emacsconf-2023-sat-open--saturday-opening-remarks--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-sat-open--saturday-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: 05:25 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-sat-open--saturday-opening-remarks--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-sat-open--saturday-opening-remarks--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-sat-open--saturday-opening-remarks--main.opus">Download --main.opus (2.5MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-sat-open--saturday-opening-remarks--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-sat-open--saturday-opening-remarks--main.webm">Download --main.webm (18MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-sat-open--saturday-opening-remarks--pad.html">Download --pad.html</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-sat-open--saturday-opening-remarks--pad.md">Download --pad.md</a></li><li><a href="https://toobnix.org/w/wEZX2JkDFpFqNFXnYeQTyb">View on Toobnix</a></li></ul></div></div>
+<div class="vid mainVideo"><video controls preload="none" id="mainVideo-sat-open"><source src="https://media.emacsconf.org/2023/emacsconf-2023-sat-open--saturday-opening-remarks--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-sat-open--saturday-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: 05:25 minutes<div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2023-sat-open">Open Etherpad</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-sat-open--saturday-opening-remarks--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-sat-open--saturday-opening-remarks--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-sat-open--saturday-opening-remarks--main.opus">Download --main.opus (2.5MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-sat-open--saturday-opening-remarks--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-sat-open--saturday-opening-remarks--main.webm">Download --main.webm (18MB)</a></li><li><a href="https://toobnix.org/w/wEZX2JkDFpFqNFXnYeQTyb">View on Toobnix</a></li><li><a href="https://youtu.be/piEHmLVtG6A">View on Youtube</a></li></ul></div></div>
# Description
<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2023/info/sat-open-nav.md b/2023/info/sat-open-nav.md
index c1355bfc..9d1a5ef9 100644
--- a/2023/info/sat-open-nav.md
+++ b/2023/info/sat-open-nav.md
@@ -3,5 +3,5 @@
Back to the [[talks]]
Previous by track: <a href="/2023/talks/emacsconf">EmacsConf.org: How we use Org Mode and TRAMP to organize and run a multi-track conference</a>
Next by track: <a href="/2023/talks/sat-close">Saturday closing remarks</a>
-Track: <span class="sched-track General">General</span>
+Track: <span class="sched-track General">General</span> - <strong><a href="https://emacsconf.org/2023/watch/gen">Watch</a></strong>
</div>
diff --git a/2023/info/scheme-after.md b/2023/info/scheme-after.md
index 17b95b51..a466d69a 100644
--- a/2023/info/scheme-after.md
+++ b/2023/info/scheme-after.md
@@ -1,22 +1,17 @@
<!-- Automatically generated by emacsconf-publish-after-page -->
-<a name="scheme-mainVideo-transcript"></a>
-# Transcript
+<div class="transcript transcript-mainVideo"><a name="scheme-mainVideo-transcript"></a><h1>Transcript</h1>
-[[!template new="1" text="""Introduction""" start="00:00:02.120" video="mainVideo-scheme" id="subtitle"]]
-
-[[!template text="""Hello and welcome everyone on EmacsConf 2023.""" start="00:00:02.120" video="mainVideo-scheme" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Introduction""" start="00:00:02.120" video="mainVideo-scheme" id="subtitle"]]</div>[[!template text="""Hello and welcome everyone on EmacsConf 2023.""" start="00:00:02.120" video="mainVideo-scheme" id="subtitle"]]
[[!template text="""I'm Andrew Tropin.""" start="00:00:07.400" video="mainVideo-scheme" id="subtitle"]]
[[!template text="""I work on operating systems and programming languages.""" start="00:00:08.720" video="mainVideo-scheme" id="subtitle"]]
[[!template text="""Today, we discuss Lisps, Schemes, REPLs,""" start="00:00:11.920" video="mainVideo-scheme" id="subtitle"]]
[[!template text="""interactive development,""" start="00:00:16.640" video="mainVideo-scheme" id="subtitle"]]
[[!template text="""and how to make your own cozy development environment.""" start="00:00:18.140" video="mainVideo-scheme" id="subtitle"]]
-[[!template new="1" text="""Interactive development""" start="00:00:23.280" video="mainVideo-scheme" id="subtitle"]]
-
-[[!template text="""Let's start from interactive development.""" start="00:00:23.280" video="mainVideo-scheme" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Interactive development""" start="00:00:23.280" video="mainVideo-scheme" id="subtitle"]]</div>[[!template text="""Let's start from interactive development.""" start="00:00:23.280" video="mainVideo-scheme" id="subtitle"]]
[[!template text="""Lisps are famous for a nice""" start="00:00:26.320" video="mainVideo-scheme" id="subtitle"]]
[[!template text="""Interactive Development Experience.""" start="00:00:29.520" video="mainVideo-scheme" id="subtitle"]]
[[!template text="""They have REPLs.""" start="00:00:32.480" video="mainVideo-scheme" id="subtitle"]]
@@ -33,9 +28,7 @@
[[!template text="""but is it enough?""" start="00:01:14.600" video="mainVideo-scheme" id="subtitle"]]
[[!template text="""Let's see.""" start="00:01:16.680" video="mainVideo-scheme" id="subtitle"]]
-[[!template new="1" text="""REPL: Read Eval Print Loop""" start="00:01:18.180" video="mainVideo-scheme" id="subtitle"]]
-
-[[!template text="""We know that Emacs is very good for Lisps and REPL.""" start="00:01:18.180" video="mainVideo-scheme" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""REPL: Read Eval Print Loop""" start="00:01:18.180" video="mainVideo-scheme" id="subtitle"]]</div>[[!template text="""We know that Emacs is very good for Lisps and REPL.""" start="00:01:18.180" video="mainVideo-scheme" id="subtitle"]]
[[!template text="""Lisp and Emacs should be a perfect setup.""" start="00:01:22.840" video="mainVideo-scheme" id="subtitle"]]
[[!template text="""But let's see how REPL basically works.""" start="00:01:26.040" video="mainVideo-scheme" id="subtitle"]]
[[!template text="""It's an event loop which does three things.""" start="00:01:30.080" video="mainVideo-scheme" id="subtitle"]]
@@ -66,9 +59,7 @@
[[!template text="""So you can evaluate expressions inside your text editor""" start="00:02:46.080" video="mainVideo-scheme" id="subtitle"]]
[[!template text="""and see the result here.""" start="00:02:51.600" video="mainVideo-scheme" id="subtitle"]]
-[[!template new="1" text="""Long-lasting loops""" start="00:02:53.720" video="mainVideo-scheme" id="subtitle"]]
-
-[[!template text="""Works good so far, but what happens""" start="00:02:53.720" video="mainVideo-scheme" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Long-lasting loops""" start="00:02:53.720" video="mainVideo-scheme" id="subtitle"]]</div>[[!template text="""Works good so far, but what happens""" start="00:02:53.720" video="mainVideo-scheme" id="subtitle"]]
[[!template text="""if we run a long-lasting loop,""" start="00:02:56.680" video="mainVideo-scheme" id="subtitle"]]
[[!template text="""which does a lot of operations.""" start="00:03:02.300" video="mainVideo-scheme" id="subtitle"]]
[[!template text="""As you can see here with a simple example,""" start="00:03:05.000" video="mainVideo-scheme" id="subtitle"]]
@@ -91,9 +82,7 @@
[[!template text="""And even if you do it,""" start="00:04:02.920" video="mainVideo-scheme" id="subtitle"]]
[[!template text="""you have a lot of downsides, usually.""" start="00:04:04.321" video="mainVideo-scheme" id="subtitle"]]
-[[!template new="1" text="""Not interruptible""" start="00:04:07.600" video="mainVideo-scheme" id="subtitle"]]
-
-[[!template text="""First of all, the process is not interruptible.""" start="00:04:07.600" video="mainVideo-scheme" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Not interruptible""" start="00:04:07.600" video="mainVideo-scheme" id="subtitle"]]</div>[[!template text="""First of all, the process is not interruptible.""" start="00:04:07.600" video="mainVideo-scheme" id="subtitle"]]
[[!template text="""If you have a remote process which listens on the socket""" start="00:04:13.680" video="mainVideo-scheme" id="subtitle"]]
[[!template text="""to which you connect from your development environment,""" start="00:04:18.480" video="mainVideo-scheme" id="subtitle"]]
[[!template text="""and you run some infinite loop, for example,""" start="00:04:21.940" video="mainVideo-scheme" id="subtitle"]]
@@ -102,9 +91,7 @@
[[!template text="""and signals to remote processes are not usually""" start="00:04:31.240" video="mainVideo-scheme" id="subtitle"]]
[[!template text="""the thing in such integrations.""" start="00:04:35.040" video="mainVideo-scheme" id="subtitle"]]
-[[!template new="1" text="""Output is not interactive""" start="00:04:38.760" video="mainVideo-scheme" id="subtitle"]]
-
-[[!template text="""Output is also not interactive.""" start="00:04:38.760" video="mainVideo-scheme" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Output is not interactive""" start="00:04:38.760" video="mainVideo-scheme" id="subtitle"]]</div>[[!template text="""Output is also not interactive.""" start="00:04:38.760" video="mainVideo-scheme" id="subtitle"]]
[[!template text="""Usually, for example, here you can see""" start="00:04:41.160" video="mainVideo-scheme" id="subtitle"]]
[[!template text="""when I evaluate the expression,""" start="00:04:45.320" video="mainVideo-scheme" id="subtitle"]]
[[!template text="""the output is captured on the evaluation side,""" start="00:04:47.800" video="mainVideo-scheme" id="subtitle"]]
@@ -116,9 +103,7 @@
[[!template text="""only after 5 seconds of evaluation.""" start="00:05:13.781" video="mainVideo-scheme" id="subtitle"]]
[[!template text="""Okay, what else?""" start="00:05:17.040" video="mainVideo-scheme" id="subtitle"]]
-[[!template new="1" text="""No protocol""" start="00:05:23.160" video="mainVideo-scheme" id="subtitle"]]
-
-[[!template text="""When you do such integrations, you have no protocol,""" start="00:05:23.160" video="mainVideo-scheme" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""No protocol""" start="00:05:23.160" video="mainVideo-scheme" id="subtitle"]]</div>[[!template text="""When you do such integrations, you have no protocol,""" start="00:05:23.160" video="mainVideo-scheme" id="subtitle"]]
[[!template text="""you have just stdin and stdout.""" start="00:05:26.120" video="mainVideo-scheme" id="subtitle"]]
[[!template text="""You print to stdin from your text editor.""" start="00:05:29.760" video="mainVideo-scheme" id="subtitle"]]
[[!template text="""You read from stdout of the process.""" start="00:05:32.920" video="mainVideo-scheme" id="subtitle"]]
@@ -126,9 +111,7 @@
[[!template text="""if it requires stdin, and how to extend the REPL""" start="00:05:40.340" video="mainVideo-scheme" id="subtitle"]]
[[!template text="""to make it more featureful, and so on.""" start="00:05:47.320" video="mainVideo-scheme" id="subtitle"]]
-[[!template new="1" text="""Not scalable""" start="00:05:51.480" video="mainVideo-scheme" id="subtitle"]]
-
-[[!template text="""And also, such integrations are usually not very scalable.""" start="00:05:51.480" video="mainVideo-scheme" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Not scalable""" start="00:05:51.480" video="mainVideo-scheme" id="subtitle"]]</div>[[!template text="""And also, such integrations are usually not very scalable.""" start="00:05:51.480" video="mainVideo-scheme" id="subtitle"]]
[[!template text="""For example, if you want to have a completion,""" start="00:05:57.360" video="mainVideo-scheme" id="subtitle"]]
[[!template text="""you type something, you have the completion. Cool.""" start="00:06:14.700" video="mainVideo-scheme" id="subtitle"]]
[[!template text="""But if you run the process and at the same time""" start="00:06:17.461" video="mainVideo-scheme" id="subtitle"]]
@@ -150,9 +133,7 @@
[[!template text="""so you need something else""" start="00:07:18.420" video="mainVideo-scheme" id="subtitle"]]
[[!template text="""to make the work comfortable.""" start="00:07:21.380" video="mainVideo-scheme" id="subtitle"]]
-[[!template new="1" text="""nREPL""" start="00:07:25.860" video="mainVideo-scheme" id="subtitle"]]
-
-[[!template text="""There is already a solution called nREPL.""" start="00:07:25.860" video="mainVideo-scheme" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""nREPL""" start="00:07:25.860" video="mainVideo-scheme" id="subtitle"]]</div>[[!template text="""There is already a solution called nREPL.""" start="00:07:25.860" video="mainVideo-scheme" id="subtitle"]]
[[!template text="""It's a synchronous protocol which allows""" start="00:07:28.980" video="mainVideo-scheme" id="subtitle"]]
[[!template text="""to send operations to the server""" start="00:07:31.120" video="mainVideo-scheme" id="subtitle"]]
[[!template text="""and receive responses in a synchronous manner.""" start="00:07:34.020" video="mainVideo-scheme" id="subtitle"]]
@@ -179,9 +160,7 @@
[[!template text="""was not satisfying. I decided""" start="00:08:57.300" video="mainVideo-scheme" id="subtitle"]]
[[!template text="""to just implement nREPL protocol.""" start="00:08:59.400" video="mainVideo-scheme" id="subtitle"]]
-[[!template new="1" text="""Arei, Ares, and how to try""" start="00:09:01.740" video="mainVideo-scheme" id="subtitle"]]
-
-[[!template text="""First of all, I implemented nREPL server in Guile.""" start="00:09:01.740" video="mainVideo-scheme" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Arei, Ares, and how to try""" start="00:09:01.740" video="mainVideo-scheme" id="subtitle"]]</div>[[!template text="""First of all, I implemented nREPL server in Guile.""" start="00:09:01.740" video="mainVideo-scheme" id="subtitle"]]
[[!template text="""I called it `guile-ares-rs`, and used it""" start="00:09:05.720" video="mainVideo-scheme" id="subtitle"]]
[[!template text="""with a generic nREPL client for Emacs.""" start="00:09:11.340" video="mainVideo-scheme" id="subtitle"]]
[[!template text="""It worked.""" start="00:09:13.960" video="mainVideo-scheme" id="subtitle"]]
@@ -204,9 +183,7 @@
[[!template text="""that README will be complete enough""" start="00:10:27.680" video="mainVideo-scheme" id="subtitle"]]
[[!template text="""so you will be able to try it yourself.""" start="00:10:30.200" video="mainVideo-scheme" id="subtitle"]]
-[[!template new="1" text="""Demo""" start="00:10:34.180" video="mainVideo-scheme" id="subtitle"]]
-
-[[!template text="""Let's see what is possible with it already.""" start="00:10:34.180" video="mainVideo-scheme" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Demo""" start="00:10:34.180" video="mainVideo-scheme" id="subtitle"]]</div>[[!template text="""Let's see what is possible with it already.""" start="00:10:34.180" video="mainVideo-scheme" id="subtitle"]]
[[!template text="""Let's connect to nREPL server.""" start="00:10:42.680" video="mainVideo-scheme" id="subtitle"]]
[[!template text="""After that, you can evaluate the expression.""" start="00:10:51.900" video="mainVideo-scheme" id="subtitle"]]
[[!template text="""And you see the stdout and the result.""" start="00:10:56.281" video="mainVideo-scheme" id="subtitle"]]
@@ -221,9 +198,7 @@
[[!template text="""which is very convenient if you accidentally""" start="00:11:21.960" video="mainVideo-scheme" id="subtitle"]]
[[!template text="""run an infinite loop.""" start="00:11:25.160" video="mainVideo-scheme" id="subtitle"]]
-[[!template new="1" text="""Continuations""" start="00:11:27.640" video="mainVideo-scheme" id="subtitle"]]
-
-[[!template text="""Also, do you remember here we have a few more examples""" start="00:11:27.640" video="mainVideo-scheme" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Continuations""" start="00:11:27.640" video="mainVideo-scheme" id="subtitle"]]</div>[[!template text="""Also, do you remember here we have a few more examples""" start="00:11:27.640" video="mainVideo-scheme" id="subtitle"]]
[[!template text="""that we didn't try yet?""" start="00:11:32.940" video="mainVideo-scheme" id="subtitle"]]
[[!template text="""For example, on usual REPL implementation,""" start="00:11:34.080" video="mainVideo-scheme" id="subtitle"]]
[[!template text="""if I evaluate this expression, I get return value.""" start="00:11:39.160" video="mainVideo-scheme" id="subtitle"]]
@@ -243,9 +218,7 @@
[[!template text="""and you can see at the top of the screen""" start="00:12:27.280" video="mainVideo-scheme" id="subtitle"]]
[[!template text="""that it works perfectly fine.""" start="00:12:30.140" video="mainVideo-scheme" id="subtitle"]]
-[[!template new="1" text="""Reading from stdin""" start="00:12:32.460" video="mainVideo-scheme" id="subtitle"]]
-
-[[!template text="""Also, with a usual REPL implementation,""" start="00:12:32.460" video="mainVideo-scheme" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Reading from stdin""" start="00:12:32.460" video="mainVideo-scheme" id="subtitle"]]</div>[[!template text="""Also, with a usual REPL implementation,""" start="00:12:32.460" video="mainVideo-scheme" id="subtitle"]]
[[!template text="""let's see what happens when we have a process""" start="00:12:35.560" video="mainVideo-scheme" id="subtitle"]]
[[!template text="""which reads from stdin.""" start="00:12:40.320" video="mainVideo-scheme" id="subtitle"]]
[[!template text="""I evaluate the expression and nothing visible happens.""" start="00:12:41.920" video="mainVideo-scheme" id="subtitle"]]
@@ -260,9 +233,7 @@
[[!template text="""and unspecified was returned""" start="00:13:26.100" video="mainVideo-scheme" id="subtitle"]]
[[!template text="""as a result of this expression.""" start="00:13:28.680" video="mainVideo-scheme" id="subtitle"]]
-[[!template new="1" text="""Fancy example with continuations""" start="00:13:33.420" video="mainVideo-scheme" id="subtitle"]]
-
-[[!template text="""Let's make some fancy example with continuations.""" start="00:13:33.420" video="mainVideo-scheme" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Fancy example with continuations""" start="00:13:33.420" video="mainVideo-scheme" id="subtitle"]]</div>[[!template text="""Let's make some fancy example with continuations.""" start="00:13:33.420" video="mainVideo-scheme" id="subtitle"]]
[[!template text="""Continuations is a very cool mechanism""" start="00:13:37.320" video="mainVideo-scheme" id="subtitle"]]
[[!template text="""which is not the topic of today's talk,""" start="00:13:45.080" video="mainVideo-scheme" id="subtitle"]]
[[!template text="""but you can find a lot of interesting information""" start="00:13:48.000" video="mainVideo-scheme" id="subtitle"]]
@@ -290,9 +261,7 @@ another value for it.""" start="00:14:27.680" video="mainVideo-scheme" id="subti
[[!template text="""Very nice.""" start="00:15:07.520" video="mainVideo-scheme" id="subtitle"]]
[[!template text="""And every time we could easily interrupt it.""" start="00:15:08.040" video="mainVideo-scheme" id="subtitle"]]
-[[!template new="1" text="""Guix API""" start="00:15:13.160" video="mainVideo-scheme" id="subtitle"]]
-
-[[!template text="""Okay, what most annoying thing that I had previously""" start="00:15:13.160" video="mainVideo-scheme" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Guix API""" start="00:15:13.160" video="mainVideo-scheme" id="subtitle"]]</div>[[!template text="""Okay, what most annoying thing that I had previously""" start="00:15:13.160" video="mainVideo-scheme" id="subtitle"]]
[[!template text="""with the usual REPL implementation""" start="00:15:17.320" video="mainVideo-scheme" id="subtitle"]]
[[!template text="""that I have a quite nice Guix API""" start="00:15:19.340" video="mainVideo-scheme" id="subtitle"]]
[[!template text="""where I can build packages, systems and other stuff.""" start="00:15:22.760" video="mainVideo-scheme" id="subtitle"]]
@@ -328,16 +297,12 @@ another value for it.""" start="00:14:27.680" video="mainVideo-scheme" id="subti
[[!template text="""while the infinite loop is running.""" start="00:17:33.660" video="mainVideo-scheme" id="subtitle"]]
[[!template text="""Okay.""" start="00:17:40.260" video="mainVideo-scheme" id="subtitle"]]
-[[!template new="1" text="""Support""" start="00:17:42.060" video="mainVideo-scheme" id="subtitle"]]
-
-[[!template text="""Actually it took me around two months""" start="00:17:42.060" video="mainVideo-scheme" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Support""" start="00:17:42.060" video="mainVideo-scheme" id="subtitle"]]</div>[[!template text="""Actually it took me around two months""" start="00:17:42.060" video="mainVideo-scheme" id="subtitle"]]
[[!template text="""of full-time work funded by my own savings,""" start="00:17:44.920" video="mainVideo-scheme" id="subtitle"]]
[[!template text="""and you can support and help to the project""" start="00:17:48.040" video="mainVideo-scheme" id="subtitle"]]
[[!template text="""using OpenCollective or by contributing on SourceHut.""" start="00:17:51.600" video="mainVideo-scheme" id="subtitle"]]
-[[!template new="1" text="""Future steps - Multiple simultaneous evaluations in different contexts""" start="00:17:57.020" video="mainVideo-scheme" id="subtitle"]]
-
-[[!template text="""The future steps for the project""" start="00:17:57.020" video="mainVideo-scheme" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Future steps - Multiple simultaneous evaluations in different contexts""" start="00:17:57.020" video="mainVideo-scheme" id="subtitle"]]</div>[[!template text="""The future steps for the project""" start="00:17:57.020" video="mainVideo-scheme" id="subtitle"]]
[[!template text="""include an experimental workflow where you have""" start="00:17:58.700" video="mainVideo-scheme" id="subtitle"]]
[[!template text="""multiple simultaneous evaluation in different contexts.""" start="00:18:03.675" video="mainVideo-scheme" id="subtitle"]]
[[!template text="""For example, you have Fibers, you have Goblins,""" start="00:18:07.540" video="mainVideo-scheme" id="subtitle"]]
@@ -351,15 +316,11 @@ another value for it.""" start="00:14:27.680" video="mainVideo-scheme" id="subti
[[!template text="""You want to see the stderr and stdout""" start="00:18:39.240" video="mainVideo-scheme" id="subtitle"]]
[[!template text="""of those long-running processes and so on.""" start="00:18:42.520" video="mainVideo-scheme" id="subtitle"]]
-[[!template new="1" text="""Tree-sitter integration""" start="00:18:46.220" video="mainVideo-scheme" id="subtitle"]]
-
-[[!template text="""The second thing is tree-sitter integration""" start="00:18:46.220" video="mainVideo-scheme" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Tree-sitter integration""" start="00:18:46.220" video="mainVideo-scheme" id="subtitle"]]</div>[[!template text="""The second thing is tree-sitter integration""" start="00:18:46.220" video="mainVideo-scheme" id="subtitle"]]
[[!template text="""for better syntax highlighting, code navigation,""" start="00:18:50.240" video="mainVideo-scheme" id="subtitle"]]
[[!template text="""and other features.""" start="00:18:53.400" video="mainVideo-scheme" id="subtitle"]]
-[[!template new="1" text="""Full-fledged debugger""" start="00:18:56.880" video="mainVideo-scheme" id="subtitle"]]
-
-[[!template text="""And after that, probably we will do a full-fledged debugger""" start="00:18:56.880" video="mainVideo-scheme" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Full-fledged debugger""" start="00:18:56.880" video="mainVideo-scheme" id="subtitle"]]</div>[[!template text="""And after that, probably we will do a full-fledged debugger""" start="00:18:56.880" video="mainVideo-scheme" id="subtitle"]]
[[!template text="""so you can jump expressions one by one""" start="00:19:01.400" video="mainVideo-scheme" id="subtitle"]]
[[!template text="""and see the results and see some intermediate values""" start="00:19:06.240" video="mainVideo-scheme" id="subtitle"]]
[[!template text="""during the evaluation.""" start="00:19:10.780" video="mainVideo-scheme" id="subtitle"]]
@@ -368,9 +329,7 @@ another value for it.""" start="00:14:27.680" video="mainVideo-scheme" id="subti
[[!template text="""and you can implement""" start="00:19:17.080" video="mainVideo-scheme" id="subtitle"]]
[[!template text="""whatever you want on top of it.""" start="00:19:18.200" video="mainVideo-scheme" id="subtitle"]]
-[[!template new="1" text="""FAQ - Does it support other Scheme implementations?""" start="00:19:22.760" video="mainVideo-scheme" id="subtitle"]]
-
-[[!template text="""I will answer two probably very frequent questions.""" start="00:19:22.760" video="mainVideo-scheme" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""FAQ - Does it support other Scheme implementations?""" start="00:19:22.760" video="mainVideo-scheme" id="subtitle"]]</div>[[!template text="""I will answer two probably very frequent questions.""" start="00:19:22.760" video="mainVideo-scheme" id="subtitle"]]
[[!template text="""Does it support other Scheme implementations?""" start="00:19:27.080" video="mainVideo-scheme" id="subtitle"]]
[[!template text="""At the moment, it doesn't,""" start="00:19:30.500" video="mainVideo-scheme" id="subtitle"]]
[[!template text="""but the Scheme implementation is not restricted.""" start="00:19:32.280" video="mainVideo-scheme" id="subtitle"]]
@@ -380,9 +339,7 @@ another value for it.""" start="00:14:27.680" video="mainVideo-scheme" id="subti
[[!template text="""So if you implement nREPL server in a different language,""" start="00:19:48.320" video="mainVideo-scheme" id="subtitle"]]
[[!template text="""it should work with already implemented `arei` client.""" start="00:19:52.360" video="mainVideo-scheme" id="subtitle"]]
-[[!template new="1" text="""Is it possible to use it with other text editors?""" start="00:19:58.380" video="mainVideo-scheme" id="subtitle"]]
-
-[[!template text="""And is it possible to use the same functionality""" start="00:19:58.380" video="mainVideo-scheme" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Is it possible to use it with other text editors?""" start="00:19:58.380" video="mainVideo-scheme" id="subtitle"]]</div>[[!template text="""And is it possible to use the same functionality""" start="00:19:58.380" video="mainVideo-scheme" id="subtitle"]]
[[!template text="""in other text editors, for example in VS Code,""" start="00:20:04.080" video="mainVideo-scheme" id="subtitle"]]
[[!template text="""Vim, whatever?""" start="00:20:07.000" video="mainVideo-scheme" id="subtitle"]]
[[!template text="""Yes, it's possible and the case is similar here.""" start="00:20:08.680" video="mainVideo-scheme" id="subtitle"]]
@@ -390,154 +347,23 @@ another value for it.""" start="00:14:27.680" video="mainVideo-scheme" id="subti
[[!template text="""and you can write your own nREPL client""" start="00:20:16.600" video="mainVideo-scheme" id="subtitle"]]
[[!template text="""in a different text editor and it will work.""" start="00:20:19.360" video="mainVideo-scheme" id="subtitle"]]
-[[!template new="1" text="""Conclusion""" start="00:20:22.121" video="mainVideo-scheme" id="subtitle"]]
-
-[[!template text="""I would like to thank the authors and maintainers""" start="00:20:22.121" video="mainVideo-scheme" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Conclusion""" start="00:20:22.121" video="mainVideo-scheme" id="subtitle"]]</div>[[!template text="""I would like to thank the authors and maintainers""" start="00:20:22.121" video="mainVideo-scheme" id="subtitle"]]
[[!template text="""and contributors of Guile, Geiser, CIDER, Clojure,""" start="00:20:26.760" video="mainVideo-scheme" id="subtitle"]]
[[!template text="""and Emacs, and all other people""" start="00:20:30.440" video="mainVideo-scheme" id="subtitle"]]
[[!template text="""who are somehow related to the work on those projects""" start="00:20:33.360" video="mainVideo-scheme" id="subtitle"]]
[[!template text="""involved in this talk.""" start="00:20:38.780" video="mainVideo-scheme" id="subtitle"]]
[[!template text="""And I hope the Scheme programming will be enjoyable.""" start="00:20:42.080" video="mainVideo-scheme" id="subtitle"]]
-[[!template new="1" text="""Contacts""" start="00:20:45.880" video="mainVideo-scheme" id="subtitle"]]
-
-[[!template text="""If you want to contact me,""" start="00:20:45.880" video="mainVideo-scheme" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Contacts""" start="00:20:45.880" video="mainVideo-scheme" id="subtitle"]]</div>[[!template text="""If you want to contact me,""" start="00:20:45.880" video="mainVideo-scheme" id="subtitle"]]
[[!template text="""join #tropin IRC channel at libera.chat,""" start="00:20:47.240" video="mainVideo-scheme" id="subtitle"]]
[[!template text="""or drop me a message via email or feediverse""" start="00:20:49.800" video="mainVideo-scheme" id="subtitle"]]
[[!template text="""using `andrew@trop.in` handle.""" start="00:20:53.040" video="mainVideo-scheme" id="subtitle"]]
[[!template text="""I will see you in a bit in Q&A session.""" start="00:20:55.880" video="mainVideo-scheme" id="subtitle"]]
-
+</div>
Captioner: sachac
-<a name="scheme-qanda-transcript"></a>
-# Q&A transcript (unedited)
-
-[[!template text="""[Speaker 0]: I see 2 questions on the panel already.""" start="00:00:16.200" video="qanda-scheme" id="subtitle"]]
-[[!template text="""Let's see, 1 asking how much Andrew uses""" start="00:00:22.660" video="qanda-scheme" id="subtitle"]]
-[[!template text="""these ripples remotely or versus on their own""" start="00:00:26.320" video="qanda-scheme" id="subtitle"]]
-[[!template text="""desktop. And another asking if this can be""" start="00:00:29.240" video="qanda-scheme" id="subtitle"]]
-[[!template text="""integrated with EGLOT.""" start="00:00:31.160" video="qanda-scheme" id="subtitle"]]
-[[!template text="""And I will note that it is very cool that""" start="00:00:34.840" video="qanda-scheme" id="subtitle"]]
-[[!template text="""this year we've had so many talks on Ripples.""" start="00:00:36.580" video="qanda-scheme" id="subtitle"]]
-[[!template text="""Just goes to show how powerful Emacs is and""" start="00:00:40.920" video="qanda-scheme" id="subtitle"]]
-[[!template text="""just how much or how far you can push it and""" start="00:00:42.980" video="qanda-scheme" id="subtitle"]]
-[[!template text="""how much you can do with it.""" start="00:00:44.040" video="qanda-scheme" id="subtitle"]]
-[[!template text="""And so see someone asking on IRC,""" start="00:00:53.460" video="qanda-scheme" id="subtitle"]]
-[[!template text="""if or how many people use GnuGeeks.""" start="00:00:57.780" video="qanda-scheme" id="subtitle"]]
-[[!template text="""Since we are talking about Scheme,""" start="00:01:01.400" video="qanda-scheme" id="subtitle"]]
-[[!template text="""GnuGeeks is a great platform slash operating""" start="00:01:05.740" video="qanda-scheme" id="subtitle"]]
-[[!template text="""system or distro for your test house,""" start="00:01:10.380" video="qanda-scheme" id="subtitle"]]
-[[!template text="""but also for servers and such.""" start="00:01:11.920" video="qanda-scheme" id="subtitle"]]
-[[!template text="""They do some impressive,""" start="00:01:13.320" video="qanda-scheme" id="subtitle"]]
-[[!template text="""amazing work. And it's all,""" start="00:01:15.240" video="qanda-scheme" id="subtitle"]]
-[[!template text="""pretty much all done in Gindugal's scheme.""" start="00:01:19.400" video="qanda-scheme" id="subtitle"]]
-[[!template text="""So very cool stuff. Bye.""" start="00:01:30.260" video="qanda-scheme" id="subtitle"]]
-[[!template text="""You""" start="00:01:45.260" video="qanda-scheme" id="subtitle"]]
-[[!template text="""I see another interesting question on the""" start="00:03:19.940" video="qanda-scheme" id="subtitle"]]
-[[!template text="""pad. How hard is it to add support for""" start="00:03:23.440" video="qanda-scheme" id="subtitle"]]
-[[!template text="""something other than Guile?""" start="00:03:24.960" video="qanda-scheme" id="subtitle"]]
-[[!template text="""And if it makes sense to contribute at this""" start="00:03:28.040" video="qanda-scheme" id="subtitle"]]
-[[!template text="""early stage of development?""" start="00:03:28.940" video="qanda-scheme" id="subtitle"]]
-[[!template text="""They said that they've written several""" start="00:03:31.960" video="qanda-scheme" id="subtitle"]]
-[[!template text="""packages for chicken skin before and they""" start="00:03:34.000" video="qanda-scheme" id="subtitle"]]
-[[!template text="""would like to try this 1 as well.""" start="00:03:35.400" video="qanda-scheme" id="subtitle"]]
-[[!template text="""I guess since Andrew isn't still here,""" start="00:05:26.380" video="qanda-scheme" id="subtitle"]]
-[[!template text="""and there was some chatter about GnuGeeks in""" start="00:05:29.480" video="qanda-scheme" id="subtitle"]]
-[[!template text="""the chat, maybe it might be nice for me to""" start="00:05:32.400" video="qanda-scheme" id="subtitle"]]
-[[!template text="""share my screen and plug Inukis for a little""" start="00:05:35.520" video="qanda-scheme" id="subtitle"]]
-[[!template text="""bit and introduce it or at least show its""" start="00:05:38.800" video="qanda-scheme" id="subtitle"]]
-[[!template text="""website to folks who may not have seen it yet""" start="00:05:41.720" video="qanda-scheme" id="subtitle"]]
-[[!template text="""so I'm going to try and do that now.""" start="00:05:43.380" video="qanda-scheme" id="subtitle"]]
-[[!template text="""You""" start="00:05:45.260" video="qanda-scheme" id="subtitle"]]
-[[!template text="""Okay, let's see if this works.""" start="00:06:19.760" video="qanda-scheme" id="subtitle"]]
-[[!template text="""Okay, so this is GNU Geeks' website.""" start="00:06:33.540" video="qanda-scheme" id="subtitle"]]
-[[!template text="""You can go to geeks.gnu.org.""" start="00:06:35.000" video="qanda-scheme" id="subtitle"]]
-[[!template text="""And they introduced it at the top.""" start="00:06:38.820" video="qanda-scheme" id="subtitle"]]
-[[!template text="""So it's a wholly free operating system or""" start="00:06:43.480" video="qanda-scheme" id="subtitle"]]
-[[!template text="""distribution of GNU Linux.""" start="00:06:45.100" video="qanda-scheme" id="subtitle"]]
-[[!template text="""Meaning that it only has free software""" start="00:06:48.600" video="qanda-scheme" id="subtitle"]]
-[[!template text="""packaged and no non-free packages,""" start="00:06:50.840" video="qanda-scheme" id="subtitle"]]
-[[!template text="""so it is endorsed by the FSF and the GNU""" start="00:06:53.560" video="qanda-scheme" id="subtitle"]]
-[[!template text="""project. As someone said in the chat,""" start="00:06:56.640" video="qanda-scheme" id="subtitle"]]
-[[!template text="""it's kind of like Nix,""" start="00:06:57.740" video="qanda-scheme" id="subtitle"]]
-[[!template text="""but instead built on GNU Gallop scheme.""" start="00:07:01.360" video="qanda-scheme" id="subtitle"]]
-[[!template text="""It has transactional upgrades and rollbacks.""" start="00:07:05.320" video="qanda-scheme" id="subtitle"]]
-[[!template text="""So if you do upgrade your system and let's""" start="00:07:10.160" video="qanda-scheme" id="subtitle"]]
-[[!template text="""say in the middle of it,""" start="00:07:11.180" video="qanda-scheme" id="subtitle"]]
-[[!template text="""your hardware fails or your power goes out,""" start="00:07:13.200" video="qanda-scheme" id="subtitle"]]
-[[!template text="""the likelihood of things being corrupted is""" start="00:07:16.560" video="qanda-scheme" id="subtitle"]]
-[[!template text="""very low because the upgrade is essentially""" start="00:07:18.840" video="qanda-scheme" id="subtitle"]]
-[[!template text="""prepared like in the background.""" start="00:07:21.560" video="qanda-scheme" id="subtitle"]]
-[[!template text="""And then pretty much atomically,""" start="00:07:24.140" video="qanda-scheme" id="subtitle"]]
-[[!template text="""the system is switched to it.""" start="00:07:26.780" video="qanda-scheme" id="subtitle"]]
-[[!template text="""And also if there is some kind of,""" start="00:07:30.400" video="qanda-scheme" id="subtitle"]]
-[[!template text="""sorry, I'm losing my voice here.""" start="00:07:32.400" video="qanda-scheme" id="subtitle"]]
-[[!template text="""If there is some kind of issue that makes""" start="00:07:34.840" video="qanda-scheme" id="subtitle"]]
-[[!template text="""your system unbootable,""" start="00:07:35.800" video="qanda-scheme" id="subtitle"]]
-[[!template text="""you could always go back to booting the""" start="00:07:41.480" video="qanda-scheme" id="subtitle"]]
-[[!template text="""previous revision of your system when you""" start="00:07:44.600" video="qanda-scheme" id="subtitle"]]
-[[!template text="""restart in the Grub bootloader.""" start="00:07:46.100" video="qanda-scheme" id="subtitle"]]
-[[!template text="""Yeah, so they have a nice blog where they""" start="00:07:56.740" video="qanda-scheme" id="subtitle"]]
-[[!template text="""regularly post updates and what's new in the""" start="00:07:59.340" video="qanda-scheme" id="subtitle"]]
-[[!template text="""project. You can go check that out.""" start="00:08:01.000" video="qanda-scheme" id="subtitle"]]
-[[!template text="""We also have a packages archive where you can""" start="00:08:07.240" video="qanda-scheme" id="subtitle"]]
-[[!template text="""see a list of all the software that has been""" start="00:08:09.360" video="qanda-scheme" id="subtitle"]]
-[[!template text="""packaged for GNU Geeks.""" start="00:08:11.060" video="qanda-scheme" id="subtitle"]]
-[[!template text="""It is an impressive list.""" start="00:08:13.620" video="qanda-scheme" id="subtitle"]]
-[[!template text="""I don't know how many tens of thousands of""" start="00:08:16.440" video="qanda-scheme" id="subtitle"]]
-[[!template text="""packages there are. Geeks has been growing""" start="00:08:19.720" video="qanda-scheme" id="subtitle"]]
-[[!template text="""very well. And you can search the packages""" start="00:08:22.360" video="qanda-scheme" id="subtitle"]]
-[[!template text="""here. And yeah, all kinds of things are""" start="00:08:29.380" video="qanda-scheme" id="subtitle"]]
-[[!template text="""packaged. Of course, GNU Emacs is packaged,""" start="00:08:31.800" video="qanda-scheme" id="subtitle"]]
-[[!template text="""along with many extensions or packages,""" start="00:08:37.260" video="qanda-scheme" id="subtitle"]]
-[[!template text="""GNU Emacs packages that are packaged as""" start="00:08:41.039" video="qanda-scheme" id="subtitle"]]
-[[!template text="""system packages for Geeks.""" start="00:08:42.840" video="qanda-scheme" id="subtitle"]]
-[[!template text="""Yeah, so definitely go check it out.""" start="00:08:46.960" video="qanda-scheme" id="subtitle"]]
-[[!template text="""You can use Geeks both as a standalone""" start="00:08:55.680" video="qanda-scheme" id="subtitle"]]
-[[!template text="""package manager, let's say on a Debian-based""" start="00:08:59.340" video="qanda-scheme" id="subtitle"]]
-[[!template text="""distribution like Triscale,""" start="00:09:00.780" video="qanda-scheme" id="subtitle"]]
-[[!template text="""for example, or you could install it like as""" start="00:09:06.180" video="qanda-scheme" id="subtitle"]]
-[[!template text="""a complete system distribution on its own.""" start="00:09:08.900" video="qanda-scheme" id="subtitle"]]
-[[!template text="""So the former is useful if you want to maybe""" start="00:09:15.560" video="qanda-scheme" id="subtitle"]]
-[[!template text="""get a taste for Geeks and try it out before""" start="00:09:18.080" video="qanda-scheme" id="subtitle"]]
-[[!template text="""fully committing to it and switching to it as""" start="00:09:21.140" video="qanda-scheme" id="subtitle"]]
-[[!template text="""your main distro. You can try it on top of""" start="00:09:24.620" video="qanda-scheme" id="subtitle"]]
-[[!template text="""any other distro pretty much and then you can""" start="00:09:27.720" video="qanda-scheme" id="subtitle"]]
-[[!template text="""of course install it on its own as well as a""" start="00:09:31.080" video="qanda-scheme" id="subtitle"]]
-[[!template text="""system distribution.""" start="00:09:31.560" video="qanda-scheme" id="subtitle"]]
-[[!template text="""Yeah, there are a bunch of manuals and""" start="00:09:50.940" video="qanda-scheme" id="subtitle"]]
-[[!template text="""reference cards and videos that you're""" start="00:09:53.040" video="qanda-scheme" id="subtitle"]]
-[[!template text="""welcome to watch. They have several mailing""" start="00:09:55.920" video="qanda-scheme" id="subtitle"]]
-[[!template text="""lists. It sounds like they have a wiki now as""" start="00:09:59.240" video="qanda-scheme" id="subtitle"]]
-[[!template text="""well. And the development is done on Gnu""" start="00:10:04.020" video="qanda-scheme" id="subtitle"]]
-[[!template text="""Savannah. If we go to savannah.gnu.org""" start="00:10:09.680" video="qanda-scheme" id="subtitle"]]
-[[!template text="""slash projects slash geeks,""" start="00:10:12.780" video="qanda-scheme" id="subtitle"]]
-[[!template text="""Yeah, the project is developed here and they""" start="00:10:18.640" video="qanda-scheme" id="subtitle"]]
-[[!template text="""have a bunch of repositories including the""" start="00:10:21.300" video="qanda-scheme" id="subtitle"]]
-[[!template text="""main 1 which is geeks.git""" start="00:10:24.340" video="qanda-scheme" id="subtitle"]]
-[[!template text="""itself. So yeah, folks are welcome to go""" start="00:10:28.200" video="qanda-scheme" id="subtitle"]]
-[[!template text="""check it out. Let's see,""" start="00:10:32.380" video="qanda-scheme" id="subtitle"]]
-[[!template text="""maybe we can go have a look at some package""" start="00:10:35.860" video="qanda-scheme" id="subtitle"]]
-[[!template text="""definitions, although I think we're almost""" start="00:10:37.540" video="qanda-scheme" id="subtitle"]]
-[[!template text="""out of time on the live stream.""" start="00:10:38.940" video="qanda-scheme" id="subtitle"]]
-[[!template text="""So, yeah, just quickly.""" start="00:10:42.600" video="qanda-scheme" id="subtitle"]]
-[[!template text="""Emacs to the CM has all the,""" start="00:10:45.280" video="qanda-scheme" id="subtitle"]]
-[[!template text="""Emacs packages or Emacs itself.""" start="00:10:48.640" video="qanda-scheme" id="subtitle"]]
-[[!template text="""And Emacs-xyz is where you'll find all the""" start="00:10:52.120" video="qanda-scheme" id="subtitle"]]
-[[!template text="""Emacs like ELPA packages,""" start="00:10:54.480" video="qanda-scheme" id="subtitle"]]
-[[!template text="""but package for use on GNU Geeks system or""" start="00:10:57.980" video="qanda-scheme" id="subtitle"]]
-[[!template text="""with GNU Geeks. And I think that's all the""" start="00:11:01.220" video="qanda-scheme" id="subtitle"]]
-[[!template text="""time that we have. So yeah,""" start="00:11:04.080" video="qanda-scheme" id="subtitle"]]
-[[!template text="""thanks for tuning in, folks.""" start="00:11:06.000" video="qanda-scheme" id="subtitle"]]
-[[!template text="""Please post your questions on the pad.""" start="00:11:07.800" video="qanda-scheme" id="subtitle"]]
-[[!template text="""We'll pass them on to Andrew.""" start="00:11:09.280" video="qanda-scheme" id="subtitle"]]
-[[!template text="""And yeah, hope you enjoy this.""" start="00:11:12.400" video="qanda-scheme" id="subtitle"]]
-[[!template text="""Definitely go check out Andrew's work and Gnu""" start="00:11:15.140" video="qanda-scheme" id="subtitle"]]
-[[!template text="""geeks as well. You are currently the only""" start="00:11:25.320" video="qanda-scheme" id="subtitle"]]
-[[!template text="""person in this conference.""" start="00:11:26.280" video="qanda-scheme" id="subtitle"]]
-
Questions or comments? Please e-mail [emacsconf-org-private@gnu.org](mailto:emacsconf-org-private@gnu.org?subject=Comment%20for%20EmacsConf%202023%20scheme%3A%20Bringing%20joy%20to%20Scheme%20programming)
diff --git a/2023/info/scheme-before.md b/2023/info/scheme-before.md
index 24969b28..5aed745d 100644
--- a/2023/info/scheme-before.md
+++ b/2023/info/scheme-before.md
@@ -1,13 +1,13 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
[[!toc ]]
-Format: 22-min talk; Q&A: BigBlueButton conference room
+Format: 22-min talk ; Q&A: BigBlueButton conference room
Status: Q&A to be extracted from the room recordings
-<div class="vid"><video controls preload="none" id="scheme-mainVideo"><source src="https://media.emacsconf.org/2023/emacsconf-2023-scheme--bringing-joy-to-scheme-programming--andrew-tropin--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-scheme--bringing-joy-to-scheme-programming--andrew-tropin--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2023/captions/emacsconf-2023-scheme--bringing-joy-to-scheme-programming--andrew-tropin--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="scheme-mainVideo" data="""
+<div class="vid mainVideo"><video controls preload="none" id="mainVideo-scheme"><source src="https://media.emacsconf.org/2023/emacsconf-2023-scheme--bringing-joy-to-scheme-programming--andrew-tropin--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-scheme--bringing-joy-to-scheme-programming--andrew-tropin--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2023/captions/emacsconf-2023-scheme--bringing-joy-to-scheme-programming--andrew-tropin--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-scheme" data="""
00:02.120 Introduction
00:23.280 Interactive development
01:18.180 REPL: Read Eval Print Loop
@@ -31,6 +31,6 @@ Status: Q&A to be extracted from the room recordings
20:22.121 Conclusion
20:45.880 Contacts
-"""]]<div></div>Duration: 21:01 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-scheme--bringing-joy-to-scheme-programming--andrew-tropin--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-scheme--bringing-joy-to-scheme-programming--andrew-tropin--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-scheme--bringing-joy-to-scheme-programming--andrew-tropin--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-scheme--bringing-joy-to-scheme-programming--andrew-tropin--main.opus">Download --main.opus (14MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-scheme--bringing-joy-to-scheme-programming--andrew-tropin--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-scheme--bringing-joy-to-scheme-programming--andrew-tropin--main.webm">Download --main.webm (54MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-scheme--bringing-joy-to-scheme-programming--andrew-tropin--pad.html">Download --pad.html</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-scheme--bringing-joy-to-scheme-programming--andrew-tropin--pad.md">Download --pad.md</a></li><li><a href="https://toobnix.org/w/4moUfTEo2G8we5JuLGArWx">View on Toobnix</a></li></ul></div></div>
+"""]]<div></div>Duration: 21:01 minutes<div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2023-scheme">Open Etherpad</a></li><li><a href="https://bbb.emacsverse.org/playback/presentation/2.0/playback.html?meetingId=b4a8670e0b530ee32705d58e7f7bcb5ebb49f86a-1701613648364">Play recording from BigBlueButton</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-scheme--bringing-joy-to-scheme-programming--andrew-tropin--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-scheme--bringing-joy-to-scheme-programming--andrew-tropin--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-scheme--bringing-joy-to-scheme-programming--andrew-tropin--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-scheme--bringing-joy-to-scheme-programming--andrew-tropin--main.opus">Download --main.opus (14MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-scheme--bringing-joy-to-scheme-programming--andrew-tropin--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-scheme--bringing-joy-to-scheme-programming--andrew-tropin--main.webm">Download --main.webm (54MB)</a></li><li><a href="https://toobnix.org/w/4moUfTEo2G8we5JuLGArWx">View on Toobnix</a></li><li><a href="https://www.youtube.com/watch?v=F-H3YQywr-4">View on Youtube</a></li></ul></div></div>
# Description
<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2023/info/scheme-nav.md b/2023/info/scheme-nav.md
index fa791c87..58a922aa 100644
--- a/2023/info/scheme-nav.md
+++ b/2023/info/scheme-nav.md
@@ -3,5 +3,5 @@
Back to the [[talks]]
Previous by track: <a href="/2023/talks/windows">Windows into Freedom</a>
Next by track: <a href="/2023/talks/world">GNU Emacs: A World of Possibilities</a>
-Track: <span class="sched-track Development">Development</span>
+Track: <span class="sched-track Development">Development</span> - <strong><a href="https://emacsconf.org/2023/watch/dev">Watch</a></strong>
</div>
diff --git a/2023/info/sharing-after.md b/2023/info/sharing-after.md
index 2b5a7b58..c338e069 100644
--- a/2023/info/sharing-after.md
+++ b/2023/info/sharing-after.md
@@ -1,13 +1,10 @@
<!-- Automatically generated by emacsconf-publish-after-page -->
-<a name="sharing-mainVideo-transcript"></a>
-# Transcript
+<div class="transcript transcript-mainVideo"><a name="sharing-mainVideo-transcript"></a><h1>Transcript</h1>
-[[!template new="1" text="""Introduction""" start="00:00:00.000" video="mainVideo-sharing" id="subtitle"]]
-
-[[!template text="""Hello everyone, I'm Jacob Boxerman.""" start="00:00:00.000" video="mainVideo-sharing" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Introduction""" start="00:00:00.000" video="mainVideo-sharing" id="subtitle"]]</div>[[!template text="""Hello everyone, I'm Jacob Boxerman.""" start="00:00:00.000" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""I'm a sophomore at Columbia University""" start="00:00:02.440" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""studying computer science.""" start="00:00:04.320" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""I'm so excited to be here today""" start="00:00:06.140" video="mainVideo-sharing" id="subtitle"]]
@@ -16,9 +13,7 @@
[[!template text="""EmacsConf is really the epitome for me""" start="00:00:13.720" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""of sharing and of learning about Emacs.""" start="00:00:16.747" video="mainVideo-sharing" id="subtitle"]]
-[[!template new="1" text="""Today's talk""" start="00:00:20.100" video="mainVideo-sharing" id="subtitle"]]
-
-[[!template text="""And in my closing keynote""" start="00:00:20.100" video="mainVideo-sharing" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Today's talk""" start="00:00:20.100" video="mainVideo-sharing" id="subtitle"]]</div>[[!template text="""And in my closing keynote""" start="00:00:20.100" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""titled &quot;Sharing Emacs is Caring Emacs,&quot;""" start="00:00:21.540" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""I want to drive that home,""" start="00:00:24.420" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""and I want to make every day""" start="00:00:25.820" video="mainVideo-sharing" id="subtitle"]]
@@ -31,9 +26,7 @@
[[!template text="""to both grow our community""" start="00:00:42.420" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""and to increase our own personal joy in Emacs.""" start="00:00:44.340" video="mainVideo-sharing" id="subtitle"]]
-[[!template new="1" text="""My history with Emacs""" start="00:00:48.900" video="mainVideo-sharing" id="subtitle"]]
-
-[[!template text="""My journey of sharing begins with my journey of learning.""" start="00:00:48.900" video="mainVideo-sharing" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""My history with Emacs""" start="00:00:48.900" video="mainVideo-sharing" id="subtitle"]]</div>[[!template text="""My journey of sharing begins with my journey of learning.""" start="00:00:48.900" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""So I'll start by spending a bit of time on that.""" start="00:00:52.460" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""I use Emacs every day for personal organization""" start="00:00:55.300" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""and to-dos -- you know, schoolwork, projects,""" start="00:00:57.780" video="mainVideo-sharing" id="subtitle"]]
@@ -56,9 +49,7 @@
[[!template text="""a few watchers, a few forks on GitHub.""" start="00:01:39.220" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""Pretty straightforward.""" start="00:01:40.540" video="mainVideo-sharing" id="subtitle"]]
-[[!template new="1" text="""Self-exploration vs learning from others""" start="00:01:42.380" video="mainVideo-sharing" id="subtitle"]]
-
-[[!template text="""But what exactly was that learning process like?""" start="00:01:42.380" video="mainVideo-sharing" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Self-exploration vs learning from others""" start="00:01:42.380" video="mainVideo-sharing" id="subtitle"]]</div>[[!template text="""But what exactly was that learning process like?""" start="00:01:42.380" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""Now, Emacs was such a beast to me at first.""" start="00:01:46.420" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""I was familiar with Python,""" start="00:01:49.460" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""with C, Java, languages like that.""" start="00:01:51.060" video="mainVideo-sharing" id="subtitle"]]
@@ -85,9 +76,7 @@
[[!template text="""My own process started""" start="00:02:48.580" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""with a lot of Googling, blog posts, YouTube, and Reddit.""" start="00:02:50.300" video="mainVideo-sharing" id="subtitle"]]
-[[!template new="1" text="""Learning process""" start="00:02:53.220" video="mainVideo-sharing" id="subtitle"]]
-
-[[!template text="""I actually found Emacs on YouTube.""" start="00:02:53.220" video="mainVideo-sharing" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Learning process""" start="00:02:53.220" video="mainVideo-sharing" id="subtitle"]]</div>[[!template text="""I actually found Emacs on YouTube.""" start="00:02:53.220" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""Seeing how other people used it""" start="00:02:55.420" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""was what really convinced me to try it for myself.""" start="00:02:58.140" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""At a certain point when my confidence grew,""" start="00:03:01.420" video="mainVideo-sharing" id="subtitle"]]
@@ -96,9 +85,7 @@
[[!template text="""learn from it, and expand, making it my own.""" start="00:03:09.980" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""And through that time, I learned Emacs.""" start="00:03:13.860" video="mainVideo-sharing" id="subtitle"]]
-[[!template new="1" text="""Emacs learning (not just learning Emacs)""" start="00:03:17.020" video="mainVideo-sharing" id="subtitle"]]
-
-[[!template text="""But I also participated in Emacs learning.""" start="00:03:17.020" video="mainVideo-sharing" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Emacs learning (not just learning Emacs)""" start="00:03:17.020" video="mainVideo-sharing" id="subtitle"]]</div>[[!template text="""But I also participated in Emacs learning.""" start="00:03:17.020" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""What's the difference?""" start="00:03:21.020" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""We often discuss the former,""" start="00:03:22.580" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""grappling with key binds, commands.""" start="00:03:24.220" video="mainVideo-sharing" id="subtitle"]]
@@ -116,16 +103,12 @@
[[!template text="""Emacs learning is much, much harder to do alone.""" start="00:03:56.980" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""And I wanted to help with that.""" start="00:04:00.260" video="mainVideo-sharing" id="subtitle"]]
-[[!template new="1" text="""My YouTube journey""" start="00:04:03.300" video="mainVideo-sharing" id="subtitle"]]
-
-[[!template text="""So this brings me to the second part of my talk,""" start="00:04:03.300" video="mainVideo-sharing" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""My YouTube journey""" start="00:04:03.300" video="mainVideo-sharing" id="subtitle"]]</div>[[!template text="""So this brings me to the second part of my talk,""" start="00:04:03.300" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""my Emacs journey, how I got started""" start="00:04:05.740" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""and where I am today with my YouTube channel,""" start="00:04:08.660" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""my Straightforward Emacs series with nearly 200,000 views.""" start="00:04:11.460" video="mainVideo-sharing" id="subtitle"]]
-[[!template new="1" text="""Why not just read the manual?""" start="00:04:14.820" video="mainVideo-sharing" id="subtitle"]]
-
-[[!template text="""The Emacs Manual is often pushed""" start="00:04:14.820" video="mainVideo-sharing" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Why not just read the manual?""" start="00:04:14.820" video="mainVideo-sharing" id="subtitle"]]</div>[[!template text="""The Emacs Manual is often pushed""" start="00:04:14.820" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""as the best way to learn Emacs.""" start="00:04:18.220" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""It's an all-encompassing tome.""" start="00:04:20.380" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""And as amazing as I think it is,""" start="00:04:21.860" video="mainVideo-sharing" id="subtitle"]]
@@ -153,9 +136,7 @@
[[!template text="""in my Emacs journey. I wanted to do my part.""" start="00:05:15.420" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""I care about Emacs. I started to really care about Emacs.""" start="00:05:18.020" video="mainVideo-sharing" id="subtitle"]]
-[[!template new="1" text="""Why video for Emacs""" start="00:05:20.980" video="mainVideo-sharing" id="subtitle"]]
-
-[[!template text="""So I wanted to share about Emacs.""" start="00:05:20.980" video="mainVideo-sharing" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Why video for Emacs""" start="00:05:20.980" video="mainVideo-sharing" id="subtitle"]]</div>[[!template text="""So I wanted to share about Emacs.""" start="00:05:20.980" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""So at that point, I refocused my work with Emacs""" start="00:05:24.320" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""beyond just myself. I wanted to help others""" start="00:05:27.340" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""feel the excitement that I did.""" start="00:05:30.740" video="mainVideo-sharing" id="subtitle"]]
@@ -169,9 +150,7 @@
[[!template text="""So for that, I turned to video.""" start="00:05:48.320" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""And it turns out that seeing is believing.""" start="00:05:50.500" video="mainVideo-sharing" id="subtitle"]]
-[[!template new="1" text="""Straightforward Emacs""" start="00:05:54.420" video="mainVideo-sharing" id="subtitle"]]
-
-[[!template text="""I made a short video showing off Emacs Org Mode.""" start="00:05:54.420" video="mainVideo-sharing" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Straightforward Emacs""" start="00:05:54.420" video="mainVideo-sharing" id="subtitle"]]</div>[[!template text="""I made a short video showing off Emacs Org Mode.""" start="00:05:54.420" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""I didn't even have a voiceover.""" start="00:05:56.900" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""That video, less than five minutes long,""" start="00:05:58.960" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""but still incorporating some of my core principles,""" start="00:06:01.700" video="mainVideo-sharing" id="subtitle"]]
@@ -187,9 +166,7 @@
[[!template text="""when I was figuring out""" start="00:06:27.600" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""Emacs' numerous and wonderful features.""" start="00:06:28.660" video="mainVideo-sharing" id="subtitle"]]
-[[!template new="1" text="""Challenges and benefits of video""" start="00:06:32.700" video="mainVideo-sharing" id="subtitle"]]
-
-[[!template text="""Video does, I admit, come with its own set of challenges.""" start="00:06:32.700" video="mainVideo-sharing" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Challenges and benefits of video""" start="00:06:32.700" video="mainVideo-sharing" id="subtitle"]]</div>[[!template text="""Video does, I admit, come with its own set of challenges.""" start="00:06:32.700" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""Complaints that video is less accessible, it's valid.""" start="00:06:36.620" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""They're more time consuming, it's valid too.""" start="00:06:40.400" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""It's harder to skim a video than a blog post,""" start="00:06:42.460" video="mainVideo-sharing" id="subtitle"]]
@@ -208,9 +185,7 @@
[[!template text="""to outweigh those cons of video,""" start="00:07:12.780" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""to outweigh those common complaints.""" start="00:07:14.500" video="mainVideo-sharing" id="subtitle"]]
-[[!template new="1" text="""Crafting tutorials that work""" start="00:07:16.300" video="mainVideo-sharing" id="subtitle"]]
-
-[[!template text="""What was it? I covered topics that had been done before.""" start="00:07:16.300" video="mainVideo-sharing" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Crafting tutorials that work""" start="00:07:16.300" video="mainVideo-sharing" id="subtitle"]]</div>[[!template text="""What was it? I covered topics that had been done before.""" start="00:07:16.300" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""But I wanted to present them in my way.""" start="00:07:21.660" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""In the way that I knew people would appreciate,""" start="00:07:24.020" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""because it's what I would have appreciated""" start="00:07:26.660" video="mainVideo-sharing" id="subtitle"]]
@@ -229,9 +204,7 @@
[[!template text="""And though prerecorded, I wanted to present""" start="00:08:05.660" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""my unfiltered, raw self.""" start="00:08:08.260" video="mainVideo-sharing" id="subtitle"]]
-[[!template new="1" text="""High-quality and accessible content""" start="00:08:11.720" video="mainVideo-sharing" id="subtitle"]]
-
-[[!template text="""Another goal of mine is high quality and accessible content.""" start="00:08:11.720" video="mainVideo-sharing" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""High-quality and accessible content""" start="00:08:11.720" video="mainVideo-sharing" id="subtitle"]]</div>[[!template text="""Another goal of mine is high quality and accessible content.""" start="00:08:11.720" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""I speak carefully and I tune my volume,""" start="00:08:15.940" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""making it easier to listen to,""" start="00:08:18.580" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""and improving YouTube's auto-captioning.""" start="00:08:20.680" video="mainVideo-sharing" id="subtitle"]]
@@ -256,9 +229,7 @@
[[!template text="""So I do my best to mention different possible keybindings""" start="00:09:12.220" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""a viewer might be using.""" start="00:09:14.900" video="mainVideo-sharing" id="subtitle"]]
-[[!template new="1" text="""Most crucial aspect of my videos""" start="00:09:17.920" video="mainVideo-sharing" id="subtitle"]]
-
-[[!template text="""There was one thing, though, that turned out to be""" start="00:09:17.920" video="mainVideo-sharing" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Most crucial aspect of my videos""" start="00:09:17.920" video="mainVideo-sharing" id="subtitle"]]</div>[[!template text="""There was one thing, though, that turned out to be""" start="00:09:17.920" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""the most crucial part of my videos and series.""" start="00:09:19.940" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""And it's one of the reasons itself for this talk.""" start="00:09:23.300" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""You may have already picked up on it.""" start="00:09:25.460" video="mainVideo-sharing" id="subtitle"]]
@@ -271,9 +242,7 @@
[[!template text="""Because that's the stuff that can jump out of the video""" start="00:09:44.060" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""and into the comments.""" start="00:09:47.220" video="mainVideo-sharing" id="subtitle"]]
-[[!template new="1" text="""A broadening community""" start="00:09:50.220" video="mainVideo-sharing" id="subtitle"]]
-
-[[!template text="""The idea for this talk started""" start="00:09:50.220" video="mainVideo-sharing" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""A broadening community""" start="00:09:50.220" video="mainVideo-sharing" id="subtitle"]]</div>[[!template text="""The idea for this talk started""" start="00:09:50.220" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""as a story of my YouTube journey.""" start="00:09:53.200" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""I wanted to share how I began sharing Emacs""" start="00:09:55.240" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""and why I like it. And I think I've done that.""" start="00:09:57.540" video="mainVideo-sharing" id="subtitle"]]
@@ -305,9 +274,7 @@
[[!template text="""my videos sparked conversation,""" start="00:11:04.420" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""debate and further interest was incredible.""" start="00:11:06.100" video="mainVideo-sharing" id="subtitle"]]
-[[!template new="1" text="""Sharing Emacs""" start="00:11:10.780" video="mainVideo-sharing" id="subtitle"]]
-
-[[!template text="""We've had two amazing days of sharing Emacs,""" start="00:11:10.780" video="mainVideo-sharing" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Sharing Emacs""" start="00:11:10.780" video="mainVideo-sharing" id="subtitle"]]</div>[[!template text="""We've had two amazing days of sharing Emacs,""" start="00:11:10.780" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""putting ourselves out there, and sharing in a community.""" start="00:11:14.000" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""I want to emphasize how amazing""" start="00:11:17.380" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""a strong community with the right values is,""" start="00:11:19.060" video="mainVideo-sharing" id="subtitle"]]
@@ -321,17 +288,13 @@
[[!template text="""for the mere fact that we are here together.""" start="00:11:41.060" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""Then let's turn to the potential within our community.""" start="00:11:44.140" video="mainVideo-sharing" id="subtitle"]]
-[[!template new="1" text="""Platforms""" start="00:11:48.020" video="mainVideo-sharing" id="subtitle"]]
-
-[[!template text="""First, though, I'll briefly note""" start="00:11:48.020" video="mainVideo-sharing" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Platforms""" start="00:11:48.020" video="mainVideo-sharing" id="subtitle"]]</div>[[!template text="""First, though, I'll briefly note""" start="00:11:48.020" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""that everyone has their opinions about platforms,""" start="00:11:50.140" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""and I'm not here to make judgments,""" start="00:11:52.340" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""but freedom, equity, and accessibility are important,""" start="00:11:53.460" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""but reach is, too.""" start="00:11:56.060" video="mainVideo-sharing" id="subtitle"]]
-[[!template new="1" text="""Achieving unity""" start="00:11:57.922" video="mainVideo-sharing" id="subtitle"]]
-
-[[!template text="""Regardless of the platform,""" start="00:11:57.922" video="mainVideo-sharing" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Achieving unity""" start="00:11:57.922" video="mainVideo-sharing" id="subtitle"]]</div>[[!template text="""Regardless of the platform,""" start="00:11:57.922" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""one thing remains certain:""" start="00:12:00.540" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""our strength lies in unity.""" start="00:12:02.700" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""Like any online community, this calls for unique ways""" start="00:12:05.400" video="mainVideo-sharing" id="subtitle"]]
@@ -365,9 +328,7 @@
[[!template text="""for mentorship and support,""" start="00:13:24.260" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""which is valuable for everyone involved.""" start="00:13:26.080" video="mainVideo-sharing" id="subtitle"]]
-[[!template new="1" text="""Every contribution is valuable""" start="00:13:30.000" video="mainVideo-sharing" id="subtitle"]]
-
-[[!template text="""We can also call on our open source [* free software] values""" start="00:13:30.000" video="mainVideo-sharing" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Every contribution is valuable""" start="00:13:30.000" video="mainVideo-sharing" id="subtitle"]]</div>[[!template text="""We can also call on our open source [* free software] values""" start="00:13:30.000" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""and focus on collaborative projects,""" start="00:13:32.580" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""from coding projects where we can contribute and learn""" start="00:13:34.940" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""to building shared documentation and guides""" start="00:13:38.240" video="mainVideo-sharing" id="subtitle"]]
@@ -393,9 +354,7 @@
[[!template text="""by embracing these ideas, we can build""" start="00:14:32.900" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""a more connected and empowered Emacs community.""" start="00:14:34.660" video="mainVideo-sharing" id="subtitle"]]
-[[!template new="1" text="""Conclusion""" start="00:14:40.300" video="mainVideo-sharing" id="subtitle"]]
-
-[[!template text="""Now Emacs is so very personal.""" start="00:14:40.300" video="mainVideo-sharing" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Conclusion""" start="00:14:40.300" video="mainVideo-sharing" id="subtitle"]]</div>[[!template text="""Now Emacs is so very personal.""" start="00:14:40.300" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""Those of us who have our own""" start="00:14:43.760" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""carefully manicured configurations understand --""" start="00:14:44.940" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""Emacs molds to our liking and our person.""" start="00:14:47.680" video="mainVideo-sharing" id="subtitle"]]
@@ -434,12 +393,11 @@
[[!template text="""for being part of this shared adventure.""" start="00:16:23.340" video="mainVideo-sharing" id="subtitle"]]
[[!template text="""Let's go forth and share, together.""" start="00:16:26.500" video="mainVideo-sharing" id="subtitle"]]
-
+</div>
Captioner: sachac
-<a name="sharing-qanda-transcript"></a>
-# Q&A transcript (unedited)
+<div class="transcript transcript-qanda"><a name="sharing-qanda-transcript"></a><h1>Q&A transcript (unedited)</h1>
[[!template text="""[Speaker 1]: Yeah, we're live. So whoever's in the""" start="00:00:05.940" video="qanda-sharing" id="subtitle"]]
[[!template text="""background might be able to see you live in""" start="00:00:08.240" video="qanda-sharing" id="subtitle"]]
@@ -1065,7 +1023,7 @@ Captioner: sachac
[[!template text="""And closing here. This BBB recording.""" start="00:25:15.660" video="qanda-sharing" id="subtitle"]]
[[!template text="""Yay!""" start="00:25:16.360" video="qanda-sharing" id="subtitle"]]
-Questions or comments? Please e-mail [jakebox0@protonmail.com](mailto:jakebox0@protonmail.com?subject=Comment%20for%20EmacsConf%202023%20sharing%3A%20Sharing%20Emacs%20is%20Caring%20Emacs%3A%20Emacs%20education%20and%20why%20I%20embraced%20video)
+</div>Questions or comments? Please e-mail [jakebox0@protonmail.com](mailto:jakebox0@protonmail.com?subject=Comment%20for%20EmacsConf%202023%20sharing%3A%20Sharing%20Emacs%20is%20Caring%20Emacs%3A%20Emacs%20education%20and%20why%20I%20embraced%20video)
<!-- End of emacsconf-publish-after-page -->
diff --git a/2023/info/sharing-before.md b/2023/info/sharing-before.md
index ae63e36c..52b1a3f1 100644
--- a/2023/info/sharing-before.md
+++ b/2023/info/sharing-before.md
@@ -1,6 +1,6 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
[[!toc ]]
-Format: 17-min talk; Q&A: BigBlueButton conference room
+Format: 17-min talk ; Q&A: BigBlueButton conference room
Status: Q&A to be extracted from the room recordings
@@ -9,7 +9,7 @@ Status: Q&A to be extracted from the room recordings
# Talk
-<div class="vid"><video controls preload="none" id="sharing-mainVideo"><source src="https://media.emacsconf.org/2023/emacsconf-2023-sharing--sharing-emacs-is-caring-emacs-emacs-education-and-why-i-embraced-video--jacob-boxerman--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-sharing--sharing-emacs-is-caring-emacs-emacs-education-and-why-i-embraced-video--jacob-boxerman--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2023/captions/emacsconf-2023-sharing--sharing-emacs-is-caring-emacs-emacs-education-and-why-i-embraced-video--jacob-boxerman--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="sharing-mainVideo" data="""
+<div class="vid mainVideo"><video controls preload="none" id="mainVideo-sharing"><source src="https://media.emacsconf.org/2023/emacsconf-2023-sharing--sharing-emacs-is-caring-emacs-emacs-education-and-why-i-embraced-video--jacob-boxerman--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-sharing--sharing-emacs-is-caring-emacs-emacs-education-and-why-i-embraced-video--jacob-boxerman--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2023/captions/emacsconf-2023-sharing--sharing-emacs-is-caring-emacs-emacs-education-and-why-i-embraced-video--jacob-boxerman--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-sharing" data="""
00:00.000 Introduction
00:49.000 My journey of learning
04:03.400 Straightforward Emacs
@@ -19,10 +19,10 @@ Status: Q&A to be extracted from the room recordings
09:15.920 The personal aspect
11:48.120 Unity
-"""]]<div></div>Duration: 16:34 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-sharing--sharing-emacs-is-caring-emacs-emacs-education-and-why-i-embraced-video--jacob-boxerman--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-sharing--sharing-emacs-is-caring-emacs-emacs-education-and-why-i-embraced-video--jacob-boxerman--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-sharing--sharing-emacs-is-caring-emacs-emacs-education-and-why-i-embraced-video--jacob-boxerman--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-sharing--sharing-emacs-is-caring-emacs-emacs-education-and-why-i-embraced-video--jacob-boxerman--main.opus">Download --main.opus (8.8MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-sharing--sharing-emacs-is-caring-emacs-emacs-education-and-why-i-embraced-video--jacob-boxerman--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-sharing--sharing-emacs-is-caring-emacs-emacs-education-and-why-i-embraced-video--jacob-boxerman--main.webm">Download --main.webm (47MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-sharing--sharing-emacs-is-caring-emacs-emacs-education-and-why-i-embraced-video--jacob-boxerman--pad.html">Download --pad.html</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-sharing--sharing-emacs-is-caring-emacs-emacs-education-and-why-i-embraced-video--jacob-boxerman--pad.md">Download --pad.md</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-sharing--sharing-emacs-is-caring-emacs-emacs-education-and-why-i-embraced-video--jacob-boxerman--previous.mkv">Download --previous.mkv (377MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-sharing--sharing-emacs-is-caring-emacs-emacs-education-and-why-i-embraced-video--jacob-boxerman--script.txt">Download --script.txt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-sharing--sharing-emacs-is-caring-emacs-emacs-education-and-why-i-embraced-video--jacob-boxerman.org">Download .org</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-sharing--sharing-emacs-is-caring-emacs-emacs-education-and-why-i-embraced-video--jacob-boxerman.txt">Download .txt</a></li><li><a href="https://toobnix.org/w/3b5XfkceUaRjJuN5Pumgee">View on Toobnix</a></li></ul></div></div>
+"""]]<div></div>Duration: 16:34 minutes<div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2023-sharing">Open Etherpad</a></li><li><a href="https://bbb.emacsverse.org/playback/presentation/2.0/playback.html?meetingId=fe7f19d2e265788af1e6dd62bba52ef0ee6e0d42-1701636136078">Play recording from BigBlueButton</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-sharing--sharing-emacs-is-caring-emacs-emacs-education-and-why-i-embraced-video--jacob-boxerman--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-sharing--sharing-emacs-is-caring-emacs-emacs-education-and-why-i-embraced-video--jacob-boxerman--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-sharing--sharing-emacs-is-caring-emacs-emacs-education-and-why-i-embraced-video--jacob-boxerman--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-sharing--sharing-emacs-is-caring-emacs-emacs-education-and-why-i-embraced-video--jacob-boxerman--main.opus">Download --main.opus (8.8MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-sharing--sharing-emacs-is-caring-emacs-emacs-education-and-why-i-embraced-video--jacob-boxerman--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-sharing--sharing-emacs-is-caring-emacs-emacs-education-and-why-i-embraced-video--jacob-boxerman--main.webm">Download --main.webm (47MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-sharing--sharing-emacs-is-caring-emacs-emacs-education-and-why-i-embraced-video--jacob-boxerman--previous.mkv">Download --previous.mkv (377MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-sharing--sharing-emacs-is-caring-emacs-emacs-education-and-why-i-embraced-video--jacob-boxerman--script.txt">Download --script.txt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-sharing--sharing-emacs-is-caring-emacs-emacs-education-and-why-i-embraced-video--jacob-boxerman.org">Download .org</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-sharing--sharing-emacs-is-caring-emacs-emacs-education-and-why-i-embraced-video--jacob-boxerman.txt">Download .txt</a></li><li><a href="https://toobnix.org/w/3b5XfkceUaRjJuN5Pumgee">View on Toobnix</a></li><li><a href="https://youtu.be/L897BU3BT6g">View on Youtube</a></li></ul></div></div>
# Q&A
-<div class="vid"><video controls preload="none" id="sharing-qanda"><source src="https://media.emacsconf.org/2023/emacsconf-2023-sharing--sharing-emacs-is-caring-emacs-emacs-education-and-why-i-embraced-video--jacob-boxerman--answers.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-sharing--sharing-emacs-is-caring-emacs-emacs-education-and-why-i-embraced-video--jacob-boxerman--answers.vtt" default />"""<p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video><div>Listen to just the audio:<br /><audio controls preload="none" id="sharing-qanda-audio" src="https://media.emacsconf.org/2023/emacsconf-2023-sharing--sharing-emacs-is-caring-emacs-emacs-education-and-why-i-embraced-video--jacob-boxerman--answers.opus"></audio></div><div></div>Duration: 25:19 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-sharing--sharing-emacs-is-caring-emacs-emacs-education-and-why-i-embraced-video--jacob-boxerman--answers.json">Download --answers.json (1.3MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-sharing--sharing-emacs-is-caring-emacs-emacs-education-and-why-i-embraced-video--jacob-boxerman--answers.opus">Download --answers.opus (16MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-sharing--sharing-emacs-is-caring-emacs-emacs-education-and-why-i-embraced-video--jacob-boxerman--answers.vtt">Download --answers.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-sharing--sharing-emacs-is-caring-emacs-emacs-education-and-why-i-embraced-video--jacob-boxerman--answers.webm">Download --answers.webm (44MB)</a></li></ul></div></div>
+<div class="vid qanda"><video controls preload="none" id="qanda-sharing"><source src="https://media.emacsconf.org/2023/emacsconf-2023-sharing--sharing-emacs-is-caring-emacs-emacs-education-and-why-i-embraced-video--jacob-boxerman--answers.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-sharing--sharing-emacs-is-caring-emacs-emacs-education-and-why-i-embraced-video--jacob-boxerman--answers.vtt" default />"""<p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video><div>Listen to just the audio:<br /><audio controls preload="none" id="qanda-sharing-audio" src="https://media.emacsconf.org/2023/emacsconf-2023-sharing--sharing-emacs-is-caring-emacs-emacs-education-and-why-i-embraced-video--jacob-boxerman--answers.opus"></audio></div><div></div>Duration: 25:19 minutes<div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2023-sharing">Open Etherpad</a></li><li><a href="https://bbb.emacsverse.org/playback/presentation/2.0/playback.html?meetingId=fe7f19d2e265788af1e6dd62bba52ef0ee6e0d42-1701636136078">Play recording from BigBlueButton</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-sharing--sharing-emacs-is-caring-emacs-emacs-education-and-why-i-embraced-video--jacob-boxerman--answers.json">Download --answers.json (1.3MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-sharing--sharing-emacs-is-caring-emacs-emacs-education-and-why-i-embraced-video--jacob-boxerman--answers.opus">Download --answers.opus (16MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-sharing--sharing-emacs-is-caring-emacs-emacs-education-and-why-i-embraced-video--jacob-boxerman--answers.vtt">Download --answers.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-sharing--sharing-emacs-is-caring-emacs-emacs-education-and-why-i-embraced-video--jacob-boxerman--answers.webm">Download --answers.webm (44MB)</a></li></ul></div></div>
# Description
<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2023/info/sharing-nav.md b/2023/info/sharing-nav.md
index 2d903a48..8443c8c4 100644
--- a/2023/info/sharing-nav.md
+++ b/2023/info/sharing-nav.md
@@ -3,5 +3,5 @@
Back to the [[talks]]
Previous by track: <a href="/2023/talks/web">Emacs saves the Web (maybe)</a>
Next by track: <a href="/2023/talks/matplotllm">MatplotLLM, iterative natural language data visualization in org-babel</a>
-Track: <span class="sched-track General">General</span>
+Track: <span class="sched-track General">General</span> - <strong><a href="https://emacsconf.org/2023/watch/gen">Watch</a></strong>
</div>
diff --git a/2023/info/solo-after.md b/2023/info/solo-after.md
index f99447c9..e585e9a2 100644
--- a/2023/info/solo-after.md
+++ b/2023/info/solo-after.md
@@ -1,13 +1,10 @@
<!-- Automatically generated by emacsconf-publish-after-page -->
-<a name="solo-mainVideo-transcript"></a>
-# Transcript
+<div class="transcript transcript-mainVideo"><a name="solo-mainVideo-transcript"></a><h1>Transcript</h1>
-[[!template new="1" text="""Introduction""" start="00:00:00.000" video="mainVideo-solo" id="subtitle"]]
-
-[[!template text="""Hi there, I'm Howard Abrams. You may remember me""" start="00:00:00.000" video="mainVideo-solo" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Introduction""" start="00:00:00.000" video="mainVideo-solo" id="subtitle"]]</div>[[!template text="""Hi there, I'm Howard Abrams. You may remember me""" start="00:00:00.000" video="mainVideo-solo" id="subtitle"]]
[[!template text="""from past conference talks""" start="00:00:05.560" video="mainVideo-solo" id="subtitle"]]
[[!template text="""as &quot;Literate DevOps and the Temple of Doom&quot;""" start="00:00:07.720" video="mainVideo-solo" id="subtitle"]]
[[!template text="""and &quot;Using Eshell for Fun and Profit&quot;.""" start="00:00:10.520" video="mainVideo-solo" id="subtitle"]]
@@ -36,9 +33,7 @@
[[!template text="""once a week at lunch.""" start="00:01:15.600" video="mainVideo-solo" id="subtitle"]]
[[!template text="""This pastime came to a screeching halt with the pandemic.""" start="00:01:17.320" video="mainVideo-solo" id="subtitle"]]
-[[!template new="1" text="""Solo RPGs""" start="00:01:20.680" video="mainVideo-solo" id="subtitle"]]
-
-[[!template text="""I turned to playing role-playing games by myself""" start="00:01:20.680" video="mainVideo-solo" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Solo RPGs""" start="00:01:20.680" video="mainVideo-solo" id="subtitle"]]</div>[[!template text="""I turned to playing role-playing games by myself""" start="00:01:20.680" video="mainVideo-solo" id="subtitle"]]
[[!template text="""to get my fix. Playing these silly elf games in solo mode""" start="00:01:23.640" video="mainVideo-solo" id="subtitle"]]
[[!template text="""has been part of the game for many years,""" start="00:01:28.000" video="mainVideo-solo" id="subtitle"]]
[[!template text="""but with so many of us stuck at home,""" start="00:01:29.880" video="mainVideo-solo" id="subtitle"]]
@@ -66,9 +61,7 @@
[[!template text="""I could just download the entire text.""" start="00:02:41.880" video="mainVideo-solo" id="subtitle"]]
[[!template text="""I figured I could just render the entire game in Emacs.""" start="00:02:43.920" video="mainVideo-solo" id="subtitle"]]
-[[!template new="1" text="""Demo""" start="00:02:47.440" video="mainVideo-solo" id="subtitle"]]
-
-[[!template text="""All right, enough talk. Let's get some Emacs action here,""" start="00:02:47.440" video="mainVideo-solo" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Demo""" start="00:02:47.440" video="mainVideo-solo" id="subtitle"]]</div>[[!template text="""All right, enough talk. Let's get some Emacs action here,""" start="00:02:47.440" video="mainVideo-solo" id="subtitle"]]
[[!template text="""while I show you a bit of my game.""" start="00:02:51.240" video="mainVideo-solo" id="subtitle"]]
[[!template text="""When playing a solo RPG,""" start="00:02:55.200" video="mainVideo-solo" id="subtitle"]]
[[!template text="""I jot down the story notes in an Org file.""" start="00:02:57.520" video="mainVideo-solo" id="subtitle"]]
@@ -97,9 +90,7 @@
[[!template text="""I just finished playing out the journey,""" start="00:04:06.400" video="mainVideo-solo" id="subtitle"]]
[[!template text="""and he's about to enter into the Catacombs of Svala's Blood.""" start="00:04:08.400" video="mainVideo-solo" id="subtitle"]]
-[[!template new="1" text="""Randomization""" start="00:04:11.760" video="mainVideo-solo" id="subtitle"]]
-
-[[!template text="""Why that name? Well, that was actually what came up""" start="00:04:11.760" video="mainVideo-solo" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Randomization""" start="00:04:11.760" video="mainVideo-solo" id="subtitle"]]</div>[[!template text="""Why that name? Well, that was actually what came up""" start="00:04:11.760" video="mainVideo-solo" id="subtitle"]]
[[!template text="""from an extensive random number generator that I wrote.""" start="00:04:15.200" video="mainVideo-solo" id="subtitle"]]
[[!template text="""As I wrote more and more functions""" start="00:04:19.640" video="mainVideo-solo" id="subtitle"]]
[[!template text="""to help me play this game,""" start="00:04:21.960" video="mainVideo-solo" id="subtitle"]]
@@ -124,9 +115,7 @@
[[!template text="""Hmm, weather. Oh, it's summer, so hey,""" start="00:05:20.400" video="mainVideo-solo" id="subtitle"]]
[[!template text="""it's nice and clear. All right, let's play.""" start="00:05:27.280" video="mainVideo-solo" id="subtitle"]]
-[[!template new="1" text="""Moves""" start="00:05:31.960" video="mainVideo-solo" id="subtitle"]]
-
-[[!template text="""The action in Ironsworn,""" start="00:05:31.960" video="mainVideo-solo" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Moves""" start="00:05:31.960" video="mainVideo-solo" id="subtitle"]]</div>[[!template text="""The action in Ironsworn,""" start="00:05:31.960" video="mainVideo-solo" id="subtitle"]]
[[!template text="""like other Powered by the Apocalypse games,""" start="00:05:34.240" video="mainVideo-solo" id="subtitle"]]
[[!template text="""is driven by moves. So, I hit the `m` key,""" start="00:05:37.040" video="mainVideo-solo" id="subtitle"]]
[[!template text="""and all the moves show up.""" start="00:05:44.360" video="mainVideo-solo" id="subtitle"]]
@@ -136,9 +125,7 @@
[[!template text="""to help me find my choices.""" start="00:05:55.560" video="mainVideo-solo" id="subtitle"]]
[[!template text="""Since I've discovered a site, let's play that move.""" start="00:05:57.720" video="mainVideo-solo" id="subtitle"]]
-[[!template new="1" text="""Reference""" start="00:06:03.640" video="mainVideo-solo" id="subtitle"]]
-
-[[!template text="""I seldom remember the details for the moves,""" start="00:06:03.640" video="mainVideo-solo" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Reference""" start="00:06:03.640" video="mainVideo-solo" id="subtitle"]]</div>[[!template text="""I seldom remember the details for the moves,""" start="00:06:03.640" video="mainVideo-solo" id="subtitle"]]
[[!template text="""so I figured, why not put the text of the book""" start="00:06:06.480" video="mainVideo-solo" id="subtitle"]]
[[!template text="""in an Org file and show it in a side window?""" start="00:06:09.160" video="mainVideo-solo" id="subtitle"]]
[[!template text="""The prompt at the bottom, asking for a name,""" start="00:06:11.800" video="mainVideo-solo" id="subtitle"]]
@@ -148,9 +135,7 @@
[[!template text="""Exploring the Catacombs of Svala's Blood.""" start="00:06:25.160" video="mainVideo-solo" id="subtitle"]]
[[!template text="""Ooh, sounds epic.""" start="00:06:31.840" video="mainVideo-solo" id="subtitle"]]
-[[!template new="1" text="""Story arcs""" start="00:06:34.680" video="mainVideo-solo" id="subtitle"]]
-
-[[!template text="""Ironsworn tracks the beats of a narrative,""" start="00:06:34.680" video="mainVideo-solo" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Story arcs""" start="00:06:34.680" video="mainVideo-solo" id="subtitle"]]</div>[[!template text="""Ironsworn tracks the beats of a narrative,""" start="00:06:34.680" video="mainVideo-solo" id="subtitle"]]
[[!template text="""so major plot points take up more room in the fiction""" start="00:06:37.240" video="mainVideo-solo" id="subtitle"]]
[[!template text="""than minor plot points.""" start="00:06:40.800" video="mainVideo-solo" id="subtitle"]]
[[!template text="""Similar games like Blades in the Dark""" start="00:06:42.760" video="mainVideo-solo" id="subtitle"]]
@@ -176,9 +161,7 @@
[[!template text="""So, for instance, this one seems to be""" start="00:07:40.640" video="mainVideo-solo" id="subtitle"]]
[[!template text="""about a third of the way through.""" start="00:07:47.240" video="mainVideo-solo" id="subtitle"]]
-[[!template new="1" text="""Using different stats""" start="00:07:48.680" video="mainVideo-solo" id="subtitle"]]
-
-[[!template text="""So, let's dive into this ancient place.""" start="00:07:48.680" video="mainVideo-solo" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Using different stats""" start="00:07:48.680" video="mainVideo-solo" id="subtitle"]]</div>[[!template text="""So, let's dive into this ancient place.""" start="00:07:48.680" video="mainVideo-solo" id="subtitle"]]
[[!template text="""Since I've been walking through a misty forest,""" start="00:07:52.600" video="mainVideo-solo" id="subtitle"]]
[[!template text="""I can imagine vines hiding an immense door""" start="00:07:55.720" video="mainVideo-solo" id="subtitle"]]
[[!template text="""and a humid, earthy smell as I peer inside.""" start="00:07:59.320" video="mainVideo-solo" id="subtitle"]]
@@ -204,9 +187,7 @@
[[!template text="""Just about every one of my stats prompts me""" start="00:08:57.720" video="mainVideo-solo" id="subtitle"]]
[[!template text="""if I want to add or subtract any values.""" start="00:08:59.560" video="mainVideo-solo" id="subtitle"]]
-[[!template new="1" text="""Dice rolls""" start="00:09:02.960" video="mainVideo-solo" id="subtitle"]]
-
-[[!template text="""A miss. I should explain how the dice roll in this game.""" start="00:09:02.960" video="mainVideo-solo" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Dice rolls""" start="00:09:02.960" video="mainVideo-solo" id="subtitle"]]</div>[[!template text="""A miss. I should explain how the dice roll in this game.""" start="00:09:02.960" video="mainVideo-solo" id="subtitle"]]
[[!template text="""The downside to Ironsworn is that""" start="00:09:09.880" video="mainVideo-solo" id="subtitle"]]
[[!template text="""the dice mechanics are more cumbersome than other games.""" start="00:09:13.400" video="mainVideo-solo" id="subtitle"]]
[[!template text="""You roll a 6-sided die, add to it your relevant stat,""" start="00:09:16.840" video="mainVideo-solo" id="subtitle"]]
@@ -216,9 +197,7 @@
[[!template text="""but when I displayed it, I wanted to see all the dice.""" start="00:09:28.680" video="mainVideo-solo" id="subtitle"]]
[[!template text="""And I also just wanted to see the end results.""" start="00:09:31.600" video="mainVideo-solo" id="subtitle"]]
-[[!template new="1" text="""Dangers""" start="00:09:34.800" video="mainVideo-solo" id="subtitle"]]
-
-[[!template text="""So I colored it. I rolled a miss,""" start="00:09:34.800" video="mainVideo-solo" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Dangers""" start="00:09:34.800" video="mainVideo-solo" id="subtitle"]]</div>[[!template text="""So I colored it. I rolled a miss,""" start="00:09:34.800" video="mainVideo-solo" id="subtitle"]]
[[!template text="""which means I need to reveal a danger.""" start="00:09:37.480" video="mainVideo-solo" id="subtitle"]]
[[!template text="""Sure, I could imagine all sorts of dangers,""" start="00:09:39.800" video="mainVideo-solo" id="subtitle"]]
[[!template text="""but this is a game.""" start="00:09:43.520" video="mainVideo-solo" id="subtitle"]]
@@ -231,9 +210,7 @@
[[!template text="""with lots of choices and almost no way of finding them?""" start="00:10:13.320" video="mainVideo-solo" id="subtitle"]]
[[!template text="""Yeah, that sounds like it fits pretty well.""" start="00:10:16.600" video="mainVideo-solo" id="subtitle"]]
-[[!template new="1" text="""A strong success""" start="00:10:19.680" video="mainVideo-solo" id="subtitle"]]
-
-[[!template text="""Time for another move. This time, we're going to""" start="00:10:19.680" video="mainVideo-solo" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""A strong success""" start="00:10:19.680" video="mainVideo-solo" id="subtitle"]]</div>[[!template text="""Time for another move. This time, we're going to""" start="00:10:19.680" video="mainVideo-solo" id="subtitle"]]
[[!template text="""gather information,""" start="00:10:26.960" video="mainVideo-solo" id="subtitle"]]
[[!template text="""see if we can figure out which way to go.""" start="00:10:28.800" video="mainVideo-solo" id="subtitle"]]
[[!template text="""A strong hit. Excellent.""" start="00:10:32.280" video="mainVideo-solo" id="subtitle"]]
@@ -262,9 +239,7 @@
[[!template text="""I think you get the gist of how I play""" start="00:11:42.400" video="mainVideo-solo" id="subtitle"]]
[[!template text="""this dice and pencil game in Org Mode.""" start="00:11:47.000" video="mainVideo-solo" id="subtitle"]]
-[[!template new="1" text="""Other solo RPGs""" start="00:11:49.680" video="mainVideo-solo" id="subtitle"]]
-
-[[!template text="""However, I found more solo RPGs to play.""" start="00:11:49.680" video="mainVideo-solo" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Other solo RPGs""" start="00:11:49.680" video="mainVideo-solo" id="subtitle"]]</div>[[!template text="""However, I found more solo RPGs to play.""" start="00:11:49.680" video="mainVideo-solo" id="subtitle"]]
[[!template text="""And of course, I want to render them in Emacs too.""" start="00:11:54.040" video="mainVideo-solo" id="subtitle"]]
[[!template text="""This code for Ironsworn was a bit too specific,""" start="00:11:57.320" video="mainVideo-solo" id="subtitle"]]
[[!template text="""so I decided to create a role-playing game toolkit.""" start="00:12:00.800" video="mainVideo-solo" id="subtitle"]]
@@ -286,9 +261,7 @@
[[!template text="""the character sheet attributes as Org properties,""" start="00:12:55.960" video="mainVideo-solo" id="subtitle"]]
[[!template text="""so if you're interested, check out the project at Codeberg.""" start="00:12:59.960" video="mainVideo-solo" id="subtitle"]]
-[[!template new="1" text="""Conclusion""" start="00:13:04.720" video="mainVideo-solo" id="subtitle"]]
-
-[[!template text="""The point of my presentation is not to show off Ironsworn,""" start="00:13:04.720" video="mainVideo-solo" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Conclusion""" start="00:13:04.720" video="mainVideo-solo" id="subtitle"]]</div>[[!template text="""The point of my presentation is not to show off Ironsworn,""" start="00:13:04.720" video="mainVideo-solo" id="subtitle"]]
[[!template text="""how I programmed it, or even this new toolkit.""" start="00:13:10.360" video="mainVideo-solo" id="subtitle"]]
[[!template text="""You see, most engineers,""" start="00:13:14.080" video="mainVideo-solo" id="subtitle"]]
[[!template text="""when they get an idea for a game like mine,""" start="00:13:17.560" video="mainVideo-solo" id="subtitle"]]
@@ -313,12 +286,11 @@
[[!template text="""and craft yourself an enjoyable evening.""" start="00:14:21.600" video="mainVideo-solo" id="subtitle"]]
[[!template text="""Happy hacking, my friends.""" start="00:14:24.720" video="mainVideo-solo" id="subtitle"]]
-
+</div>
Captioner: sachac
-<a name="solo-qanda-transcript"></a>
-# Q&A transcript (unedited)
+<div class="transcript transcript-qanda"><a name="solo-qanda-transcript"></a><h1>Q&A transcript (unedited)</h1>
[[!template text="""[Speaker 0]: Right. Okay, so hi everyone.""" start="00:00:02.899" video="qanda-solo" id="subtitle"]]
[[!template text="""We are now live. Hi Howard,""" start="00:00:04.540" video="qanda-solo" id="subtitle"]]
@@ -755,7 +727,7 @@ Captioner: sachac
[[!template text="""And oh, I think he's already gone.""" start="00:19:13.940" video="qanda-solo" id="subtitle"]]
[[!template text="""So Bye everyone, I'll see you later.""" start="00:19:16.360" video="qanda-solo" id="subtitle"]]
-Questions or comments? Please e-mail [howard@howardabrams.com](mailto:howard@howardabrams.com?subject=Comment%20for%20EmacsConf%202023%20solo%3A%20How%20I%20play%20TTRPGs%20in%20Emacs)
+</div>Questions or comments? Please e-mail [howard@howardabrams.com](mailto:howard@howardabrams.com?subject=Comment%20for%20EmacsConf%202023%20solo%3A%20How%20I%20play%20TTRPGs%20in%20Emacs)
<!-- End of emacsconf-publish-after-page -->
diff --git a/2023/info/solo-before.md b/2023/info/solo-before.md
index 4151f8a3..749868c7 100644
--- a/2023/info/solo-before.md
+++ b/2023/info/solo-before.md
@@ -1,6 +1,6 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
[[!toc ]]
-Format: 15-min talk; Q&A: BigBlueButton conference room
+Format: 15-min talk ; Q&A: BigBlueButton conference room
Status: Q&A to be extracted from the room recordings
@@ -9,7 +9,7 @@ Status: Q&A to be extracted from the room recordings
# Talk
-<div class="vid"><video controls preload="none" id="solo-mainVideo"><source src="https://media.emacsconf.org/2023/emacsconf-2023-solo--how-i-play-ttrpgs-in-emacs--howard-abrams--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-solo--how-i-play-ttrpgs-in-emacs--howard-abrams--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2023/captions/emacsconf-2023-solo--how-i-play-ttrpgs-in-emacs--howard-abrams--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="solo-mainVideo" data="""
+<div class="vid mainVideo"><video controls preload="none" id="mainVideo-solo"><source src="https://media.emacsconf.org/2023/emacsconf-2023-solo--how-i-play-ttrpgs-in-emacs--howard-abrams--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-solo--how-i-play-ttrpgs-in-emacs--howard-abrams--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2023/captions/emacsconf-2023-solo--how-i-play-ttrpgs-in-emacs--howard-abrams--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-solo" data="""
00:00.000 Introduction
01:20.680 Solo RPGs
02:47.440 Demo
@@ -24,10 +24,10 @@ Status: Q&A to be extracted from the room recordings
11:49.680 Other solo RPGs
13:04.720 Conclusion
-"""]]<div></div>Duration: 14:36 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-solo--how-i-play-ttrpgs-in-emacs--howard-abrams--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-solo--how-i-play-ttrpgs-in-emacs--howard-abrams--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-solo--how-i-play-ttrpgs-in-emacs--howard-abrams--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-solo--how-i-play-ttrpgs-in-emacs--howard-abrams--main.opus">Download --main.opus (6.6MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-solo--how-i-play-ttrpgs-in-emacs--howard-abrams--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-solo--how-i-play-ttrpgs-in-emacs--howard-abrams--main.webm">Download --main.webm (52MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-solo--how-i-play-ttrpgs-in-emacs--howard-abrams--pad.html">Download --pad.html</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-solo--how-i-play-ttrpgs-in-emacs--howard-abrams--pad.md">Download --pad.md</a></li><li><a href="https://toobnix.org/w/oNkcCHdWCKXRv6KnUTAeEC">View on Toobnix</a></li></ul></div></div>
+"""]]<div></div>Duration: 14:36 minutes<div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2023-solo">Open Etherpad</a></li><li><a href="https://bbb.emacsverse.org/playback/presentation/2.0/playback.html?meetingId=3a97d7b5f5392e3ec9100ba7d39768cdd0855e50-1701541252606">Play recording from BigBlueButton</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-solo--how-i-play-ttrpgs-in-emacs--howard-abrams--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-solo--how-i-play-ttrpgs-in-emacs--howard-abrams--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-solo--how-i-play-ttrpgs-in-emacs--howard-abrams--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-solo--how-i-play-ttrpgs-in-emacs--howard-abrams--main.opus">Download --main.opus (6.6MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-solo--how-i-play-ttrpgs-in-emacs--howard-abrams--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-solo--how-i-play-ttrpgs-in-emacs--howard-abrams--main.webm">Download --main.webm (52MB)</a></li><li><a href="https://toobnix.org/w/oNkcCHdWCKXRv6KnUTAeEC">View on Toobnix</a></li><li><a href="https://www.youtube.com/watch?v=KUMkj9HWiEY">View on Youtube</a></li></ul></div></div>
# Q&A
-<div class="vid"><video controls preload="none" id="solo-qanda"><source src="https://media.emacsconf.org/2023/emacsconf-2023-solo--how-i-play-ttrpgs-in-emacs--howard-abrams--answers.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-solo--how-i-play-ttrpgs-in-emacs--howard-abrams--answers.vtt" default />"""<p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video><div>Listen to just the audio:<br /><audio controls preload="none" id="solo-qanda-audio" src="https://media.emacsconf.org/2023/emacsconf-2023-solo--how-i-play-ttrpgs-in-emacs--howard-abrams--answers.opus"></audio></div><div></div>Duration: 19:20 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-solo--how-i-play-ttrpgs-in-emacs--howard-abrams--answers.json">Download --answers.json</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-solo--how-i-play-ttrpgs-in-emacs--howard-abrams--answers.opus">Download --answers.opus (11MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-solo--how-i-play-ttrpgs-in-emacs--howard-abrams--answers.vtt">Download --answers.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-solo--how-i-play-ttrpgs-in-emacs--howard-abrams--answers.webm">Download --answers.webm (43MB)</a></li></ul></div></div>
+<div class="vid qanda"><video controls preload="none" id="qanda-solo"><source src="https://media.emacsconf.org/2023/emacsconf-2023-solo--how-i-play-ttrpgs-in-emacs--howard-abrams--answers.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-solo--how-i-play-ttrpgs-in-emacs--howard-abrams--answers.vtt" default />"""<p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video><div>Listen to just the audio:<br /><audio controls preload="none" id="qanda-solo-audio" src="https://media.emacsconf.org/2023/emacsconf-2023-solo--how-i-play-ttrpgs-in-emacs--howard-abrams--answers.opus"></audio></div><div></div>Duration: 19:20 minutes<div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2023-solo">Open Etherpad</a></li><li><a href="https://bbb.emacsverse.org/playback/presentation/2.0/playback.html?meetingId=3a97d7b5f5392e3ec9100ba7d39768cdd0855e50-1701541252606">Play recording from BigBlueButton</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-solo--how-i-play-ttrpgs-in-emacs--howard-abrams--answers.json">Download --answers.json</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-solo--how-i-play-ttrpgs-in-emacs--howard-abrams--answers.opus">Download --answers.opus (11MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-solo--how-i-play-ttrpgs-in-emacs--howard-abrams--answers.vtt">Download --answers.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-solo--how-i-play-ttrpgs-in-emacs--howard-abrams--answers.webm">Download --answers.webm (43MB)</a></li></ul></div></div>
# Description
<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2023/info/solo-nav.md b/2023/info/solo-nav.md
index 741f4f35..4ffc815d 100644
--- a/2023/info/solo-nav.md
+++ b/2023/info/solo-nav.md
@@ -3,5 +3,5 @@
Back to the [[talks]]
Previous by track: <a href="/2023/talks/collab">Collaborative data processing and documenting using org-babel</a>
Next by track: <a href="/2023/talks/ref">Org-Mode workflow: informal reference tracking</a>
-Track: <span class="sched-track General">General</span>
+Track: <span class="sched-track General">General</span> - <strong><a href="https://emacsconf.org/2023/watch/gen">Watch</a></strong>
</div>
diff --git a/2023/info/steno-after.md b/2023/info/steno-after.md
index 486a8207..53e7022c 100644
--- a/2023/info/steno-after.md
+++ b/2023/info/steno-after.md
@@ -1,8 +1,7 @@
<!-- Automatically generated by emacsconf-publish-after-page -->
-<a name="steno-mainVideo-transcript"></a>
-# Transcript
+<div class="transcript transcript-mainVideo"><a name="steno-mainVideo-transcript"></a><h1>Transcript</h1>
[[!template text="""Stenotypy is a system of typing""" start="00:00:00.660" video="mainVideo-steno" id="subtitle"]]
[[!template text="""where you press multiple keys at the same time,""" start="00:00:03.840" video="mainVideo-steno" id="subtitle"]]
@@ -349,7 +348,7 @@
[[!template text="""I'm not really worried about too many things, just""" start="00:24:50.760" video="mainVideo-steno" id="subtitle"]]
[[!template text="""the file name, the mode I'm in, and where I am in the file.""" start="00:24:55.461" video="mainVideo-steno" id="subtitle"]]
-
+</div>
Captioner: daniel
diff --git a/2023/info/steno-before.md b/2023/info/steno-before.md
index 4eced50a..ef51fa66 100644
--- a/2023/info/steno-before.md
+++ b/2023/info/steno-before.md
@@ -1,12 +1,12 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
[[!toc ]]
-Format: 26-min talk; Q&A: ask questions via Etherpad/IRC; we'll e-mail the speaker and post answers on this wiki page after the conference
+Format: 26-min talk ; Q&A: ask questions via Etherpad/IRC; we'll e-mail the speaker and post answers on this wiki page after the conference
Status: All done
-<div class="vid"><video controls preload="none" id="steno-mainVideo"><source src="https://media.emacsconf.org/2023/emacsconf-2023-steno--programming-with-steno--daniel-alejandro-tapia--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-steno--programming-with-steno--daniel-alejandro-tapia--main.vtt" default />"""<p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video><div></div>Duration: 25:03 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-steno--programming-with-steno--daniel-alejandro-tapia--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-steno--programming-with-steno--daniel-alejandro-tapia--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-steno--programming-with-steno--daniel-alejandro-tapia--main.opus">Download --main.opus (13MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-steno--programming-with-steno--daniel-alejandro-tapia--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-steno--programming-with-steno--daniel-alejandro-tapia--main.webm">Download --main.webm (66MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-steno--programming-with-steno--daniel-alejandro-tapia--pad.html">Download --pad.html</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-steno--programming-with-steno--daniel-alejandro-tapia--pad.md">Download --pad.md</a></li><li><a href="https://toobnix.org/w/1xodScC6DPkfbnqG5FmbB3">View on Toobnix</a></li></ul></div></div>
+<div class="vid mainVideo"><video controls preload="none" id="mainVideo-steno"><source src="https://media.emacsconf.org/2023/emacsconf-2023-steno--programming-with-steno--daniel-alejandro-tapia--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-steno--programming-with-steno--daniel-alejandro-tapia--main.vtt" default />"""<p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video><div></div>Duration: 25:03 minutes<div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2023-steno">Open Etherpad</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-steno--programming-with-steno--daniel-alejandro-tapia--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-steno--programming-with-steno--daniel-alejandro-tapia--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-steno--programming-with-steno--daniel-alejandro-tapia--main.opus">Download --main.opus (13MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-steno--programming-with-steno--daniel-alejandro-tapia--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-steno--programming-with-steno--daniel-alejandro-tapia--main.webm">Download --main.webm (66MB)</a></li><li><a href="https://toobnix.org/w/1xodScC6DPkfbnqG5FmbB3">View on Toobnix</a></li><li><a href="https://www.youtube.com/watch?v=McHurKmk-rQ">View on Youtube</a></li></ul></div></div>
# Description
<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2023/info/steno-nav.md b/2023/info/steno-nav.md
index 27ac4e5d..6f369a19 100644
--- a/2023/info/steno-nav.md
+++ b/2023/info/steno-nav.md
@@ -3,5 +3,5 @@
Back to the [[talks]]
Previous by track: <a href="/2023/talks/emms">Emacs MultiMedia System (EMMS)</a>
Next by track: <a href="/2023/talks/mentor">Mentoring VS-Coders as an Emacsian (or How to show not tell people about the wonders of Emacs)</a>
-Track: <span class="sched-track General">General</span>
+Track: <span class="sched-track General">General</span> - <strong><a href="https://emacsconf.org/2023/watch/gen">Watch</a></strong>
</div>
diff --git a/2023/info/sun-close-before.md b/2023/info/sun-close-before.md
index 6f7c587b..311ec7b2 100644
--- a/2023/info/sun-close-before.md
+++ b/2023/info/sun-close-before.md
@@ -1,12 +1,12 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
[[!toc ]]
-Format: 121-min talk; Q&A: BigBlueButton conference room
+Format: 121-min talk ; Q&A: BigBlueButton conference room
Status: Q&A to be extracted from the room recordings
-<div class="vid"><video controls preload="none" id="sun-close-mainVideo"><source src="https://media.emacsconf.org/2023/emacsconf-2023-sun-close--sunday-closing-remarks--main.webm" /><p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video><div></div>Duration: 2:00:43 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-sun-close--sunday-closing-remarks--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-sun-close--sunday-closing-remarks--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-sun-close--sunday-closing-remarks--main.opus">Download --main.opus (71MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-sun-close--sunday-closing-remarks--main.webm">Download --main.webm (279MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-sun-close--sunday-closing-remarks--pad.html">Download --pad.html</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-sun-close--sunday-closing-remarks--pad.md">Download --pad.md</a></li><li><a href="https://toobnix.org/w/p/nMXCCJ25wxKUtbuQiwkakA">View on Toobnix</a></li></ul></div></div>
+<div class="vid mainVideo"><video controls preload="none" id="mainVideo-sun-close"><source src="https://media.emacsconf.org/2023/emacsconf-2023-sun-close--sunday-closing-remarks--main.webm" /><p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video><div></div>Duration: 2:00:43 minutes<div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2023-sun-close">Open Etherpad</a></li><li><a href="https://bbb.emacsverse.org/playback/presentation/2.0/playback.html?meetingId=5f07e2b967f71ad503ac367ea43866abeaad63b6-1701636099684">Play recording from BigBlueButton</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-sun-close--sunday-closing-remarks--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-sun-close--sunday-closing-remarks--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-sun-close--sunday-closing-remarks--main.opus">Download --main.opus (71MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-sun-close--sunday-closing-remarks--main.webm">Download --main.webm (279MB)</a></li><li><a href="https://toobnix.org/w/p/nMXCCJ25wxKUtbuQiwkakA">View on Toobnix</a></li><li><a href="https://www.youtube.com/watch?v=qqvelKB5v0c">View on Youtube</a></li></ul></div></div>
# Description
<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2023/info/sun-close-nav.md b/2023/info/sun-close-nav.md
index 92d58f1d..866eca7f 100644
--- a/2023/info/sun-close-nav.md
+++ b/2023/info/sun-close-nav.md
@@ -2,5 +2,5 @@
<div class="talk-nav">
Back to the [[talks]]
Previous by track: <a href="/2023/talks/sun-open">Sunday opening remarks</a>
-Track: <span class="sched-track General">General</span>
+Track: <span class="sched-track General">General</span> - <strong><a href="https://emacsconf.org/2023/watch/gen">Watch</a></strong>
</div>
diff --git a/2023/info/sun-open-after.md b/2023/info/sun-open-after.md
index 66d2e6fb..d07dee3f 100644
--- a/2023/info/sun-open-after.md
+++ b/2023/info/sun-open-after.md
@@ -1,8 +1,7 @@
<!-- Automatically generated by emacsconf-publish-after-page -->
-<a name="sun-open-mainVideo-transcript"></a>
-# Transcript
+<div class="transcript transcript-mainVideo"><a name="sun-open-mainVideo-transcript"></a><h1>Transcript</h1>
[[!template text="""Welcome to the second day of EmacsConf 2023.""" start="00:00:00.000" video="mainVideo-sun-open" id="subtitle"]]
[[!template text="""There's a General track and a Development track,""" start="00:00:04.520" video="mainVideo-sun-open" id="subtitle"]]
@@ -123,7 +122,7 @@
[[!template text="""who make EmacsConf even possible.""" start="00:05:11.550" video="mainVideo-sun-open" id="subtitle"]]
[[!template text="""Thanks for coming to EmacsConf 2023.""" start="00:05:14.589" video="mainVideo-sun-open" id="subtitle"]]
-Questions or comments? Please e-mail [emacsconf-org-private@gnu.org](mailto:emacsconf-org-private@gnu.org?subject=Comment%20for%20EmacsConf%202023%20sun-open%3A%20Sunday%20opening%20remarks)
+</div>Questions or comments? Please e-mail [emacsconf-org-private@gnu.org](mailto:emacsconf-org-private@gnu.org?subject=Comment%20for%20EmacsConf%202023%20sun-open%3A%20Sunday%20opening%20remarks)
<!-- End of emacsconf-publish-after-page -->
diff --git a/2023/info/sun-open-before.md b/2023/info/sun-open-before.md
index 4c6c13d5..70f38dc1 100644
--- a/2023/info/sun-open-before.md
+++ b/2023/info/sun-open-before.md
@@ -1,12 +1,12 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
[[!toc ]]
-Format: 6-min talk; Q&A: ask questions via Etherpad/IRC; we'll e-mail the speaker and post answers on this wiki page after the conference
+Format: 6-min talk ; Q&A: ask questions via Etherpad/IRC; we'll e-mail the speaker and post answers on this wiki page after the conference
Status: All done
-<div class="vid"><video controls preload="none" id="sun-open-mainVideo"><source src="https://media.emacsconf.org/2023/emacsconf-2023-sun-open--sunday-opening-remarks--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-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: 05:17 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-sun-open--sunday-opening-remarks--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-sun-open--sunday-opening-remarks--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-sun-open--sunday-opening-remarks--main.opus">Download --main.opus (2.5MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-sun-open--sunday-opening-remarks--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-sun-open--sunday-opening-remarks--main.webm">Download --main.webm (12MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-sun-open--sunday-opening-remarks--pad.html">Download --pad.html</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-sun-open--sunday-opening-remarks--pad.md">Download --pad.md</a></li><li><a href="https://toobnix.org/w/9zjMPEZz1nYokiY7rk4wYv">View on Toobnix</a></li></ul></div></div>
+<div class="vid mainVideo"><video controls preload="none" id="mainVideo-sun-open"><source src="https://media.emacsconf.org/2023/emacsconf-2023-sun-open--sunday-opening-remarks--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-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: 05:17 minutes<div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2023-sun-open">Open Etherpad</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-sun-open--sunday-opening-remarks--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-sun-open--sunday-opening-remarks--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-sun-open--sunday-opening-remarks--main.opus">Download --main.opus (2.5MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-sun-open--sunday-opening-remarks--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-sun-open--sunday-opening-remarks--main.webm">Download --main.webm (12MB)</a></li><li><a href="https://toobnix.org/w/9zjMPEZz1nYokiY7rk4wYv">View on Toobnix</a></li><li><a href="https://www.youtube.com/watch?v=B3NKI5Mviq8">View on Youtube</a></li></ul></div></div>
# Description
<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2023/info/sun-open-nav.md b/2023/info/sun-open-nav.md
index f84ed342..35ea2f41 100644
--- a/2023/info/sun-open-nav.md
+++ b/2023/info/sun-open-nav.md
@@ -3,5 +3,5 @@
Back to the [[talks]]
Previous by track: <a href="/2023/talks/sat-close">Saturday closing remarks</a>
Next by track: <a href="/2023/talks/sun-close">Sunday closing remarks</a>
-Track: <span class="sched-track General">General</span>
+Track: <span class="sched-track General">General</span> - <strong><a href="https://emacsconf.org/2023/watch/gen">Watch</a></strong>
</div>
diff --git a/2023/info/table-after.md b/2023/info/table-after.md
index a0027610..7b45f22e 100644
--- a/2023/info/table-after.md
+++ b/2023/info/table-after.md
@@ -1,13 +1,10 @@
<!-- Automatically generated by emacsconf-publish-after-page -->
-<a name="table-mainVideo-transcript"></a>
-# Transcript
+<div class="transcript transcript-mainVideo"><a name="table-mainVideo-transcript"></a><h1>Transcript</h1>
-[[!template new="1" text="""Introduction""" start="00:00:01.360" video="mainVideo-table" id="subtitle"]]
-
-[[!template text="""Welcome everybody. My name is Daniel Molina""" start="00:00:01.360" video="mainVideo-table" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Introduction""" start="00:00:01.360" video="mainVideo-table" id="subtitle"]]</div>[[!template text="""Welcome everybody. My name is Daniel Molina""" start="00:00:01.360" video="mainVideo-table" id="subtitle"]]
[[!template text="""and I'm going to give this talk""" start="00:00:03.080" video="mainVideo-table" id="subtitle"]]
[[!template text="""&quot;Who needs Excel? Managing your students' qualifications""" start="00:00:05.061" video="mainVideo-table" id="subtitle"]]
[[!template text="""with Org-table&quot;.""" start="00:00:08.064" video="mainVideo-table" id="subtitle"]]
@@ -44,9 +41,7 @@
[[!template text="""Anyway, it could be used not only for teaching""" start="00:01:36.640" video="mainVideo-table" id="subtitle"]]
[[!template text="""but for more contexts.""" start="00:01:39.960" video="mainVideo-table" id="subtitle"]]
-[[!template new="1" text="""Demonstration""" start="00:01:41.960" video="mainVideo-table" id="subtitle"]]
-
-[[!template text="""Well, let's start.""" start="00:01:41.960" video="mainVideo-table" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Demonstration""" start="00:01:41.960" video="mainVideo-table" id="subtitle"]]</div>[[!template text="""Well, let's start.""" start="00:01:41.960" video="mainVideo-table" id="subtitle"]]
[[!template text="""First, I have two sections,""" start="00:01:44.800" video="mainVideo-table" id="subtitle"]]
[[!template text="""the comments and the section of the table, or results.""" start="00:01:46.460" video="mainVideo-table" id="subtitle"]]
[[!template text="""I have... The comment for each student""" start="00:01:53.400" video="mainVideo-table" id="subtitle"]]
@@ -67,9 +62,7 @@
[[!template text="""and use a column total with something like that.""" start="00:02:55.680" video="mainVideo-table" id="subtitle"]]
[[!template text="""Okay, that's nice.""" start="00:03:06.680" video="mainVideo-table" id="subtitle"]]
-[[!template new="1" text="""Range""" start="00:03:08.320" video="mainVideo-table" id="subtitle"]]
-
-[[!template text="""But then, when I started getting more and more parts,""" start="00:03:08.320" video="mainVideo-table" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Range""" start="00:03:08.320" video="mainVideo-table" id="subtitle"]]</div>[[!template text="""But then, when I started getting more and more parts,""" start="00:03:08.320" video="mainVideo-table" id="subtitle"]]
[[!template text="""I considered it more useful to use,""" start="00:03:11.640" video="mainVideo-table" id="subtitle"]]
[[!template text="""to put for each part,""" start="00:03:17.082" video="mainVideo-table" id="subtitle"]]
[[!template text="""which is the maximum qualification,""" start="00:03:20.700" video="mainVideo-table" id="subtitle"]]
@@ -86,9 +79,7 @@
[[!template text="""multiply the values of the second line with that.""" start="00:03:56.480" video="mainVideo-table" id="subtitle"]]
[[!template text="""So, it's very useful for doing that.""" start="00:04:08.300" video="mainVideo-table" id="subtitle"]]
-[[!template new="1" text="""More qualifications""" start="00:04:11.900" video="mainVideo-table" id="subtitle"]]
-
-[[!template text="""Okay, that's the first part, so I can put the comment,""" start="00:04:11.900" video="mainVideo-table" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""More qualifications""" start="00:04:11.900" video="mainVideo-table" id="subtitle"]]</div>[[!template text="""Okay, that's the first part, so I can put the comment,""" start="00:04:11.900" video="mainVideo-table" id="subtitle"]]
[[!template text="""I can go to the section, I can create...""" start="00:04:16.640" video="mainVideo-table" id="subtitle"]]
[[!template text="""I'm going to put more qualifications.""" start="00:04:19.960" video="mainVideo-table" id="subtitle"]]
[[!template text="""Now I'm going to put the table.""" start="00:04:24.920" video="mainVideo-table" id="subtitle"]]
@@ -109,9 +100,7 @@
[[!template text="""Okay?""" start="00:05:29.560" video="mainVideo-table" id="subtitle"]]
[[!template text="""That is a good option.""" start="00:05:32.100" video="mainVideo-table" id="subtitle"]]
-[[!template new="1" text="""Subsets""" start="00:05:34.240" video="mainVideo-table" id="subtitle"]]
-
-[[!template text="""Now we are going to see how can we use that""" start="00:05:34.240" video="mainVideo-table" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Subsets""" start="00:05:34.240" video="mainVideo-table" id="subtitle"]]</div>[[!template text="""Now we are going to see how can we use that""" start="00:05:34.240" video="mainVideo-table" id="subtitle"]]
[[!template text="""to make a subset of the students.""" start="00:05:38.500" video="mainVideo-table" id="subtitle"]]
[[!template text="""For instance, imagine, this is me,""" start="00:05:44.360" video="mainVideo-table" id="subtitle"]]
[[!template text="""I'm going to put the bad, I change, now I can update,""" start="00:05:47.840" video="mainVideo-table" id="subtitle"]]
@@ -127,9 +116,7 @@
[[!template text="""I could use that to make another table,""" start="00:06:48.840" video="mainVideo-table" id="subtitle"]]
[[!template text="""this is the people that passed the exam.""" start="00:06:54.080" video="mainVideo-table" id="subtitle"]]
-[[!template new="1" text="""Sorting""" start="00:07:08.300" video="mainVideo-table" id="subtitle"]]
-
-[[!template text="""Another interesting feature is that""" start="00:07:08.300" video="mainVideo-table" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Sorting""" start="00:07:08.300" video="mainVideo-table" id="subtitle"]]</div>[[!template text="""Another interesting feature is that""" start="00:07:08.300" video="mainVideo-table" id="subtitle"]]
[[!template text="""I can... the lesson table can be sorted automatically.""" start="00:07:10.981" video="mainVideo-table" id="subtitle"]]
[[!template text="""It's simple. You only have to put this symbol (`^`),""" start="00:07:15.621" video="mainVideo-table" id="subtitle"]]
[[!template text="""and you can put next to the column you want""" start="00:07:20.101" video="mainVideo-table" id="subtitle"]]
@@ -143,9 +130,7 @@
[[!template text="""And this sort is completely independent""" start="00:07:46.640" video="mainVideo-table" id="subtitle"]]
[[!template text="""to the sort of the original table.""" start="00:07:48.961" video="mainVideo-table" id="subtitle"]]
-[[!template new="1" text="""New table""" start="00:07:51.641" video="mainVideo-table" id="subtitle"]]
-
-[[!template text="""Now I'm going to do another different thing,""" start="00:07:51.641" video="mainVideo-table" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""New table""" start="00:07:51.641" video="mainVideo-table" id="subtitle"]]</div>[[!template text="""Now I'm going to do another different thing,""" start="00:07:51.641" video="mainVideo-table" id="subtitle"]]
[[!template text="""we are going to put a new table,""" start="00:07:54.521" video="mainVideo-table" id="subtitle"]]
[[!template text="""I'm going to put a new table""" start="00:08:02.800" video="mainVideo-table" id="subtitle"]]
[[!template text="""in which I'm going to put""" start="00:08:07.560" video="mainVideo-table" id="subtitle"]]
@@ -175,9 +160,7 @@
[[!template text="""the students that failed""" start="00:09:57.520" video="mainVideo-table" id="subtitle"]]
[[!template text="""and the ratio of people that passed.""" start="00:09:58.560" video="mainVideo-table" id="subtitle"]]
-[[!template new="1" text="""Statistics""" start="00:10:01.280" video="mainVideo-table" id="subtitle"]]
-
-[[!template text="""Sometimes this type of qualification will be useful for me,""" start="00:10:01.280" video="mainVideo-table" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Statistics""" start="00:10:01.280" video="mainVideo-table" id="subtitle"]]</div>[[!template text="""Sometimes this type of qualification will be useful for me,""" start="00:10:01.280" video="mainVideo-table" id="subtitle"]]
[[!template text="""to see how much has been the sound,""" start="00:10:04.820" video="mainVideo-table" id="subtitle"]]
[[!template text="""how much good has been the exercise.""" start="00:10:08.080" video="mainVideo-table" id="subtitle"]]
[[!template text="""Now, I'm going to put a new table.""" start="00:10:12.240" video="mainVideo-table" id="subtitle"]]
@@ -198,9 +181,7 @@
[[!template text="""and two decimal,""" start="00:12:08.960" video="mainVideo-table" id="subtitle"]]
[[!template text="""and that is another interesting score.""" start="00:12:12.640" video="mainVideo-table" id="subtitle"]]
-[[!template new="1" text="""Combining""" start="00:12:17.800" video="mainVideo-table" id="subtitle"]]
-
-[[!template text="""Now, I'm going to finish showing how we can use.""" start="00:12:17.800" video="mainVideo-table" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Combining""" start="00:12:17.800" video="mainVideo-table" id="subtitle"]]</div>[[!template text="""Now, I'm going to finish showing how we can use.""" start="00:12:17.800" video="mainVideo-table" id="subtitle"]]
[[!template text="""To finish it, we are going to see""" start="00:12:23.240" video="mainVideo-table" id="subtitle"]]
[[!template text="""how we can combine several tables""" start="00:12:25.840" video="mainVideo-table" id="subtitle"]]
[[!template text="""or even an aggregated table in a new table.""" start="00:12:28.300" video="mainVideo-table" id="subtitle"]]
@@ -242,7 +223,7 @@
[[!template text="""to improve your qualification of a student,""" start="00:15:42.280" video="mainVideo-table" id="subtitle"]]
[[!template text="""or for whatever you want.""" start="00:15:45.600" video="mainVideo-table" id="subtitle"]]
-
+</div>
Captioner: danielmolina
diff --git a/2023/info/table-before.md b/2023/info/table-before.md
index 9e58529f..3a26bf63 100644
--- a/2023/info/table-before.md
+++ b/2023/info/table-before.md
@@ -1,12 +1,12 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
[[!toc ]]
-Format: 16-min talk; Q&A: ask questions via Etherpad/IRC; we'll e-mail the speaker and post answers on this wiki page after the conference
+Format: 16-min talk ; Q&A: ask questions via Etherpad/IRC; we'll e-mail the speaker and post answers on this wiki page after the conference
Status: All done
-<div class="vid"><video controls preload="none" id="table-mainVideo"><source src="https://media.emacsconf.org/2023/emacsconf-2023-table--who-needs-excel-managing-your-students-qualifications-with-orgtable--daniel-molina--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-table--who-needs-excel-managing-your-students-qualifications-with-orgtable--daniel-molina--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:51 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-table--who-needs-excel-managing-your-students-qualifications-with-orgtable--daniel-molina--alternative.mp4">Download --alternative.mp4 (126MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-table--who-needs-excel-managing-your-students-qualifications-with-orgtable--daniel-molina--alternative.webm">Download --alternative.webm (45MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-table--who-needs-excel-managing-your-students-qualifications-with-orgtable--daniel-molina--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-table--who-needs-excel-managing-your-students-qualifications-with-orgtable--daniel-molina--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-table--who-needs-excel-managing-your-students-qualifications-with-orgtable--daniel-molina--main.opus">Download --main.opus (11MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-table--who-needs-excel-managing-your-students-qualifications-with-orgtable--daniel-molina--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-table--who-needs-excel-managing-your-students-qualifications-with-orgtable--daniel-molina--main.webm">Download --main.webm (45MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-table--who-needs-excel-managing-your-students-qualifications-with-orgtable--daniel-molina--pad.html">Download --pad.html</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-table--who-needs-excel-managing-your-students-qualifications-with-orgtable--daniel-molina--pad.md">Download --pad.md</a></li><li><a href="https://toobnix.org/w/p8K8mtayv2HYtw1gK3zUwR">View on Toobnix</a></li></ul></div></div>
+<div class="vid mainVideo"><video controls preload="none" id="mainVideo-table"><source src="https://media.emacsconf.org/2023/emacsconf-2023-table--who-needs-excel-managing-your-students-qualifications-with-orgtable--daniel-molina--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-table--who-needs-excel-managing-your-students-qualifications-with-orgtable--daniel-molina--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:51 minutes<div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2023-table">Open Etherpad</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-table--who-needs-excel-managing-your-students-qualifications-with-orgtable--daniel-molina--alternative.mp4">Download --alternative.mp4 (126MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-table--who-needs-excel-managing-your-students-qualifications-with-orgtable--daniel-molina--alternative.webm">Download --alternative.webm (45MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-table--who-needs-excel-managing-your-students-qualifications-with-orgtable--daniel-molina--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-table--who-needs-excel-managing-your-students-qualifications-with-orgtable--daniel-molina--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-table--who-needs-excel-managing-your-students-qualifications-with-orgtable--daniel-molina--main.opus">Download --main.opus (11MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-table--who-needs-excel-managing-your-students-qualifications-with-orgtable--daniel-molina--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-table--who-needs-excel-managing-your-students-qualifications-with-orgtable--daniel-molina--main.webm">Download --main.webm (45MB)</a></li><li><a href="https://toobnix.org/w/p8K8mtayv2HYtw1gK3zUwR">View on Toobnix</a></li><li><a href="https://www.youtube.com/watch?v=UzDqOrFGWbw">View on Youtube</a></li></ul></div></div>
# Description
<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2023/info/table-nav.md b/2023/info/table-nav.md
index 625ecd74..f825c777 100644
--- a/2023/info/table-nav.md
+++ b/2023/info/table-nav.md
@@ -3,5 +3,5 @@
Back to the [[talks]]
Previous by track: <a href="/2023/talks/teaching">Teaching computer and data science with literate programming tools</a>
Next by track: <a href="/2023/talks/one">one.el: the static site generator for Emacs Lisp Programmers</a>
-Track: <span class="sched-track General">General</span>
+Track: <span class="sched-track General">General</span> - <strong><a href="https://emacsconf.org/2023/watch/gen">Watch</a></strong>
</div>
diff --git a/2023/info/teaching-after.md b/2023/info/teaching-after.md
index 6846d4d7..1e1bf481 100644
--- a/2023/info/teaching-after.md
+++ b/2023/info/teaching-after.md
@@ -1,13 +1,10 @@
<!-- Automatically generated by emacsconf-publish-after-page -->
-<a name="teaching-mainVideo-transcript"></a>
-# Transcript
+<div class="transcript transcript-mainVideo"><a name="teaching-mainVideo-transcript"></a><h1>Transcript</h1>
-[[!template new="1" text="""Introduction""" start="00:00:00.000" video="mainVideo-teaching" id="subtitle"]]
-
-[[!template text="""Welcome to my talk, which is pre-recorded,""" start="00:00:00.000" video="mainVideo-teaching" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Introduction""" start="00:00:00.000" video="mainVideo-teaching" id="subtitle"]]</div>[[!template text="""Welcome to my talk, which is pre-recorded,""" start="00:00:00.000" video="mainVideo-teaching" id="subtitle"]]
[[!template text="""so please don't blame me if I come across""" start="00:00:04.520" video="mainVideo-teaching" id="subtitle"]]
[[!template text="""as wooden and humorless.""" start="00:00:06.960" video="mainVideo-teaching" id="subtitle"]]
[[!template text="""It's hard to work up any emotion""" start="00:00:08.600" video="mainVideo-teaching" id="subtitle"]]
@@ -28,9 +25,7 @@
[[!template text="""You had a good look at me.""" start="00:00:48.200" video="mainVideo-teaching" id="subtitle"]]
[[!template text="""I think that's just going to be in the way.""" start="00:00:49.560" video="mainVideo-teaching" id="subtitle"]]
-[[!template new="1" text="""My interest in this topic""" start="00:00:54.160" video="mainVideo-teaching" id="subtitle"]]
-
-[[!template text="""So my interest in this topic began with""" start="00:00:54.160" video="mainVideo-teaching" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""My interest in this topic""" start="00:00:54.160" video="mainVideo-teaching" id="subtitle"]]</div>[[!template text="""So my interest in this topic began with""" start="00:00:54.160" video="mainVideo-teaching" id="subtitle"]]
[[!template text="""an Emacs talk given by Daniel German""" start="00:00:57.280" video="mainVideo-teaching" id="subtitle"]]
[[!template text="""from the University of Victoria in Canada in 2021.""" start="00:00:59.280" video="mainVideo-teaching" id="subtitle"]]
[[!template text="""Daniel demonstrated in detail""" start="00:01:04.120" video="mainVideo-teaching" id="subtitle"]]
@@ -57,9 +52,7 @@
[[!template text="""Please also use the Q&A to inquire about such details""" start="00:02:00.120" video="mainVideo-teaching" id="subtitle"]]
[[!template text="""if they interest you.""" start="00:02:05.000" video="mainVideo-teaching" id="subtitle"]]
-[[!template new="1" text="""What is data science?""" start="00:02:08.040" video="mainVideo-teaching" id="subtitle"]]
-
-[[!template text="""I probably don't have to explain what computer science is,""" start="00:02:08.040" video="mainVideo-teaching" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""What is data science?""" start="00:02:08.040" video="mainVideo-teaching" id="subtitle"]]</div>[[!template text="""I probably don't have to explain what computer science is,""" start="00:02:08.040" video="mainVideo-teaching" id="subtitle"]]
[[!template text="""but not everyone may know what data science does.""" start="00:02:12.800" video="mainVideo-teaching" id="subtitle"]]
[[!template text="""I teach courses in both disciplines""" start="00:02:16.360" video="mainVideo-teaching" id="subtitle"]]
[[!template text="""and the boundaries between them are blurred,""" start="00:02:18.240" video="mainVideo-teaching" id="subtitle"]]
@@ -92,9 +85,7 @@
[[!template text="""And now we train--or try to train--data scientists""" start="00:03:42.000" video="mainVideo-teaching" id="subtitle"]]
[[!template text="""in undergraduate programs as well.""" start="00:03:45.600" video="mainVideo-teaching" id="subtitle"]]
-[[!template new="1" text="""Computer science is a craft""" start="00:03:47.640" video="mainVideo-teaching" id="subtitle"]]
-
-[[!template text="""Now, what I'm saying here, I think is true""" start="00:03:47.640" video="mainVideo-teaching" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Computer science is a craft""" start="00:03:47.640" video="mainVideo-teaching" id="subtitle"]]</div>[[!template text="""Now, what I'm saying here, I think is true""" start="00:03:47.640" video="mainVideo-teaching" id="subtitle"]]
[[!template text="""for all areas of computing,""" start="00:03:52.400" video="mainVideo-teaching" id="subtitle"]]
[[!template text="""from software engineering to data science.""" start="00:03:54.200" video="mainVideo-teaching" id="subtitle"]]
[[!template text="""They are mostly taught and learned like a craft""" start="00:03:56.960" video="mainVideo-teaching" id="subtitle"]]
@@ -119,9 +110,7 @@
[[!template text="""In this field, radical innovation is the rule,""" start="00:04:48.720" video="mainVideo-teaching" id="subtitle"]]
[[!template text="""not the exception.""" start="00:04:51.520" video="mainVideo-teaching" id="subtitle"]]
-[[!template new="1" text="""The problem""" start="00:04:52.840" video="mainVideo-teaching" id="subtitle"]]
-
-[[!template text="""The problem that I identified is that students,""" start="00:04:52.840" video="mainVideo-teaching" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""The problem""" start="00:04:52.840" video="mainVideo-teaching" id="subtitle"]]</div>[[!template text="""The problem that I identified is that students,""" start="00:04:52.840" video="mainVideo-teaching" id="subtitle"]]
[[!template text="""especially undergraduate students""" start="00:04:58.680" video="mainVideo-teaching" id="subtitle"]]
[[!template text="""in computer and data science,""" start="00:05:00.800" video="mainVideo-teaching" id="subtitle"]]
[[!template text="""often do no longer understand the infrastructure.""" start="00:05:02.400" video="mainVideo-teaching" id="subtitle"]]
@@ -137,9 +126,7 @@
[[!template text="""have all the power--though passively,""" start="00:05:31.840" video="mainVideo-teaching" id="subtitle"]]
[[!template text="""of course, for now anyway.""" start="00:05:35.080" video="mainVideo-teaching" id="subtitle"]]
-[[!template new="1" text="""The solution: Emacs + Org-mode""" start="00:05:36.560" video="mainVideo-teaching" id="subtitle"]]
-
-[[!template text="""Enter Emacs, the self-extensible operating system""" start="00:05:36.560" video="mainVideo-teaching" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""The solution: Emacs + Org-mode""" start="00:05:36.560" video="mainVideo-teaching" id="subtitle"]]</div>[[!template text="""Enter Emacs, the self-extensible operating system""" start="00:05:36.560" video="mainVideo-teaching" id="subtitle"]]
[[!template text="""disguised as a text editor.""" start="00:05:43.680" video="mainVideo-teaching" id="subtitle"]]
[[!template text="""You're at EmacsConf, so of course I don't have to tell you""" start="00:05:46.000" video="mainVideo-teaching" id="subtitle"]]
[[!template text="""what Emacs can do.""" start="00:05:51.000" video="mainVideo-teaching" id="subtitle"]]
@@ -156,9 +143,7 @@
[[!template text="""but the results have made me even more optimistic""" start="00:06:19.680" video="mainVideo-teaching" id="subtitle"]]
[[!template text="""than I already am by nature.""" start="00:06:22.400" video="mainVideo-teaching" id="subtitle"]]
-[[!template new="1" text="""Emacs configuration file""" start="00:06:24.120" video="mainVideo-teaching" id="subtitle"]]
-
-[[!template text="""So to rein in your expectations,""" start="00:06:24.120" video="mainVideo-teaching" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Emacs configuration file""" start="00:06:24.120" video="mainVideo-teaching" id="subtitle"]]</div>[[!template text="""So to rein in your expectations,""" start="00:06:24.120" video="mainVideo-teaching" id="subtitle"]]
[[!template text="""you cannot do entirely without""" start="00:06:28.840" video="mainVideo-teaching" id="subtitle"]]
[[!template text="""configuring the student's experience.""" start="00:06:31.840" video="mainVideo-teaching" id="subtitle"]]
[[!template text="""An important part of this""" start="00:06:33.800" video="mainVideo-teaching" id="subtitle"]]
@@ -179,9 +164,7 @@
[[!template text="""from flicking all the time to the mouse;""" start="00:07:23.200" video="mainVideo-teaching" id="subtitle"]]
[[!template text="""seems to be an essential part of getting used to Emacs.""" start="00:07:25.840" video="mainVideo-teaching" id="subtitle"]]
-[[!template new="1" text="""Story + code = source + documentation""" start="00:07:30.360" video="mainVideo-teaching" id="subtitle"]]
-
-[[!template text="""Now Org Mode was included in Emacs in 2006 as a major mode,""" start="00:07:30.360" video="mainVideo-teaching" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Story + code = source + documentation""" start="00:07:30.360" video="mainVideo-teaching" id="subtitle"]]</div>[[!template text="""Now Org Mode was included in Emacs in 2006 as a major mode,""" start="00:07:30.360" video="mainVideo-teaching" id="subtitle"]]
[[!template text="""and as you know, it's a structured plain text format""" start="00:07:38.840" video="mainVideo-teaching" id="subtitle"]]
[[!template text="""with notebook live code execution.""" start="00:07:41.960" video="mainVideo-teaching" id="subtitle"]]
[[!template text="""It's an ideal platform for literate programming,""" start="00:07:45.040" video="mainVideo-teaching" id="subtitle"]]
@@ -195,9 +178,7 @@
[[!template text="""This methodology was conceived by Donald Knuth in 1984,""" start="00:08:13.920" video="mainVideo-teaching" id="subtitle"]]
[[!template text="""and it is therefore even older than Emacs itself.""" start="00:08:18.480" video="mainVideo-teaching" id="subtitle"]]
-[[!template new="1" text="""What is literate programming?""" start="00:08:22.040" video="mainVideo-teaching" id="subtitle"]]
-
-[[!template text="""The main purpose of literate programming is not only""" start="00:08:22.040" video="mainVideo-teaching" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""What is literate programming?""" start="00:08:22.040" video="mainVideo-teaching" id="subtitle"]]</div>[[!template text="""The main purpose of literate programming is not only""" start="00:08:22.040" video="mainVideo-teaching" id="subtitle"]]
[[!template text="""to make code or documentation or output more manageable,""" start="00:08:27.200" video="mainVideo-teaching" id="subtitle"]]
[[!template text="""but to allow humans to create a data story with ease""" start="00:08:31.120" video="mainVideo-teaching" id="subtitle"]]
[[!template text="""from a single source.""" start="00:08:34.760" video="mainVideo-teaching" id="subtitle"]]
@@ -226,9 +207,7 @@
[[!template text="""which export code blocks into buffers""" start="00:09:52.800" video="mainVideo-teaching" id="subtitle"]]
[[!template text="""in whatever language the code block is written.""" start="00:09:55.640" video="mainVideo-teaching" id="subtitle"]]
-[[!template new="1" text="""Emacs as a literate programming tool""" start="00:09:59.880" video="mainVideo-teaching" id="subtitle"]]
-
-[[!template text="""In data science, these interactive notebooks""" start="00:09:59.880" video="mainVideo-teaching" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Emacs as a literate programming tool""" start="00:09:59.880" video="mainVideo-teaching" id="subtitle"]]</div>[[!template text="""In data science, these interactive notebooks""" start="00:09:59.880" video="mainVideo-teaching" id="subtitle"]]
[[!template text="""in one of the interpreted languages like Julia,""" start="00:10:02.720" video="mainVideo-teaching" id="subtitle"]]
[[!template text="""Python, or R dominate.""" start="00:10:06.000" video="mainVideo-teaching" id="subtitle"]]
[[!template text="""The basis technology,""" start="00:10:07.840" video="mainVideo-teaching" id="subtitle"]]
@@ -253,9 +232,7 @@
[[!template text="""That is something you can see in a paper of mine,""" start="00:11:11.040" video="mainVideo-teaching" id="subtitle"]]
[[!template text="""in one of the figures.""" start="00:11:14.160" video="mainVideo-teaching" id="subtitle"]]
-[[!template new="1" text="""Case study: basic setup""" start="00:11:18.960" video="mainVideo-teaching" id="subtitle"]]
-
-[[!template text="""Now, coming to the case study itself,""" start="00:11:18.960" video="mainVideo-teaching" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Case study: basic setup""" start="00:11:18.960" video="mainVideo-teaching" id="subtitle"]]</div>[[!template text="""Now, coming to the case study itself,""" start="00:11:18.960" video="mainVideo-teaching" id="subtitle"]]
[[!template text="""here are some of the overall results of the case study.""" start="00:11:22.720" video="mainVideo-teaching" id="subtitle"]]
[[!template text="""Now, the courses ranged from introductory to advanced,""" start="00:11:25.040" video="mainVideo-teaching" id="subtitle"]]
[[!template text="""as you can see here in the table on the left-hand side.""" start="00:11:29.040" video="mainVideo-teaching" id="subtitle"]]
@@ -272,9 +249,7 @@
[[!template text="""is openly available on GitHub,""" start="00:12:03.280" video="mainVideo-teaching" id="subtitle"]]
[[!template text="""and the address is on the slide at the bottom.""" start="00:12:05.400" video="mainVideo-teaching" id="subtitle"]]
-[[!template new="1" text="""Emacs + Org-mode notebooks""" start="00:12:11.280" video="mainVideo-teaching" id="subtitle"]]
-
-[[!template text="""I'm now going to briefly comment on""" start="00:12:11.280" video="mainVideo-teaching" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Emacs + Org-mode notebooks""" start="00:12:11.280" video="mainVideo-teaching" id="subtitle"]]</div>[[!template text="""I'm now going to briefly comment on""" start="00:12:11.280" video="mainVideo-teaching" id="subtitle"]]
[[!template text="""the most important aspects of using Emacs and Org Mode""" start="00:12:15.880" video="mainVideo-teaching" id="subtitle"]]
[[!template text="""in and outside of class.""" start="00:12:18.800" video="mainVideo-teaching" id="subtitle"]]
[[!template text="""Essentially, these two--Emacs and Org Mode--""" start="00:12:20.120" video="mainVideo-teaching" id="subtitle"]]
@@ -288,9 +263,7 @@
[[!template text="""student projects, practice in class--""" start="00:12:40.000" video="mainVideo-teaching" id="subtitle"]]
[[!template text="""was done with these two tools.""" start="00:12:42.440" video="mainVideo-teaching" id="subtitle"]]
-[[!template new="1" text="""Onboarding: simplified Emacs tutorial""" start="00:12:45.800" video="mainVideo-teaching" id="subtitle"]]
-
-[[!template text="""To facilitate the onboarding,""" start="00:12:45.800" video="mainVideo-teaching" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Onboarding: simplified Emacs tutorial""" start="00:12:45.800" video="mainVideo-teaching" id="subtitle"]]</div>[[!template text="""To facilitate the onboarding,""" start="00:12:45.800" video="mainVideo-teaching" id="subtitle"]]
[[!template text="""so to get students used to Emacs in the first place,""" start="00:12:48.000" video="mainVideo-teaching" id="subtitle"]]
[[!template text="""I developed a simplified Emacs tutorial,""" start="00:12:51.000" video="mainVideo-teaching" id="subtitle"]]
[[!template text="""which was focused on the basics of literate programming.""" start="00:12:53.280" video="mainVideo-teaching" id="subtitle"]]
@@ -310,9 +283,7 @@
[[!template text="""Most of the students, in fact, had never heard of Emacs.""" start="00:13:31.200" video="mainVideo-teaching" id="subtitle"]]
[[!template text="""All the classes were taught physically in a computer lab.""" start="00:13:35.400" video="mainVideo-teaching" id="subtitle"]]
-[[!template new="1" text="""Instruction + interaction""" start="00:13:40.840" video="mainVideo-teaching" id="subtitle"]]
-
-[[!template text="""Emacs with Org Mode""" start="00:13:40.840" video="mainVideo-teaching" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Instruction + interaction""" start="00:13:40.840" video="mainVideo-teaching" id="subtitle"]]</div>[[!template text="""Emacs with Org Mode""" start="00:13:40.840" video="mainVideo-teaching" id="subtitle"]]
[[!template text="""and the necessary languages for the class""" start="00:13:42.760" video="mainVideo-teaching" id="subtitle"]]
[[!template text="""were pre-installed on the computers.""" start="00:13:45.480" video="mainVideo-teaching" id="subtitle"]]
[[!template text="""The computers ran Windows, unfortunately,""" start="00:13:47.360" video="mainVideo-teaching" id="subtitle"]]
@@ -338,9 +309,7 @@
[[!template text="""You can find examples of these rather high-octane projects""" start="00:14:44.240" video="mainVideo-teaching" id="subtitle"]]
[[!template text="""in my paper.""" start="00:14:48.080" video="mainVideo-teaching" id="subtitle"]]
-[[!template new="1" text="""Assignments + projects""" start="00:14:48.720" video="mainVideo-teaching" id="subtitle"]]
-
-[[!template text="""Now, using literate programming for the projects""" start="00:14:48.720" video="mainVideo-teaching" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Assignments + projects""" start="00:14:48.720" video="mainVideo-teaching" id="subtitle"]]</div>[[!template text="""Now, using literate programming for the projects""" start="00:14:48.720" video="mainVideo-teaching" id="subtitle"]]
[[!template text="""provided some unique benefits.""" start="00:14:52.680" video="mainVideo-teaching" id="subtitle"]]
[[!template text="""By having to continuously interweave documentation,""" start="00:14:54.400" video="mainVideo-teaching" id="subtitle"]]
[[!template text="""references and output alongside functional code,""" start="00:14:57.960" video="mainVideo-teaching" id="subtitle"]]
@@ -371,9 +340,7 @@
[[!template text="""after the first term""" start="00:16:08.000" video="mainVideo-teaching" id="subtitle"]]
[[!template text="""and continue for the following two terms.""" start="00:16:09.160" video="mainVideo-teaching" id="subtitle"]]
-[[!template new="1" text="""Overall results positive""" start="00:16:15.280" video="mainVideo-teaching" id="subtitle"]]
-
-[[!template text="""The courses... Coming to the result, the overall result...""" start="00:16:15.280" video="mainVideo-teaching" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Overall results positive""" start="00:16:15.280" video="mainVideo-teaching" id="subtitle"]]</div>[[!template text="""The courses... Coming to the result, the overall result...""" start="00:16:15.280" video="mainVideo-teaching" id="subtitle"]]
[[!template text="""The courses were formally and informally""" start="00:16:18.840" video="mainVideo-teaching" id="subtitle"]]
[[!template text="""also evaluated by the students,""" start="00:16:21.000" video="mainVideo-teaching" id="subtitle"]]
[[!template text="""but you need to look at my paper""" start="00:16:23.120" video="mainVideo-teaching" id="subtitle"]]
@@ -414,9 +381,7 @@
[[!template text="""for the loss of the immersion""" start="00:18:13.200" video="mainVideo-teaching" id="subtitle"]]
[[!template text="""that Emacs and Org Mode deliver.""" start="00:18:15.120" video="mainVideo-teaching" id="subtitle"]]
-[[!template new="1" text="""Conclusion & outlook""" start="00:18:19.800" video="mainVideo-teaching" id="subtitle"]]
-
-[[!template text="""And here's the summary.""" start="00:18:19.800" video="mainVideo-teaching" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Conclusion & outlook""" start="00:18:19.800" video="mainVideo-teaching" id="subtitle"]]</div>[[!template text="""And here's the summary.""" start="00:18:19.800" video="mainVideo-teaching" id="subtitle"]]
[[!template text="""When learning computer and data science,""" start="00:18:21.400" video="mainVideo-teaching" id="subtitle"]]
[[!template text="""immersion is everything.""" start="00:18:23.760" video="mainVideo-teaching" id="subtitle"]]
[[!template text="""The best students will aim at immersion anyway.""" start="00:18:25.680" video="mainVideo-teaching" id="subtitle"]]
@@ -442,12 +407,11 @@
[[!template text="""And I'm looking forward to the Q&A.""" start="00:19:21.720" video="mainVideo-teaching" id="subtitle"]]
[[!template text="""Thank you.""" start="00:19:22.840" video="mainVideo-teaching" id="subtitle"]]
-
+</div>
Captioner: sachac
-<a name="teaching-qanda-transcript"></a>
-# Q&A transcript (unedited)
+<div class="transcript transcript-qanda"><a name="teaching-qanda-transcript"></a><h1>Q&A transcript (unedited)</h1>
[[!template text="""[Speaker 0]: Again, second only live Q&A of the day.""" start="00:00:00.599" video="qanda-teaching" id="subtitle"]]
[[!template text="""So, things are still a bit rusty,""" start="00:00:04.339" video="qanda-teaching" id="subtitle"]]
@@ -1334,7 +1298,7 @@ Captioner: sachac
[[!template text="""conference.""" start="00:41:36.840" video="qanda-teaching" id="subtitle"]]
[[!template text="""[Speaker 1]: You""" start="00:42:00.060" video="qanda-teaching" id="subtitle"]]
-Questions or comments? Please e-mail [birkenkrahe@lyon.edu](mailto:birkenkrahe@lyon.edu?subject=Comment%20for%20EmacsConf%202023%20teaching%3A%20Teaching%20computer%20and%20data%20science%20with%20literate%20programming%20tools)
+</div>Questions or comments? Please e-mail [birkenkrahe@lyon.edu](mailto:birkenkrahe@lyon.edu?subject=Comment%20for%20EmacsConf%202023%20teaching%3A%20Teaching%20computer%20and%20data%20science%20with%20literate%20programming%20tools)
<!-- End of emacsconf-publish-after-page -->
diff --git a/2023/info/teaching-before.md b/2023/info/teaching-before.md
index 6a5fa970..1348f7ae 100644
--- a/2023/info/teaching-before.md
+++ b/2023/info/teaching-before.md
@@ -1,6 +1,6 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
[[!toc ]]
-Format: 20-min talk; Q&A: BigBlueButton conference room
+Format: 20-min talk ; Q&A: BigBlueButton conference room
Status: TO_INDEX_QA
@@ -9,7 +9,7 @@ Status: TO_INDEX_QA
# Talk
-<div class="vid"><video controls preload="none" id="teaching-mainVideo"><source src="https://media.emacsconf.org/2023/emacsconf-2023-teaching--teaching-computer-and-data-science-with-literate-programming-tools--marcus-birkenkrahe--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-teaching--teaching-computer-and-data-science-with-literate-programming-tools--marcus-birkenkrahe--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2023/captions/emacsconf-2023-teaching--teaching-computer-and-data-science-with-literate-programming-tools--marcus-birkenkrahe--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="teaching-mainVideo" data="""
+<div class="vid mainVideo"><video controls preload="none" id="mainVideo-teaching"><source src="https://media.emacsconf.org/2023/emacsconf-2023-teaching--teaching-computer-and-data-science-with-literate-programming-tools--marcus-birkenkrahe--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-teaching--teaching-computer-and-data-science-with-literate-programming-tools--marcus-birkenkrahe--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2023/captions/emacsconf-2023-teaching--teaching-computer-and-data-science-with-literate-programming-tools--marcus-birkenkrahe--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-teaching" data="""
00:00.000 Introduction
00:54.160 My interest in this topic
02:08.040 What is data science?
@@ -28,10 +28,10 @@ Status: TO_INDEX_QA
16:15.280 Overall results positive
18:19.800 Conclusion & outlook
-"""]]<div></div>Duration: 19:27 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-teaching--teaching-computer-and-data-science-with-literate-programming-tools--marcus-birkenkrahe--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-teaching--teaching-computer-and-data-science-with-literate-programming-tools--marcus-birkenkrahe--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-teaching--teaching-computer-and-data-science-with-literate-programming-tools--marcus-birkenkrahe--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-teaching--teaching-computer-and-data-science-with-literate-programming-tools--marcus-birkenkrahe--main.opus">Download --main.opus (14MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-teaching--teaching-computer-and-data-science-with-literate-programming-tools--marcus-birkenkrahe--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-teaching--teaching-computer-and-data-science-with-literate-programming-tools--marcus-birkenkrahe--main.webm">Download --main.webm (44MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-teaching--teaching-computer-and-data-science-with-literate-programming-tools--marcus-birkenkrahe--pad.html">Download --pad.html</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-teaching--teaching-computer-and-data-science-with-literate-programming-tools--marcus-birkenkrahe--pad.md">Download --pad.md</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-teaching--teaching-computer-and-data-science-with-literate-programming-tools--marcus-birkenkrahe.odp">Download .odp (15MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-teaching--teaching-computer-and-data-science-with-literate-programming-tools--marcus-birkenkrahe.org">Download .org</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-teaching--teaching-computer-and-data-science-with-literate-programming-tools--marcus-birkenkrahe.pdf">Download .pdf (2.9MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-teaching--teaching-computer-and-data-science-with-literate-programming-tools--marcus-birkenkrahe.pptx">Download .pptx (15MB)</a></li><li><a href="https://toobnix.org/w/b4eLjcLo9vcewVTzrv95L8">View on Toobnix</a></li></ul></div></div>
+"""]]<div></div>Duration: 19:27 minutes<div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2023-teaching">Open Etherpad</a></li><li><a href="https://bbb.emacsverse.org/playback/presentation/2.0/playback.html?meetingId=c7af4fb02c209bbd6864301fdf26dd137916469c-1701529159289">Play recording from BigBlueButton</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-teaching--teaching-computer-and-data-science-with-literate-programming-tools--marcus-birkenkrahe--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-teaching--teaching-computer-and-data-science-with-literate-programming-tools--marcus-birkenkrahe--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-teaching--teaching-computer-and-data-science-with-literate-programming-tools--marcus-birkenkrahe--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-teaching--teaching-computer-and-data-science-with-literate-programming-tools--marcus-birkenkrahe--main.opus">Download --main.opus (14MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-teaching--teaching-computer-and-data-science-with-literate-programming-tools--marcus-birkenkrahe--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-teaching--teaching-computer-and-data-science-with-literate-programming-tools--marcus-birkenkrahe--main.webm">Download --main.webm (44MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-teaching--teaching-computer-and-data-science-with-literate-programming-tools--marcus-birkenkrahe.odp">Download .odp (15MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-teaching--teaching-computer-and-data-science-with-literate-programming-tools--marcus-birkenkrahe.org">Download .org</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-teaching--teaching-computer-and-data-science-with-literate-programming-tools--marcus-birkenkrahe.pdf">Download .pdf (2.9MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-teaching--teaching-computer-and-data-science-with-literate-programming-tools--marcus-birkenkrahe.pptx">Download .pptx (15MB)</a></li><li><a href="https://toobnix.org/w/b4eLjcLo9vcewVTzrv95L8">View on Toobnix</a></li><li><a href="https://youtu.be/U15zUNBz2CU">View on Youtube</a></li></ul></div></div>
# Q&A
-<div class="vid"><video controls preload="none" id="teaching-qanda"><source src="https://media.emacsconf.org/2023/emacsconf-2023-teaching--teaching-computer-and-data-science-with-literate-programming-tools--marcus-birkenkrahe--answers.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-teaching--teaching-computer-and-data-science-with-literate-programming-tools--marcus-birkenkrahe--answers.vtt" default />"""<p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video><div>Listen to just the audio:<br /><audio controls preload="none" id="teaching-qanda-audio" src="https://media.emacsconf.org/2023/emacsconf-2023-teaching--teaching-computer-and-data-science-with-literate-programming-tools--marcus-birkenkrahe--answers.opus"></audio></div><div></div>Duration: 42:23 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-teaching--teaching-computer-and-data-science-with-literate-programming-tools--marcus-birkenkrahe--answers.json">Download --answers.json (1.8MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-teaching--teaching-computer-and-data-science-with-literate-programming-tools--marcus-birkenkrahe--answers.opus">Download --answers.opus (22MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-teaching--teaching-computer-and-data-science-with-literate-programming-tools--marcus-birkenkrahe--answers.vtt">Download --answers.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-teaching--teaching-computer-and-data-science-with-literate-programming-tools--marcus-birkenkrahe--answers.webm">Download --answers.webm (199MB)</a></li></ul></div></div>
+<div class="vid qanda"><video controls preload="none" id="qanda-teaching"><source src="https://media.emacsconf.org/2023/emacsconf-2023-teaching--teaching-computer-and-data-science-with-literate-programming-tools--marcus-birkenkrahe--answers.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-teaching--teaching-computer-and-data-science-with-literate-programming-tools--marcus-birkenkrahe--answers.vtt" default />"""<p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video><div>Listen to just the audio:<br /><audio controls preload="none" id="qanda-teaching-audio" src="https://media.emacsconf.org/2023/emacsconf-2023-teaching--teaching-computer-and-data-science-with-literate-programming-tools--marcus-birkenkrahe--answers.opus"></audio></div><div></div>Duration: 42:23 minutes<div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2023-teaching">Open Etherpad</a></li><li><a href="https://bbb.emacsverse.org/playback/presentation/2.0/playback.html?meetingId=c7af4fb02c209bbd6864301fdf26dd137916469c-1701529159289">Play recording from BigBlueButton</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-teaching--teaching-computer-and-data-science-with-literate-programming-tools--marcus-birkenkrahe--answers.json">Download --answers.json (1.8MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-teaching--teaching-computer-and-data-science-with-literate-programming-tools--marcus-birkenkrahe--answers.opus">Download --answers.opus (22MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-teaching--teaching-computer-and-data-science-with-literate-programming-tools--marcus-birkenkrahe--answers.vtt">Download --answers.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-teaching--teaching-computer-and-data-science-with-literate-programming-tools--marcus-birkenkrahe--answers.webm">Download --answers.webm (199MB)</a></li></ul></div></div>
# Description
<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2023/info/teaching-nav.md b/2023/info/teaching-nav.md
index bf06e887..64d98156 100644
--- a/2023/info/teaching-nav.md
+++ b/2023/info/teaching-nav.md
@@ -3,5 +3,5 @@
Back to the [[talks]]
Previous by track: <a href="/2023/talks/uni">Authoring and presenting university courses with Emacs and a full libre software stack</a>
Next by track: <a href="/2023/talks/table">Who needs Excel? Managing your students qualifications with org-table</a>
-Track: <span class="sched-track General">General</span>
+Track: <span class="sched-track General">General</span> - <strong><a href="https://emacsconf.org/2023/watch/gen">Watch</a></strong>
</div>
diff --git a/2023/info/test-after.md b/2023/info/test-after.md
index 413f1f6d..b2329598 100644
--- a/2023/info/test-after.md
+++ b/2023/info/test-after.md
@@ -1,13 +1,10 @@
<!-- Automatically generated by emacsconf-publish-after-page -->
-<a name="test-mainVideo-transcript"></a>
-# Transcript
+<div class="transcript transcript-mainVideo"><a name="test-mainVideo-transcript"></a><h1>Transcript</h1>
-[[!template new="1" text="""Introduction""" start="00:00:03.120" video="mainVideo-test" id="subtitle"]]
-
-[[!template text="""Hi everyone! I'm Mats Lidell.""" start="00:00:03.120" video="mainVideo-test" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Introduction""" start="00:00:03.120" video="mainVideo-test" id="subtitle"]]</div>[[!template text="""Hi everyone! I'm Mats Lidell.""" start="00:00:03.120" video="mainVideo-test" id="subtitle"]]
[[!template text="""I'm going to talk about my journey""" start="00:00:07.440" video="mainVideo-test" id="subtitle"]]
[[!template text="""writing test cases for GNU Hyperbole""" start="00:00:09.880" video="mainVideo-test" id="subtitle"]]
[[!template text="""and what I learned on the way.""" start="00:00:12.481" video="mainVideo-test" id="subtitle"]]
@@ -61,9 +58,7 @@
[[!template text="""no knowledge of what testing frameworks existed,""" start="00:03:00.760" video="mainVideo-test" id="subtitle"]]
[[!template text="""and not really knowing a lot about Emacs Lisp at all.""" start="00:03:03.360" video="mainVideo-test" id="subtitle"]]
-[[!template new="1" text="""ERT: Emacs Lisp Regression Testing""" start="00:03:11.160" video="mainVideo-test" id="subtitle"]]
-
-[[!template text="""Luckily there is a package for writing tests in Emacs.""" start="00:03:11.160" video="mainVideo-test" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""ERT: Emacs Lisp Regression Testing""" start="00:03:11.160" video="mainVideo-test" id="subtitle"]]</div>[[!template text="""Luckily there is a package for writing tests in Emacs.""" start="00:03:11.160" video="mainVideo-test" id="subtitle"]]
[[!template text="""It is called ERT: Emacs Lisp Regression Testing.""" start="00:03:13.800" video="mainVideo-test" id="subtitle"]]
[[!template text="""It contains both support for defining tests and running them.""" start="00:03:17.920" video="mainVideo-test" id="subtitle"]]
[[!template text="""Defining a test is done with the macro `ert-deftest`.""" start="00:03:20.960" video="mainVideo-test" id="subtitle"]]
@@ -82,9 +77,7 @@
[[!template text="""and the outcome of the test is evaluated.""" start="00:04:09.760" video="mainVideo-test" id="subtitle"]]
[[!template text="""Did the test succeed or not?""" start="00:04:13.120" video="mainVideo-test" id="subtitle"]]
-[[!template new="1" text="""Assertions with `should`""" start="00:04:14.360" video="mainVideo-test" id="subtitle"]]
-
-[[!template text="""The verification of a test is performed with""" start="00:04:14.360" video="mainVideo-test" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Assertions with `should`""" start="00:04:14.360" video="mainVideo-test" id="subtitle"]]</div>[[!template text="""The verification of a test is performed with""" start="00:04:14.360" video="mainVideo-test" id="subtitle"]]
[[!template text="""one or more so-called assertions.""" start="00:04:18.480" video="mainVideo-test" id="subtitle"]]
[[!template text="""In ERT, they are implemented""" start="00:04:21.480" video="mainVideo-test" id="subtitle"]]
[[!template text="""with the macro `should`""" start="00:04:25.000" video="mainVideo-test" id="subtitle"]]
@@ -95,9 +88,7 @@
[[!template text="""This simple test verifies that the function `+`""" start="00:04:48.581" video="mainVideo-test" id="subtitle"]]
[[!template text="""can add the numbers 2 and 3 and get the result 5.""" start="00:04:51.920" video="mainVideo-test" id="subtitle"]]
-[[!template new="1" text="""Running a test case""" start="00:04:56.920" video="mainVideo-test" id="subtitle"]]
-
-[[!template text="""So now we have defined a test case. How do we run it?""" start="00:04:56.920" video="mainVideo-test" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Running a test case""" start="00:04:56.920" video="mainVideo-test" id="subtitle"]]</div>[[!template text="""So now we have defined a test case. How do we run it?""" start="00:04:56.920" video="mainVideo-test" id="subtitle"]]
[[!template text="""The ERT package has the function (or""" start="00:05:01.960" video="mainVideo-test" id="subtitle"]]
[[!template text="""rather convenience alias) `ert`. It takes a test selector.""" start="00:05:03.920" video="mainVideo-test" id="subtitle"]]
[[!template text="""The test name works as a selector for running just one test.""" start="00:05:09.520" video="mainVideo-test" id="subtitle"]]
@@ -121,9 +112,7 @@
[[!template text="""and it was 5 equals to 5.""" start="00:06:48.000" video="mainVideo-test" id="subtitle"]]
[[!template text="""So a good example of a successful test case.""" start="00:06:49.800" video="mainVideo-test" id="subtitle"]]
-[[!template new="1" text="""Debug a test""" start="00:06:54.560" video="mainVideo-test" id="subtitle"]]
-
-[[!template text="""So now we've seen how we can run a test case.""" start="00:06:54.560" video="mainVideo-test" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Debug a test""" start="00:06:54.560" video="mainVideo-test" id="subtitle"]]</div>[[!template text="""So now we've seen how we can run a test case.""" start="00:06:54.560" video="mainVideo-test" id="subtitle"]]
[[!template text="""Can we debug it? Yes. For debugging a test case,""" start="00:06:57.920" video="mainVideo-test" id="subtitle"]]
[[!template text="""the `ert-deftest` can be set up using `edebug-defun`,""" start="00:07:03.800" video="mainVideo-test" id="subtitle"]]
[[!template text="""just as a function or macro is set up""" start="00:07:07.940" video="mainVideo-test" id="subtitle"]]
@@ -134,9 +123,7 @@
[[!template text="""and we can inspect here what's happening.""" start="00:07:35.660" video="mainVideo-test" id="subtitle"]]
[[!template text="""Step through it and yes it succeeded just as before.""" start="00:07:40.680" video="mainVideo-test" id="subtitle"]]
-[[!template new="1" text="""Commercial break: Hyperbole""" start="00:07:50.380" video="mainVideo-test" id="subtitle"]]
-
-[[!template text="""It's time for a commercial break!""" start="00:07:50.380" video="mainVideo-test" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Commercial break: Hyperbole""" start="00:07:50.380" video="mainVideo-test" id="subtitle"]]</div>[[!template text="""It's time for a commercial break!""" start="00:07:50.380" video="mainVideo-test" id="subtitle"]]
[[!template text="""Hyperbole itself can help with running tests""" start="00:07:56.880" video="mainVideo-test" id="subtitle"]]
[[!template text="""and also help with running them in debug mode.""" start="00:08:00.080" video="mainVideo-test" id="subtitle"]]
[[!template text="""That is because hyperbole identifies the `ert-deftest`""" start="00:08:03.640" video="mainVideo-test" id="subtitle"]]
@@ -154,9 +141,7 @@
[[!template text="""to get the assist key, and then we're in the debugger.""" start="00:08:54.480" video="mainVideo-test" id="subtitle"]]
[[!template text="""So that's pretty useful and convenient.""" start="00:08:57.720" video="mainVideo-test" id="subtitle"]]
-[[!template new="1" text="""Instrument function on the fly""" start="00:09:10.480" video="mainVideo-test" id="subtitle"]]
-
-[[!template text="""A related useful feature here is the step-in functionality""" start="00:09:10.480" video="mainVideo-test" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Instrument function on the fly""" start="00:09:10.480" video="mainVideo-test" id="subtitle"]]</div>[[!template text="""A related useful feature here is the step-in functionality""" start="00:09:10.480" video="mainVideo-test" id="subtitle"]]
[[!template text="""bound to the letter i in `debug-mode`.""" start="00:09:13.720" video="mainVideo-test" id="subtitle"]]
[[!template text="""It allows you to step into a function""" start="00:09:16.400" video="mainVideo-test" id="subtitle"]]
[[!template text="""and continue debugging from there.""" start="00:09:18.120" video="mainVideo-test" id="subtitle"]]
@@ -178,9 +163,7 @@
[[!template text="""and it returns the result 4 as expected.""" start="00:10:26.560" video="mainVideo-test" id="subtitle"]]
[[!template text="""And yes, of course, our test case will then succeed.""" start="00:10:31.000" video="mainVideo-test" id="subtitle"]]
-[[!template new="1" text="""Mocking""" start="00:10:39.120" video="mainVideo-test" id="subtitle"]]
-
-[[!template text="""The next tool in our toolbox is mocking.""" start="00:10:39.120" video="mainVideo-test" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Mocking""" start="00:10:39.120" video="mainVideo-test" id="subtitle"]]</div>[[!template text="""The next tool in our toolbox is mocking.""" start="00:10:39.120" video="mainVideo-test" id="subtitle"]]
[[!template text="""Mocking is needed when we want to simulate the response""" start="00:10:41.840" video="mainVideo-test" id="subtitle"]]
[[!template text="""from a function used by the function under test.""" start="00:10:46.240" video="mainVideo-test" id="subtitle"]]
[[!template text="""That is the implementation of the function.""" start="00:10:49.280" video="mainVideo-test" id="subtitle"]]
@@ -256,9 +239,7 @@
[[!template text="""and see that it should also then return 10""" start="00:14:30.320" video="mainVideo-test" id="subtitle"]]
[[!template text="""because it's using `f1-add`.""" start="00:14:32.800" video="mainVideo-test" id="subtitle"]]
-[[!template new="1" text="""cl-letf""" start="00:14:41.240" video="mainVideo-test" id="subtitle"]]
-
-[[!template text="""Moving over to `cl-letf`.""" start="00:14:41.240" video="mainVideo-test" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""cl-letf""" start="00:14:41.240" video="mainVideo-test" id="subtitle"]]</div>[[!template text="""Moving over to `cl-letf`.""" start="00:14:41.240" video="mainVideo-test" id="subtitle"]]
[[!template text="""In rare occasions, the limitations of `el-mock` means""" start="00:14:44.560" video="mainVideo-test" id="subtitle"]]
[[!template text="""you would want to implement a full-fledged function""" start="00:14:47.680" video="mainVideo-test" id="subtitle"]]
[[!template text="""to be used under test.""" start="00:14:50.240" video="mainVideo-test" id="subtitle"]]
@@ -271,18 +252,14 @@
[[!template text="""due to environment issues.""" start="00:15:11.240" video="mainVideo-test" id="subtitle"]]
[[!template text="""In that case, a static mock will not work.""" start="00:15:13.740" video="mainVideo-test" id="subtitle"]]
-[[!template new="1" text="""Hooks""" start="00:15:24.100" video="mainVideo-test" id="subtitle"]]
-
-[[!template text="""Another trick is that functions that uses hooks.""" start="00:15:24.100" video="mainVideo-test" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Hooks""" start="00:15:24.100" video="mainVideo-test" id="subtitle"]]</div>[[!template text="""Another trick is that functions that uses hooks.""" start="00:15:24.100" video="mainVideo-test" id="subtitle"]]
[[!template text="""You can overload or replace the hooks to do the testing.""" start="00:15:30.720" video="mainVideo-test" id="subtitle"]]
[[!template text="""So you can use the hook function just to do the verification""" start="00:15:35.640" video="mainVideo-test" id="subtitle"]]
[[!template text="""and not do anything useful in the hook.""" start="00:15:40.760" video="mainVideo-test" id="subtitle"]]
[[!template text="""Also, here you need to be careful""" start="00:15:43.120" video="mainVideo-test" id="subtitle"]]
[[!template text="""to make sure the test handler is called and nothing else.""" start="00:15:45.080" video="mainVideo-test" id="subtitle"]]
-[[!template new="1" text="""Side effects and initial buffer state""" start="00:15:55.720" video="mainVideo-test" id="subtitle"]]
-
-[[!template text="""So far we have been talking about testing""" start="00:15:55.720" video="mainVideo-test" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Side effects and initial buffer state""" start="00:15:55.720" video="mainVideo-test" id="subtitle"]]</div>[[!template text="""So far we have been talking about testing""" start="00:15:55.720" video="mainVideo-test" id="subtitle"]]
[[!template text="""and what the function returns.""" start="00:15:57.680" video="mainVideo-test" id="subtitle"]]
[[!template text="""In the best of words, we have a pure function""" start="00:15:59.040" video="mainVideo-test" id="subtitle"]]
[[!template text="""that only depends on its arguments""" start="00:16:01.120" video="mainVideo-test" id="subtitle"]]
@@ -308,25 +285,19 @@
[[!template text="""Here are some functions and variables""" start="00:16:50.960" video="mainVideo-test" id="subtitle"]]
[[!template text="""I have found useful for this.""" start="00:16:53.080" video="mainVideo-test" id="subtitle"]]
-[[!template new="1" text="""with-temp-buffer""" start="00:17:05.100" video="mainVideo-test" id="subtitle"]]
-
-[[!template text="""For creating tests: `with-temp-buffer`:""" start="00:17:05.100" video="mainVideo-test" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""with-temp-buffer""" start="00:17:05.100" video="mainVideo-test" id="subtitle"]]</div>[[!template text="""For creating tests: `with-temp-buffer`:""" start="00:17:05.100" video="mainVideo-test" id="subtitle"]]
[[!template text="""it provides you a temp buffer that you visit,""" start="00:17:09.200" video="mainVideo-test" id="subtitle"]]
[[!template text="""and afterwards, there is no need to clean up.""" start="00:17:11.920" video="mainVideo-test" id="subtitle"]]
[[!template text="""This is the first choice if that is all you need.""" start="00:17:13.720" video="mainVideo-test" id="subtitle"]]
-[[!template new="1" text="""make-temp-file""" start="00:17:16.520" video="mainVideo-test" id="subtitle"]]
-
-[[!template text="""`make-temp-file`: If you need a file,""" start="00:17:16.520" video="mainVideo-test" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""make-temp-file""" start="00:17:16.520" video="mainVideo-test" id="subtitle"]]</div>[[!template text="""`make-temp-file`: If you need a file,""" start="00:17:16.520" video="mainVideo-test" id="subtitle"]]
[[!template text="""this is the function to use.""" start="00:17:20.520" video="mainVideo-test" id="subtitle"]]
[[!template text="""It creates a temp file or a directory.""" start="00:17:21.960" video="mainVideo-test" id="subtitle"]]
[[!template text="""The file can be filled with initial contents.""" start="00:17:24.280" video="mainVideo-test" id="subtitle"]]
[[!template text="""This needs to be cleaned up after a test.""" start="00:17:26.960" video="mainVideo-test" id="subtitle"]]
[[!template text="""Moving on to verifying and debugging:""" start="00:17:31.020" video="mainVideo-test" id="subtitle"]]
-[[!template new="1" text="""buffer-string""" start="00:17:33.288" video="mainVideo-test" id="subtitle"]]
-
-[[!template text="""`buffer-string`: returns the full contents""" start="00:17:33.288" video="mainVideo-test" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""buffer-string""" start="00:17:33.288" video="mainVideo-test" id="subtitle"]]</div>[[!template text="""`buffer-string`: returns the full contents""" start="00:17:33.288" video="mainVideo-test" id="subtitle"]]
[[!template text="""of the buffer as a string.""" start="00:17:38.248" video="mainVideo-test" id="subtitle"]]
[[!template text="""That can sound a bit voluminous,""" start="00:17:39.500" video="mainVideo-test" id="subtitle"]]
[[!template text="""but since tests are normally small, this often works well.""" start="00:17:41.400" video="mainVideo-test" id="subtitle"]]
@@ -340,9 +311,7 @@
[[!template text="""There might be other ways to do the same""" start="00:18:04.400" video="mainVideo-test" id="subtitle"]]
[[!template text="""as we saw with debugging.""" start="00:18:06.248" video="mainVideo-test" id="subtitle"]]
-[[!template new="1" text="""buffer-name""" start="00:18:09.920" video="mainVideo-test" id="subtitle"]]
-
-[[!template text="""buffer-name: Getting the buffer name is good""" start="00:18:09.920" video="mainVideo-test" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""buffer-name""" start="00:18:09.920" video="mainVideo-test" id="subtitle"]]</div>[[!template text="""buffer-name: Getting the buffer name is good""" start="00:18:09.920" video="mainVideo-test" id="subtitle"]]
[[!template text="""to verify what buffer we are looking at.""" start="00:18:13.720" video="mainVideo-test" id="subtitle"]]
[[!template text="""I often found it useful to check""" start="00:18:16.240" video="mainVideo-test" id="subtitle"]]
[[!template text="""that my assumptions on what buffer I am acting on""" start="00:18:18.360" video="mainVideo-test" id="subtitle"]]
@@ -358,14 +327,10 @@
[[!template text="""that I have not fully learned how to master,""" start="00:18:44.880" video="mainVideo-test" id="subtitle"]]
[[!template text="""so assertion for checking the sanity of the test is good.""" start="00:18:47.488" video="mainVideo-test" id="subtitle"]]
-[[!template new="1" text="""major-mode""" start="00:18:51.980" video="mainVideo-test" id="subtitle"]]
-
-[[!template text="""Finally, `major-mode`: Verify the buffer has the proper mode.""" start="00:18:51.980" video="mainVideo-test" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""major-mode""" start="00:18:51.980" video="mainVideo-test" id="subtitle"]]</div>[[!template text="""Finally, `major-mode`: Verify the buffer has the proper mode.""" start="00:18:51.980" video="mainVideo-test" id="subtitle"]]
[[!template text="""Can also be very useful and is a good sanity check.""" start="00:18:55.680" video="mainVideo-test" id="subtitle"]]
-[[!template new="1" text="""unwind-protect""" start="00:19:02.680" video="mainVideo-test" id="subtitle"]]
-
-[[!template text="""Finally, cleaning up. `unwind-protect`.""" start="00:19:02.680" video="mainVideo-test" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""unwind-protect""" start="00:19:02.680" video="mainVideo-test" id="subtitle"]]</div>[[!template text="""Finally, cleaning up. `unwind-protect`.""" start="00:19:02.680" video="mainVideo-test" id="subtitle"]]
[[!template text="""The tool for cleaning up is the `unwind-protect` form""" start="00:19:06.600" video="mainVideo-test" id="subtitle"]]
[[!template text="""which ensures that the unwind forms""" start="00:19:09.040" video="mainVideo-test" id="subtitle"]]
[[!template text="""always are executed regardless of the outcome of the body.""" start="00:19:12.480" video="mainVideo-test" id="subtitle"]]
@@ -383,9 +348,7 @@
[[!template text="""The test buffers are often in the state""" start="00:20:03.220" video="mainVideo-test" id="subtitle"]]
[[!template text="""where they have not been saved but modified.""" start="00:20:05.440" video="mainVideo-test" id="subtitle"]]
-[[!template new="1" text="""Input, with-simulated-input""" start="00:20:15.100" video="mainVideo-test" id="subtitle"]]
-
-[[!template text="""Another problem for tests are input.""" start="00:20:15.100" video="mainVideo-test" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Input, with-simulated-input""" start="00:20:15.100" video="mainVideo-test" id="subtitle"]]</div>[[!template text="""Another problem for tests are input.""" start="00:20:15.100" video="mainVideo-test" id="subtitle"]]
[[!template text="""In the middle of execution a function""" start="00:20:19.680" video="mainVideo-test" id="subtitle"]]
[[!template text="""might want to have some interaction with the user.""" start="00:20:21.560" video="mainVideo-test" id="subtitle"]]
[[!template text="""Testing this poses a problem, not only in that""" start="00:20:24.040" video="mainVideo-test" id="subtitle"]]
@@ -412,9 +375,7 @@
[[!template text="""As you see in the example, space needs to be provided""" start="00:21:26.120" video="mainVideo-test" id="subtitle"]]
[[!template text="""by the string SPC, as return by the string RET.""" start="00:21:29.640" video="mainVideo-test" id="subtitle"]]
-[[!template new="1" text="""Running all tests""" start="00:21:38.460" video="mainVideo-test" id="subtitle"]]
-
-[[!template text="""So now we have seen ways to create test cases""" start="00:21:38.460" video="mainVideo-test" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Running all tests""" start="00:21:38.460" video="mainVideo-test" id="subtitle"]]</div>[[!template text="""So now we have seen ways to create test cases""" start="00:21:38.460" video="mainVideo-test" id="subtitle"]]
[[!template text="""and even make it possible to run some of them""" start="00:21:40.800" video="mainVideo-test" id="subtitle"]]
[[!template text="""that has I/O in batch mode.""" start="00:21:43.220" video="mainVideo-test" id="subtitle"]]
[[!template text="""But the initial goal was to run them all at once.""" start="00:21:44.680" video="mainVideo-test" id="subtitle"]]
@@ -435,9 +396,7 @@
[[!template text="""So here we have a nice green display""" start="00:22:51.420" video="mainVideo-test" id="subtitle"]]
[[!template text="""with all the test cases.""" start="00:22:57.080" video="mainVideo-test" id="subtitle"]]
-[[!template new="1" text="""Batch mode""" start="00:23:03.220" video="mainVideo-test" id="subtitle"]]
-
-[[!template text="""So that was fine, but we were still running it manually""" start="00:23:03.220" video="mainVideo-test" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Batch mode""" start="00:23:03.220" video="mainVideo-test" id="subtitle"]]</div>[[!template text="""So that was fine, but we were still running it manually""" start="00:23:03.220" video="mainVideo-test" id="subtitle"]]
[[!template text="""by calling ert. How could we run it from the command line?""" start="00:23:08.160" video="mainVideo-test" id="subtitle"]]
[[!template text="""Ert comes with functions for running it in batch mode.""" start="00:23:17.180" video="mainVideo-test" id="subtitle"]]
[[!template text="""For Hyperbole, we use `make` for repetitive tasks.""" start="00:23:21.500" video="mainVideo-test" id="subtitle"]]
@@ -454,9 +413,7 @@
[[!template text="""to get away with the prompt for excessive backup files""" start="00:23:58.160" video="mainVideo-test" id="subtitle"]]
[[!template text="""that can pile up after running the tests a few times.""" start="00:24:02.440" video="mainVideo-test" id="subtitle"]]
-[[!template new="1" text="""Skipping tests""" start="00:24:05.060" video="mainVideo-test" id="subtitle"]]
-
-[[!template text="""Even with the help of simulated input,""" start="00:24:05.060" video="mainVideo-test" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Skipping tests""" start="00:24:05.060" video="mainVideo-test" id="subtitle"]]</div>[[!template text="""Even with the help of simulated input,""" start="00:24:05.060" video="mainVideo-test" id="subtitle"]]
[[!template text="""not all tests can be run in batch mode.""" start="00:24:06.880" video="mainVideo-test" id="subtitle"]]
[[!template text="""They would simply not work there""" start="00:24:08.920" video="mainVideo-test" id="subtitle"]]
[[!template text="""and have to be run in an interactive Emacs""" start="00:24:10.560" video="mainVideo-test" id="subtitle"]]
@@ -494,9 +451,7 @@
[[!template text="""and that is then another problem""" start="00:25:59.400" video="mainVideo-test" id="subtitle"]]
[[!template text="""with getting the interactive mode.""" start="00:26:03.201" video="mainVideo-test" id="subtitle"]]
-[[!template new="1" text="""Conclusion""" start="00:26:08.460" video="mainVideo-test" id="subtitle"]]
-
-[[!template text="""We have reached the end of the talk.""" start="00:26:08.460" video="mainVideo-test" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Conclusion""" start="00:26:08.460" video="mainVideo-test" id="subtitle"]]</div>[[!template text="""We have reached the end of the talk.""" start="00:26:08.460" video="mainVideo-test" id="subtitle"]]
[[!template text="""If you have any new ideas""" start="00:26:11.121" video="mainVideo-test" id="subtitle"]]
[[!template text="""or have some suggestions for improvements,""" start="00:26:14.160" video="mainVideo-test" id="subtitle"]]
[[!template text="""feel free to reach out""" start="00:26:16.760" video="mainVideo-test" id="subtitle"]]
@@ -513,8 +468,7 @@
[[!template text="""if it is not optimal or not having the best style.""" start="00:26:43.320" video="mainVideo-test" id="subtitle"]]
[[!template text="""And yes, thanks for listening. Bye.""" start="00:26:47.800" video="mainVideo-test" id="subtitle"]]
-<a name="test-qanda-transcript"></a>
-# Q&A transcript (unedited)
+</div><div class="transcript transcript-qanda"><a name="test-qanda-transcript"></a><h1>Q&A transcript (unedited)</h1>
[[!template text="""[Speaker 0]: Do we have any listeners?""" start="00:00:08.740" video="qanda-test" id="subtitle"]]
[[!template text="""It's you and I. I have a question.""" start="00:00:13.340" video="qanda-test" id="subtitle"]]
@@ -985,7 +939,7 @@
[[!template text="""Take care. Bye-bye.""" start="00:26:11.100" video="qanda-test" id="subtitle"]]
[[!template text="""[Speaker 1]: Take care. Bye. Silence.""" start="00:26:15.060" video="qanda-test" id="subtitle"]]
-Questions or comments? Please e-mail [matsl@gnu.org](mailto:matsl@gnu.org?subject=Comment%20for%20EmacsConf%202023%20test%3A%20What%20I%20learned%20by%20writing%20test%20cases%20for%20GNU%20Hyperbole)
+</div>Questions or comments? Please e-mail [matsl@gnu.org](mailto:matsl@gnu.org?subject=Comment%20for%20EmacsConf%202023%20test%3A%20What%20I%20learned%20by%20writing%20test%20cases%20for%20GNU%20Hyperbole)
<!-- End of emacsconf-publish-after-page -->
diff --git a/2023/info/test-before.md b/2023/info/test-before.md
index 8b140aad..f68c0402 100644
--- a/2023/info/test-before.md
+++ b/2023/info/test-before.md
@@ -1,6 +1,6 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
[[!toc ]]
-Format: 27-min talk; Q&A: BigBlueButton conference room
+Format: 27-min talk ; Q&A: BigBlueButton conference room
Status: Q&A to be extracted from the room recordings
@@ -9,7 +9,7 @@ Status: Q&A to be extracted from the room recordings
# Talk
-<div class="vid"><video controls preload="none" id="test-mainVideo"><source src="https://media.emacsconf.org/2023/emacsconf-2023-test--what-i-learned-by-writing-test-cases-for-gnu-hyperbole--mats-lidell--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-test--what-i-learned-by-writing-test-cases-for-gnu-hyperbole--mats-lidell--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2023/captions/emacsconf-2023-test--what-i-learned-by-writing-test-cases-for-gnu-hyperbole--mats-lidell--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="test-mainVideo" data="""
+<div class="vid mainVideo"><video controls preload="none" id="mainVideo-test"><source src="https://media.emacsconf.org/2023/emacsconf-2023-test--what-i-learned-by-writing-test-cases-for-gnu-hyperbole--mats-lidell--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-test--what-i-learned-by-writing-test-cases-for-gnu-hyperbole--mats-lidell--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2023/captions/emacsconf-2023-test--what-i-learned-by-writing-test-cases-for-gnu-hyperbole--mats-lidell--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-test" data="""
00:03.120 Introduction
03:11.160 ERT: Emacs Lisp Regression Testing
04:14.360 Assertions with `should`
@@ -33,10 +33,10 @@ Status: Q&A to be extracted from the room recordings
24:05.060 Skipping tests
26:08.460 Conclusion
-"""]]<div></div>Duration: 26:55 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-test--what-i-learned-by-writing-test-cases-for-gnu-hyperbole--mats-lidell--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-test--what-i-learned-by-writing-test-cases-for-gnu-hyperbole--mats-lidell--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-test--what-i-learned-by-writing-test-cases-for-gnu-hyperbole--mats-lidell--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-test--what-i-learned-by-writing-test-cases-for-gnu-hyperbole--mats-lidell--main.opus">Download --main.opus (13MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-test--what-i-learned-by-writing-test-cases-for-gnu-hyperbole--mats-lidell--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-test--what-i-learned-by-writing-test-cases-for-gnu-hyperbole--mats-lidell--main.webm">Download --main.webm (57MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-test--what-i-learned-by-writing-test-cases-for-gnu-hyperbole--mats-lidell--pad.html">Download --pad.html</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-test--what-i-learned-by-writing-test-cases-for-gnu-hyperbole--mats-lidell--pad.md">Download --pad.md</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-test--what-i-learned-by-writing-test-cases-for-gnu-hyperbole--mats-lidell--transcript.txt">Download --transcript.txt</a></li><li><a href="https://toobnix.org/w/4XmcGSe3TQrJJNUqQXqK2B">View on Toobnix</a></li></ul></div></div>
+"""]]<div></div>Duration: 26:55 minutes<div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2023-test">Open Etherpad</a></li><li><a href="https://bbb.emacsverse.org/playback/presentation/2.0/playback.html?meetingId=91ba10e7976ef010c38f57417275e78a87e21871-1701633816495">Play recording from BigBlueButton</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-test--what-i-learned-by-writing-test-cases-for-gnu-hyperbole--mats-lidell--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-test--what-i-learned-by-writing-test-cases-for-gnu-hyperbole--mats-lidell--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-test--what-i-learned-by-writing-test-cases-for-gnu-hyperbole--mats-lidell--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-test--what-i-learned-by-writing-test-cases-for-gnu-hyperbole--mats-lidell--main.opus">Download --main.opus (13MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-test--what-i-learned-by-writing-test-cases-for-gnu-hyperbole--mats-lidell--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-test--what-i-learned-by-writing-test-cases-for-gnu-hyperbole--mats-lidell--main.webm">Download --main.webm (57MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-test--what-i-learned-by-writing-test-cases-for-gnu-hyperbole--mats-lidell--transcript.txt">Download --transcript.txt</a></li><li><a href="https://toobnix.org/w/4XmcGSe3TQrJJNUqQXqK2B">View on Toobnix</a></li><li><a href="https://www.youtube.com/watch?v=maNQSKxXIzI">View on Youtube</a></li></ul></div></div>
# Q&A
-<div class="vid"><video controls preload="none" id="test-qanda"><source src="https://media.emacsconf.org/2023/emacsconf-2023-test--what-i-learned-by-writing-test-cases-for-gnu-hyperbole--mats-lidell--answers.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-test--what-i-learned-by-writing-test-cases-for-gnu-hyperbole--mats-lidell--answers.vtt" default />"""<p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video><div>Listen to just the audio:<br /><audio controls preload="none" id="test-qanda-audio" src="https://media.emacsconf.org/2023/emacsconf-2023-test--what-i-learned-by-writing-test-cases-for-gnu-hyperbole--mats-lidell--answers.opus"></audio></div><div></div>Duration: 26:22 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-test--what-i-learned-by-writing-test-cases-for-gnu-hyperbole--mats-lidell--answers.json">Download --answers.json (1MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-test--what-i-learned-by-writing-test-cases-for-gnu-hyperbole--mats-lidell--answers.opus">Download --answers.opus (9MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-test--what-i-learned-by-writing-test-cases-for-gnu-hyperbole--mats-lidell--answers.vtt">Download --answers.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-test--what-i-learned-by-writing-test-cases-for-gnu-hyperbole--mats-lidell--answers.webm">Download --answers.webm (41MB)</a></li></ul></div></div>
+<div class="vid qanda"><video controls preload="none" id="qanda-test"><source src="https://media.emacsconf.org/2023/emacsconf-2023-test--what-i-learned-by-writing-test-cases-for-gnu-hyperbole--mats-lidell--answers.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-test--what-i-learned-by-writing-test-cases-for-gnu-hyperbole--mats-lidell--answers.vtt" default />"""<p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video><div>Listen to just the audio:<br /><audio controls preload="none" id="qanda-test-audio" src="https://media.emacsconf.org/2023/emacsconf-2023-test--what-i-learned-by-writing-test-cases-for-gnu-hyperbole--mats-lidell--answers.opus"></audio></div><div></div>Duration: 26:22 minutes<div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2023-test">Open Etherpad</a></li><li><a href="https://bbb.emacsverse.org/playback/presentation/2.0/playback.html?meetingId=91ba10e7976ef010c38f57417275e78a87e21871-1701633816495">Play recording from BigBlueButton</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-test--what-i-learned-by-writing-test-cases-for-gnu-hyperbole--mats-lidell--answers.json">Download --answers.json (1MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-test--what-i-learned-by-writing-test-cases-for-gnu-hyperbole--mats-lidell--answers.opus">Download --answers.opus (9MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-test--what-i-learned-by-writing-test-cases-for-gnu-hyperbole--mats-lidell--answers.vtt">Download --answers.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-test--what-i-learned-by-writing-test-cases-for-gnu-hyperbole--mats-lidell--answers.webm">Download --answers.webm (41MB)</a></li></ul></div></div>
# Description
<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2023/info/test-nav.md b/2023/info/test-nav.md
index a595b88c..eba71afd 100644
--- a/2023/info/test-nav.md
+++ b/2023/info/test-nav.md
@@ -3,5 +3,5 @@
Back to the [[talks]]
Previous by track: <a href="/2023/talks/lspocaml">Writing a language server in OCaml for Emacs, fun, and profit</a>
Next by track: <a href="/2023/talks/emacsconf">EmacsConf.org: How we use Org Mode and TRAMP to organize and run a multi-track conference</a>
-Track: <span class="sched-track Development">Development</span>
+Track: <span class="sched-track Development">Development</span> - <strong><a href="https://emacsconf.org/2023/watch/dev">Watch</a></strong>
</div>
diff --git a/2023/info/unentangling-after.md b/2023/info/unentangling-after.md
index f6e4924f..57950f71 100644
--- a/2023/info/unentangling-after.md
+++ b/2023/info/unentangling-after.md
@@ -1,10 +1,10 @@
<!-- Automatically generated by emacsconf-publish-after-page -->
-<a name="unentangling-mainVideo-transcript"></a>
-# Transcript (unedited)
+<div class="transcript transcript-mainVideo"><a name="unentangling-mainVideo-transcript"></a><h1>Transcript</h1>
-[[!template text="""Hello, I'm Alexey Bychkadov,""" start="00:00:01.220" video="mainVideo-unentangling" id="subtitle"]]
+
+<div class="transcript-heading">[[!template new="1" text="""Introduction""" start="00:00:01.220" video="mainVideo-unentangling" id="subtitle"]]</div>[[!template text="""Hello, I'm Alexey Bochkarev,""" start="00:00:01.220" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""and I'm talking about unentangling projects""" start="00:00:03.740" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""and repositories, or maybe entangling them,""" start="00:00:06.899" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""depending on how you look at that.""" start="00:00:09.679" video="mainVideo-unentangling" id="subtitle"]]
@@ -19,36 +19,38 @@
[[!template text="""And third, I communicate.""" start="00:00:36.820" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""So I prepare papers, presentations,""" start="00:00:38.739" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""memos, and so on and so forth.""" start="00:00:41.260" video="mainVideo-unentangling" id="subtitle"]]
-[[!template text="""And so The workflow problem I had is""" start="00:00:44.120" video="mainVideo-unentangling" id="subtitle"]]
+
+<div class="transcript-heading">[[!template new="1" text="""The problem""" start="00:00:44.120" video="mainVideo-unentangling" id="subtitle"]]</div>[[!template text="""The workflow problem I had is""" start="00:00:44.120" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""sometimes all this does not really fit into a""" start="00:00:49.160" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""concept of a single repository per project.""" start="00:00:53.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""So I might want to have,""" start="00:00:56.200" video="mainVideo-unentangling" id="subtitle"]]
-[[!template text="""for example, a source code in 1 repository""" start="00:00:58.180" video="mainVideo-unentangling" id="subtitle"]]
+[[!template text="""for example, a source code in one repository""" start="00:00:58.180" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""and then I would like to have a paper in""" start="00:01:01.320" video="mainVideo-unentangling" id="subtitle"]]
-[[!template text="""another 1 and then I want to have a""" start="00:01:03.480" video="mainVideo-unentangling" id="subtitle"]]
+[[!template text="""another one, and then I want to have a""" start="00:01:03.480" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""collection of notes somewhere unrelated to""" start="00:01:05.200" video="mainVideo-unentangling" id="subtitle"]]
-[[!template text="""those 2. Emacs is pretty good at supporting""" start="00:01:08.620" video="mainVideo-unentangling" id="subtitle"]]
+[[!template text="""those two. Emacs is pretty good at supporting""" start="00:01:08.620" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""your workflows and I figured I should share""" start="00:01:12.500" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""what I used and what works for me.""" start="00:01:16.240" video="mainVideo-unentangling" id="subtitle"]]
-[[!template text="""So, from the technical perspective,""" start="00:01:20.560" video="mainVideo-unentangling" id="subtitle"]]
+[[!template text="""From the technical perspective,""" start="00:01:20.560" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""things are pretty easy.""" start="00:01:26.479" video="mainVideo-unentangling" id="subtitle"]]
-[[!template text="""So I use a collection of pretty standard""" start="00:01:27.940" video="mainVideo-unentangling" id="subtitle"]]
-[[!template text="""components of Emacs. So it's a projectile org""" start="00:01:30.720" video="mainVideo-unentangling" id="subtitle"]]
-[[!template text="""mode with this capture templates and other""" start="00:01:33.240" video="mainVideo-unentangling" id="subtitle"]]
+[[!template text="""I use a collection of pretty standard""" start="00:01:27.940" video="mainVideo-unentangling" id="subtitle"]]
+[[!template text="""components of Emacs. So it's projectile, org""" start="00:01:30.720" video="mainVideo-unentangling" id="subtitle"]]
+[[!template text="""mode with this capture templates, and other""" start="00:01:33.240" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""things. Then I sustained a collection of""" start="00:01:35.360" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""nodes in something that is called org-roam,""" start="00:01:38.100" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""which is essentially it's a glorified""" start="00:01:40.680" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""collection of org mode files.""" start="00:01:43.580" video="mainVideo-unentangling" id="subtitle"]]
-[[!template text="""Then I used directory local variables,""" start="00:01:46.100" video="mainVideo-unentangling" id="subtitle"]]
-[[!template text="""maybe a C text to jump through the source""" start="00:01:48.260" video="mainVideo-unentangling" id="subtitle"]]
-[[!template text="""code and very, very little LELisp glue to""" start="00:01:51.140" video="mainVideo-unentangling" id="subtitle"]]
+[[!template text="""Then I used directory-local variables,""" start="00:01:46.100" video="mainVideo-unentangling" id="subtitle"]]
+[[!template text="""maybe a ctags to jump through the source""" start="00:01:48.260" video="mainVideo-unentangling" id="subtitle"]]
+[[!template text="""code and very, very little elisp glue to""" start="00:01:51.140" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""make this all work, but that's not really""" start="00:01:54.920" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""rocket science. So that's the workflow I""" start="00:01:58.620" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""would like to talk about today.""" start="00:02:00.400" video="mainVideo-unentangling" id="subtitle"]]
-[[!template text="""So what I mean by all that,""" start="00:02:04.860" video="mainVideo-unentangling" id="subtitle"]]
+
+<div class="transcript-heading">[[!template new="1" text="""Jumping around""" start="00:02:04.860" video="mainVideo-unentangling" id="subtitle"]]</div>[[!template text="""So what I mean by all that,""" start="00:02:04.860" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""it's pretty straightforward to make Emacs,""" start="00:02:07.960" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""to make it easy to jump around a single""" start="00:02:10.680" video="mainVideo-unentangling" id="subtitle"]]
-[[!template text="""repository in Emacs. So if I,""" start="00:02:12.720" video="mainVideo-unentangling" id="subtitle"]]
+[[!template text="""repository in Emacs. So if I...""" start="00:02:12.720" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""Now I have Doom Emacs,""" start="00:02:15.060" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""but that's not really specific to a Doom""" start="00:02:16.640" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""that'll work in any Emacs configuration.""" start="00:02:19.120" video="mainVideo-unentangling" id="subtitle"]]
@@ -59,7 +61,7 @@
[[!template text="""I have all the list of files within my""" start="00:02:31.960" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""project, right? So if I create a couple of""" start="00:02:34.640" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""custom shortcuts, so if I press a magic""" start="00:02:38.200" video="mainVideo-unentangling" id="subtitle"]]
-[[!template text="""button, hyper-OP, don't worry about""" start="00:02:42.780" video="mainVideo-unentangling" id="subtitle"]]
+[[!template text="""button, Hyper+o p... don't worry about""" start="00:02:42.780" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""hyper-key. So I want it to have a modifier""" start="00:02:45.280" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""key all to myself, so that would,""" start="00:02:47.560" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""no program on my computer would use that""" start="00:02:50.320" video="mainVideo-unentangling" id="subtitle"]]
@@ -70,12 +72,13 @@
[[!template text="""keys, I have a menu that's a normal key""" start="00:03:04.940" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""binding. Yeah, essentially an Emacs.""" start="00:03:07.400" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""And if I hit, for example,""" start="00:03:10.240" video="mainVideo-unentangling" id="subtitle"]]
-[[!template text="""R, I end up in a readme file within this""" start="00:03:12.540" video="mainVideo-unentangling" id="subtitle"]]
+[[!template text="""r, I end up in a README file within this""" start="00:03:12.540" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""specific repository I was sitting in,""" start="00:03:15.200" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""right? So if I want to document something""" start="00:03:17.320" video="mainVideo-unentangling" id="subtitle"]]
-[[!template text="""real quick, I go to the readme file.""" start="00:03:19.000" video="mainVideo-unentangling" id="subtitle"]]
+[[!template text="""real quick, I go to the README file.""" start="00:03:19.000" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""Then I could go to a change log file,""" start="00:03:21.680" video="mainVideo-unentangling" id="subtitle"]]
-[[!template text="""right? So I have a list of changes and the""" start="00:03:25.280" video="mainVideo-unentangling" id="subtitle"]]
+
+<div class="transcript-heading">[[!template new="1" text="""Capturing""" start="00:03:25.280" video="mainVideo-unentangling" id="subtitle"]]</div>[[!template text="""right? So I have a list of changes and the""" start="00:03:25.280" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""way it works usually, for example,""" start="00:03:27.440" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""if I'm working in some code,""" start="00:03:29.480" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""I created a couple of dummy files in there,""" start="00:03:32.220" video="mainVideo-unentangling" id="subtitle"]]
@@ -93,8 +96,8 @@
[[!template text="""I can open the change log and go through""" start="00:04:12.720" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""entries 1 by 1 and discuss what I haven't""" start="00:04:14.340" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""implemented last time.""" start="00:04:16.800" video="mainVideo-unentangling" id="subtitle"]]
-[[!template text="""I could go to project specific,""" start="00:04:19.540" video="mainVideo-unentangling" id="subtitle"]]
-[[!template text="""sorry, to repo specific to-do list.""" start="00:04:24.100" video="mainVideo-unentangling" id="subtitle"]]
+[[!template text="""I could go to project-specific,""" start="00:04:19.540" video="mainVideo-unentangling" id="subtitle"]]
+[[!template text="""sorry, to repo-specific to-do list.""" start="00:04:24.100" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""And I have list of to-dos that would leave""" start="00:04:26.320" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""within a repository. And for example,""" start="00:04:29.020" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""I could have a high level structure here,""" start="00:04:31.320" video="mainVideo-unentangling" id="subtitle"]]
@@ -103,7 +106,8 @@
[[!template text="""so to speak. And of course,""" start="00:04:39.380" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""there are very many ways to jump through the""" start="00:04:42.840" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""source code conveniently.""" start="00:04:45.400" video="mainVideo-unentangling" id="subtitle"]]
-[[!template text="""I ended up not using language servers I use a""" start="00:04:46.560" video="mainVideo-unentangling" id="subtitle"]]
+
+<div class="transcript-heading">[[!template new="1" text="""Ctags""" start="00:04:46.560" video="mainVideo-unentangling" id="subtitle"]]</div>[[!template text="""I ended up not using language servers. I use a""" start="00:04:46.560" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""special program called ctags and so the way""" start="00:04:49.960" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""it works is just I call projectile regenerate""" start="00:04:53.320" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""tags and it creates the special tags file""" start="00:04:56.680" video="mainVideo-unentangling" id="subtitle"]]
@@ -122,7 +126,8 @@
[[!template text="""Python glue within the same source code""" start="00:05:33.280" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""repository, it makes it really convenient to""" start="00:05:35.380" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""jump between all of those.""" start="00:05:39.720" video="mainVideo-unentangling" id="subtitle"]]
-[[!template text="""But I have a few problems here.""" start="00:05:43.080" video="mainVideo-unentangling" id="subtitle"]]
+
+<div class="transcript-heading">[[!template new="1" text="""Org Roam""" start="00:05:43.080" video="mainVideo-unentangling" id="subtitle"]]</div>[[!template text="""But I have a few problems here.""" start="00:05:43.080" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""So just to give you a little bit of context,""" start="00:05:47.360" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""for example, here is a real project that""" start="00:05:49.860" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""corresponds to real paper.""" start="00:05:53.100" video="mainVideo-unentangling" id="subtitle"]]
@@ -162,15 +167,17 @@
[[!template text="""that, I suppose. And 1 way to do that is,""" start="00:07:24.720" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""so I create a special folder within my""" start="00:07:29.040" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""org-roam storage. So it's a special folder""" start="00:07:33.160" video="mainVideo-unentangling" id="subtitle"]]
-[[!template text="""outside of Henry Postories that got backed up""" start="00:07:38.240" video="mainVideo-unentangling" id="subtitle"]]
+[[!template text="""outside of any repositories that got backed up""" start="00:07:38.240" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""to my hard drive with certain redundancy,""" start="00:07:40.940" video="mainVideo-unentangling" id="subtitle"]]
-[[!template text="""but I don't really need like version control,""" start="00:07:44.080" video="mainVideo-unentangling" id="subtitle"]]
+[[!template text="""but I don't really need version control,""" start="00:07:44.080" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""full blown version control for that.""" start="00:07:46.720" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""I'm okay with just having a couple of""" start="00:07:48.280" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""backups, right? So this is the folder you see""" start="00:07:49.760" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""here. So PKB stands for personal knowledge""" start="00:07:52.900" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""base, and I have a folder project notes in""" start="00:07:55.320" video="mainVideo-unentangling" id="subtitle"]]
-[[!template text="""there, right? So, and How does it work?""" start="00:07:58.020" video="mainVideo-unentangling" id="subtitle"]]
+[[!template text="""there, right?""" start="00:07:58.020" video="mainVideo-unentangling" id="subtitle"]]
+
+<div class="transcript-heading">[[!template new="1" text="""How does it work?""" start="00:07:59.340" video="mainVideo-unentangling" id="subtitle"]]</div>[[!template text="""How does it work?""" start="00:07:59.340" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""So I have a folder per project in there,""" start="00:08:01.680" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""essentially. And here I can have all the""" start="00:08:05.020" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""stuff that kind of belongs to me and I do not""" start="00:08:07.900" video="mainVideo-unentangling" id="subtitle"]]
@@ -189,14 +196,14 @@
[[!template text="""oh, sorry, if I hit a special key,""" start="00:08:44.380" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""that would be open project.""" start="00:08:48.280" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""And then for example, org mode file,""" start="00:08:51.680" video="mainVideo-unentangling" id="subtitle"]]
-[[!template text="""right? So this is my personal notes about the""" start="00:08:55.920" video="mainVideo-unentangling" id="subtitle"]]
-[[!template text="""maxconf, not specifically about this very""" start="00:08:58.260" video="mainVideo-unentangling" id="subtitle"]]
+[[!template text="""right? So this is my personal notes about""" start="00:08:55.920" video="mainVideo-unentangling" id="subtitle"]]
+[[!template text="""EmacsConf, not specifically about this very""" start="00:08:58.260" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""talk, but I can have, you know,""" start="00:09:01.260" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""the house baked ideas here again,""" start="00:09:02.580" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""presentation tools and things like that.""" start="00:09:04.760" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""And how does that happen?""" start="00:09:07.440" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""If we try to like look at the code,""" start="00:09:09.940" video="mainVideo-unentangling" id="subtitle"]]
-[[!template text="""the e-list magic here,""" start="00:09:13.080" video="mainVideo-unentangling" id="subtitle"]]
+[[!template text="""the elisp magic here,""" start="00:09:13.080" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""what is happening is it's just a couple of""" start="00:09:15.040" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""lines of code, in fact,""" start="00:09:17.560" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""so let me just press Control,""" start="00:09:18.720" video="mainVideo-unentangling" id="subtitle"]]
@@ -215,14 +222,14 @@
[[!template text="""project tile. Well, that's pretty much it.""" start="00:10:00.480" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""And how do I define this variable?""" start="00:10:03.340" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""Is essentially there is this magical file in""" start="00:10:09.280" video="mainVideo-unentangling" id="subtitle"]]
-[[!template text="""a folder called dear locals,""" start="00:10:12.500" video="mainVideo-unentangling" id="subtitle"]]
-[[!template text="""elist. And I just put it there.""" start="00:10:14.440" video="mainVideo-unentangling" id="subtitle"]]
+[[!template text="""a folder called .dir-locals.el. And I just put it there.""" start="00:10:12.500" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""And then whenever I go into that folder or""" start="00:10:17.440" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""any of its children folders,""" start="00:10:20.380" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""I get this variable defined.""" start="00:10:22.300" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""And that's pretty much it.""" start="00:10:24.840" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""That's how it works for me.""" start="00:10:26.280" video="mainVideo-unentangling" id="subtitle"]]
-[[!template text="""I guess 1 thing that I wanted to emphasize""" start="00:10:31.860" video="mainVideo-unentangling" id="subtitle"]]
+
+<div class="transcript-heading">[[!template new="1" text="""Time tracking""" start="00:10:31.860" video="mainVideo-unentangling" id="subtitle"]]</div>[[!template text="""I guess 1 thing that I wanted to emphasize""" start="00:10:31.860" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""specifically about that is of course,""" start="00:10:35.380" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""it is a time tracking,""" start="00:10:37.940" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""right? So what is I find especially important""" start="00:10:39.720" video="mainVideo-unentangling" id="subtitle"]]
@@ -241,7 +248,7 @@
[[!template text="""my current project to-dos and I clock in""" start="00:11:16.880" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""there. And that's how it works.""" start="00:11:21.820" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""So again, what comes in handy,""" start="00:11:23.940" video="mainVideo-unentangling" id="subtitle"]]
-[[!template text="""if I hit Control O, I just go back to the""" start="00:11:28.860" video="mainVideo-unentangling" id="subtitle"]]
+[[!template text="""if I hit C-o, I just go back to the""" start="00:11:28.860" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""file I jumped in into and that's I jumped""" start="00:11:31.500" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""from so that's also pretty handy.""" start="00:11:34.240" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""So again no no rocket science in there.""" start="00:11:36.220" video="mainVideo-unentangling" id="subtitle"]]
@@ -267,7 +274,7 @@
[[!template text="""to that, please do jump into the discussion.""" start="00:12:33.320" video="mainVideo-unentangling" id="subtitle"]]
[[!template text="""Yeah, after the talk, thank you.""" start="00:12:37.120" video="mainVideo-unentangling" id="subtitle"]]
-Questions or comments? Please e-mail [emacsconf-org-private@gnu.org](mailto:emacsconf-org-private@gnu.org?subject=Comment%20for%20EmacsConf%202023%20unentangling%3A%20%28Un%29entangling%20projects%20and%20repos)
+</div>Questions or comments? Please e-mail [emacsconf-org-private@gnu.org](mailto:emacsconf-org-private@gnu.org?subject=Comment%20for%20EmacsConf%202023%20unentangling%3A%20%28Un%29entangling%20projects%20and%20repos)
<!-- End of emacsconf-publish-after-page -->
diff --git a/2023/info/unentangling-before.md b/2023/info/unentangling-before.md
index d8a2318c..bec15a98 100644
--- a/2023/info/unentangling-before.md
+++ b/2023/info/unentangling-before.md
@@ -1,12 +1,22 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
[[!toc ]]
-Format: 13-min talk; Q&A: Etherpad
+Format: 13-min talk ; Q&A: Etherpad
Status: Q&A to be extracted from the room recordings
-<div class="vid"><video controls preload="none" id="unentangling-mainVideo"><source src="https://media.emacsconf.org/2023/emacsconf-2023-unentangling--unentangling-projects-and-repos--alexey-bochkarev--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-unentangling--unentangling-projects-and-repos--alexey-bochkarev--main.vtt" default />"""<p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video><div></div>Duration: 12:39 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-unentangling--unentangling-projects-and-repos--alexey-bochkarev--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-unentangling--unentangling-projects-and-repos--alexey-bochkarev--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-unentangling--unentangling-projects-and-repos--alexey-bochkarev--main.json">Download --main.json</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-unentangling--unentangling-projects-and-repos--alexey-bochkarev--main.opus">Download --main.opus (10MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-unentangling--unentangling-projects-and-repos--alexey-bochkarev--main.vtt">Download --main.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-unentangling--unentangling-projects-and-repos--alexey-bochkarev--main.webm">Download --main.webm (68MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-unentangling--unentangling-projects-and-repos--alexey-bochkarev--pad.html">Download --pad.html</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-unentangling--unentangling-projects-and-repos--alexey-bochkarev--pad.md">Download --pad.md</a></li><li><a href="https://toobnix.org/w/wLxyZBoFAad575Lp4PGyoF">View on Toobnix</a></li></ul></div></div>
+<div class="vid mainVideo"><video controls preload="none" id="mainVideo-unentangling"><source src="https://media.emacsconf.org/2023/emacsconf-2023-unentangling--unentangling-projects-and-repos--alexey-bochkarev--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-unentangling--unentangling-projects-and-repos--alexey-bochkarev--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2023/captions/emacsconf-2023-unentangling--unentangling-projects-and-repos--alexey-bochkarev--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-unentangling" data="""
+00:01.220 Introduction
+00:44.120 The problem
+02:04.860 Jumping around
+03:25.280 Capturing
+04:46.560 Ctags
+05:43.080 Org Roam
+07:59.340 How does it work?
+10:31.860 Time tracking
+
+"""]]<div></div>Duration: 12:39 minutes<div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2023-unentangling">Open Etherpad</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-unentangling--unentangling-projects-and-repos--alexey-bochkarev--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-unentangling--unentangling-projects-and-repos--alexey-bochkarev--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-unentangling--unentangling-projects-and-repos--alexey-bochkarev--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-unentangling--unentangling-projects-and-repos--alexey-bochkarev--main.json">Download --main.json</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-unentangling--unentangling-projects-and-repos--alexey-bochkarev--main.opus">Download --main.opus (10MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-unentangling--unentangling-projects-and-repos--alexey-bochkarev--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-unentangling--unentangling-projects-and-repos--alexey-bochkarev--main.webm">Download --main.webm (68MB)</a></li><li><a href="https://toobnix.org/w/wLxyZBoFAad575Lp4PGyoF">View on Toobnix</a></li><li><a href="https://www.youtube.com/watch?v=o9j4IwJsvPI">View on Youtube</a></li></ul></div></div>
# Description
<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2023/info/unentangling-nav.md b/2023/info/unentangling-nav.md
index 24e0a4b0..4ddda87d 100644
--- a/2023/info/unentangling-nav.md
+++ b/2023/info/unentangling-nav.md
@@ -3,5 +3,5 @@
Back to the [[talks]]
Previous by track: <a href="/2023/talks/ref">Org-Mode workflow: informal reference tracking</a>
Next by track: <a href="/2023/talks/devel">Emacs development updates</a>
-Track: <span class="sched-track General">General</span>
+Track: <span class="sched-track General">General</span> - <strong><a href="https://emacsconf.org/2023/watch/gen">Watch</a></strong>
</div>
diff --git a/2023/info/uni-after.md b/2023/info/uni-after.md
index 2bfe8152..bd372d5f 100644
--- a/2023/info/uni-after.md
+++ b/2023/info/uni-after.md
@@ -1,13 +1,10 @@
<!-- Automatically generated by emacsconf-publish-after-page -->
-<a name="uni-mainVideo-transcript"></a>
-# Transcript
+<div class="transcript transcript-mainVideo"><a name="uni-mainVideo-transcript"></a><h1>Transcript</h1>
-[[!template new="1" text="""Introduction""" start="00:00:00.000" video="mainVideo-uni" id="subtitle"]]
-
-[[!template text="""Hello everyone. I'm James Howell.""" start="00:00:00.000" video="mainVideo-uni" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Introduction""" start="00:00:00.000" video="mainVideo-uni" id="subtitle"]]</div>[[!template text="""Hello everyone. I'm James Howell.""" start="00:00:00.000" video="mainVideo-uni" id="subtitle"]]
[[!template text="""I teach biochemistry and""" start="00:00:01.940" video="mainVideo-uni" id="subtitle"]]
[[!template text="""molecular biology at Penn State University.""" start="00:00:03.540" video="mainVideo-uni" id="subtitle"]]
[[!template text="""I'm going to talk today""" start="00:00:07.220" video="mainVideo-uni" id="subtitle"]]
@@ -38,9 +35,7 @@
[[!template text="""So I promised to talk about""" start="00:01:09.940" video="mainVideo-uni" id="subtitle"]]
[[!template text="""both authoring and presenting.""" start="00:01:11.240" video="mainVideo-uni" id="subtitle"]]
-[[!template new="1" text="""Presenting""" start="00:01:12.440" video="mainVideo-uni" id="subtitle"]]
-
-[[!template text="""And first I'm going to talk about presenting.""" start="00:01:12.440" video="mainVideo-uni" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Presenting""" start="00:01:12.440" video="mainVideo-uni" id="subtitle"]]</div>[[!template text="""And first I'm going to talk about presenting.""" start="00:01:12.440" video="mainVideo-uni" id="subtitle"]]
[[!template text="""I'm not the only one who does this.""" start="00:01:14.620" video="mainVideo-uni" id="subtitle"]]
[[!template text="""You might have seen System Crafters [David Wilson]""" start="00:01:16.600" video="mainVideo-uni" id="subtitle"]]
[[!template text="""or Prot's [Protesilaos Stavrou's] channel or""" start="00:01:19.300" video="mainVideo-uni" id="subtitle"]]
@@ -57,9 +52,7 @@
[[!template text="""There's prior art here""" start="00:01:43.740" video="mainVideo-uni" id="subtitle"]]
[[!template text="""that I'd like to acknowledge.""" start="00:01:45.740" video="mainVideo-uni" id="subtitle"]]
-[[!template new="1" text="""Hardware""" start="00:01:47.820" video="mainVideo-uni" id="subtitle"]]
-
-[[!template text="""Let me talk about my practices:""" start="00:01:47.820" video="mainVideo-uni" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Hardware""" start="00:01:47.820" video="mainVideo-uni" id="subtitle"]]</div>[[!template text="""Let me talk about my practices:""" start="00:01:47.820" video="mainVideo-uni" id="subtitle"]]
[[!template text="""First, the hardware.""" start="00:01:50.840" video="mainVideo-uni" id="subtitle"]]
[[!template text="""This is the hardware that I'm using to""" start="00:01:51.520" video="mainVideo-uni" id="subtitle"]]
[[!template text="""record this recording at the very moment,""" start="00:01:55.340" video="mainVideo-uni" id="subtitle"]]
@@ -133,9 +126,7 @@
[[!template text="""the laptop and go into""" start="00:04:43.210" video="mainVideo-uni" id="subtitle"]]
[[!template text="""some AV system or another.""" start="00:04:44.410" video="mainVideo-uni" id="subtitle"]]
-[[!template new="1" text="""Example setup""" start="00:04:46.610" video="mainVideo-uni" id="subtitle"]]
-
-[[!template text="""Okay. This was Wednesday,""" start="00:04:46.610" video="mainVideo-uni" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Example setup""" start="00:04:46.610" video="mainVideo-uni" id="subtitle"]]</div>[[!template text="""Okay. This was Wednesday,""" start="00:04:46.610" video="mainVideo-uni" id="subtitle"]]
[[!template text="""teaching microbiology.""" start="00:04:49.070" video="mainVideo-uni" id="subtitle"]]
[[!template text="""There's the tablet, there's the laptop.""" start="00:04:51.070" video="mainVideo-uni" id="subtitle"]]
[[!template text="""There's the external screen""" start="00:04:53.230" video="mainVideo-uni" id="subtitle"]]
@@ -157,9 +148,7 @@
[[!template text="""still see what I'm pointing to on the screen.""" start="00:05:23.940" video="mainVideo-uni" id="subtitle"]]
[[!template text="""Nobody gets left out.""" start="00:05:27.400" video="mainVideo-uni" id="subtitle"]]
-[[!template new="1" text="""Presentation software: flexibility in function""" start="00:05:30.520" video="mainVideo-uni" id="subtitle"]]
-
-[[!template text="""Let's talk about""" start="00:05:30.520" video="mainVideo-uni" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Presentation software: flexibility in function""" start="00:05:30.520" video="mainVideo-uni" id="subtitle"]]</div>[[!template text="""Let's talk about""" start="00:05:30.520" video="mainVideo-uni" id="subtitle"]]
[[!template text="""the software that I use.""" start="00:05:31.480" video="mainVideo-uni" id="subtitle"]]
[[!template text="""There's a lot of different things that""" start="00:05:33.900" video="mainVideo-uni" id="subtitle"]]
[[!template text="""I want to be able to show.""" start="00:05:35.980" video="mainVideo-uni" id="subtitle"]]
@@ -199,9 +188,7 @@
[[!template text="""OBS is compositing that together.""" start="00:07:00.230" video="mainVideo-uni" id="subtitle"]]
[[!template text="""And I use Zoom, but you could use Jitsi.""" start="00:07:02.890" video="mainVideo-uni" id="subtitle"]]
-[[!template new="1" text="""Live demonstration""" start="00:07:05.950" video="mainVideo-uni" id="subtitle"]]
-
-[[!template text="""All right, let's""" start="00:07:05.950" video="mainVideo-uni" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Live demonstration""" start="00:07:05.950" video="mainVideo-uni" id="subtitle"]]</div>[[!template text="""All right, let's""" start="00:07:05.950" video="mainVideo-uni" id="subtitle"]]
[[!template text="""demonstrate this live. Here we go.""" start="00:07:07.930" video="mainVideo-uni" id="subtitle"]]
[[!template text="""Here goes, nothing. The drawing program""" start="00:07:09.690" video="mainVideo-uni" id="subtitle"]]
[[!template text="""is really good because I can draw""" start="00:07:13.610" video="mainVideo-uni" id="subtitle"]]
@@ -225,9 +212,7 @@
[[!template text="""to mark them up visually.""" start="00:07:55.810" video="mainVideo-uni" id="subtitle"]]
[[!template text="""I can show you what that looks like.""" start="00:07:57.450" video="mainVideo-uni" id="subtitle"]]
-[[!template new="1" text="""OBS""" start="00:07:59.850" video="mainVideo-uni" id="subtitle"]]
-
-[[!template text="""By the way, here's how OBS works:""" start="00:07:59.850" video="mainVideo-uni" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""OBS""" start="00:07:59.850" video="mainVideo-uni" id="subtitle"]]</div>[[!template text="""By the way, here's how OBS works:""" start="00:07:59.850" video="mainVideo-uni" id="subtitle"]]
[[!template text="""I can go from different &quot;scenes&quot;""" start="00:08:02.830" video="mainVideo-uni" id="subtitle"]]
[[!template text="""So I can just do just me,""" start="00:08:04.470" video="mainVideo-uni" id="subtitle"]]
[[!template text="""or I can show you the slides,""" start="00:08:06.070" video="mainVideo-uni" id="subtitle"]]
@@ -241,9 +226,7 @@
[[!template text="""zoom and what page I'm on,""" start="00:08:23.170" video="mainVideo-uni" id="subtitle"]]
[[!template text="""but you don't have to see that.""" start="00:08:24.830" video="mainVideo-uni" id="subtitle"]]
-[[!template new="1" text="""Firefox""" start="00:08:27.190" video="mainVideo-uni" id="subtitle"]]
-
-[[!template text="""Okay. Firefox, boy, I do a lot of this.""" start="00:08:27.190" video="mainVideo-uni" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Firefox""" start="00:08:27.190" video="mainVideo-uni" id="subtitle"]]</div>[[!template text="""Okay. Firefox, boy, I do a lot of this.""" start="00:08:27.190" video="mainVideo-uni" id="subtitle"]]
[[!template text="""All of the quizzes,""" start="00:08:32.390" video="mainVideo-uni" id="subtitle"]]
[[!template text="""quizzes and exams in my courses""" start="00:08:36.790" video="mainVideo-uni" id="subtitle"]]
[[!template text="""are online on this""" start="00:08:38.460" video="mainVideo-uni" id="subtitle"]]
@@ -293,9 +276,7 @@
[[!template text="""is called the major groove.&quot;""" start="00:10:23.420" video="mainVideo-uni" id="subtitle"]]
[[!template text="""And students couldn't see it.""" start="00:10:24.420" video="mainVideo-uni" id="subtitle"]]
-[[!template new="1" text="""Animation""" start="00:10:26.060" video="mainVideo-uni" id="subtitle"]]
-
-[[!template text="""But if you animate it—""" start="00:10:26.060" video="mainVideo-uni" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Animation""" start="00:10:26.060" video="mainVideo-uni" id="subtitle"]]</div>[[!template text="""But if you animate it—""" start="00:10:26.060" video="mainVideo-uni" id="subtitle"]]
[[!template text="""if you just have it""" start="00:10:29.440" video="mainVideo-uni" id="subtitle"]]
[[!template text="""move, the apparent movement,""" start="00:10:30.280" video="mainVideo-uni" id="subtitle"]]
[[!template text="""It's not really movement,""" start="00:10:33.320" video="mainVideo-uni" id="subtitle"]]
@@ -308,9 +289,7 @@
[[!template text="""image just can't provide""" start="00:10:47.220" video="mainVideo-uni" id="subtitle"]]
[[!template text="""that understanding, while moving image can.""" start="00:10:48.320" video="mainVideo-uni" id="subtitle"]]
-[[!template new="1" text="""Emacs""" start="00:10:55.790" video="mainVideo-uni" id="subtitle"]]
-
-[[!template text="""I use Emacs to look at text.""" start="00:10:55.790" video="mainVideo-uni" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Emacs""" start="00:10:55.790" video="mainVideo-uni" id="subtitle"]]</div>[[!template text="""I use Emacs to look at text.""" start="00:10:55.790" video="mainVideo-uni" id="subtitle"]]
[[!template text="""Where's Emacs? Here's Emacs! We read""" start="00:10:58.180" video="mainVideo-uni" id="subtitle"]]
[[!template text="""Vonnegut in this English class that I""" start="00:11:02.520" video="mainVideo-uni" id="subtitle"]]
[[!template text="""teach and I'm going to tab over to Emacs.""" start="00:11:04.280" video="mainVideo-uni" id="subtitle"]]
@@ -330,9 +309,7 @@
[[!template text="""to do on the chalkboard.""" start="00:11:36.820" video="mainVideo-uni" id="subtitle"]]
[[!template text="""So Emacs is really good for that sort of thing.""" start="00:11:39.400" video="mainVideo-uni" id="subtitle"]]
-[[!template new="1" text="""Making slides and handouts with Org Mode""" start="00:11:42.260" video="mainVideo-uni" id="subtitle"]]
-
-[[!template text="""Mostly what I use Emacs for is not to""" start="00:11:42.260" video="mainVideo-uni" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Making slides and handouts with Org Mode""" start="00:11:42.260" video="mainVideo-uni" id="subtitle"]]</div>[[!template text="""Mostly what I use Emacs for is not to""" start="00:11:42.260" video="mainVideo-uni" id="subtitle"]]
[[!template text="""present but to make slides and handouts.""" start="00:11:45.380" video="mainVideo-uni" id="subtitle"]]
[[!template text="""Okay. Again, the thing that I want to""" start="00:11:50.340" video="mainVideo-uni" id="subtitle"]]
[[!template text="""stress is that the slides""" start="00:11:52.360" video="mainVideo-uni" id="subtitle"]]
@@ -375,9 +352,7 @@
[[!template text="""PDF documents like the handouts as""" start="00:13:15.060" video="mainVideo-uni" id="subtitle"]]
[[!template text="""LaTeX, and slides like these through Beamer export.""" start="00:13:17.000" video="mainVideo-uni" id="subtitle"]]
-[[!template new="1" text="""Pedagogy first""" start="00:13:22.680" video="mainVideo-uni" id="subtitle"]]
-
-[[!template text="""The approach is to think""" start="00:13:22.680" video="mainVideo-uni" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Pedagogy first""" start="00:13:22.680" video="mainVideo-uni" id="subtitle"]]</div>[[!template text="""The approach is to think""" start="00:13:22.680" video="mainVideo-uni" id="subtitle"]]
[[!template text="""about pedagogy rather than thinking""" start="00:13:24.920" video="mainVideo-uni" id="subtitle"]]
[[!template text="""about software or thinking""" start="00:13:26.900" video="mainVideo-uni" id="subtitle"]]
[[!template text="""about graphic design.""" start="00:13:28.280" video="mainVideo-uni" id="subtitle"]]
@@ -444,9 +419,7 @@
[[!template text="""So streamlining this workflow""" start="00:16:12.050" video="mainVideo-uni" id="subtitle"]]
[[!template text="""has been really helpful.""" start="00:16:15.730" video="mainVideo-uni" id="subtitle"]]
-[[!template new="1" text="""org-teach""" start="00:16:17.790" video="mainVideo-uni" id="subtitle"]]
-
-[[!template text="""All right, so let me show""" start="00:16:17.790" video="mainVideo-uni" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""org-teach""" start="00:16:17.790" video="mainVideo-uni" id="subtitle"]]</div>[[!template text="""All right, so let me show""" start="00:16:17.790" video="mainVideo-uni" id="subtitle"]]
[[!template text="""you what I've developed.""" start="00:16:19.310" video="mainVideo-uni" id="subtitle"]]
[[!template text="""Let's look at the Org doc.""" start="00:16:21.650" video="mainVideo-uni" id="subtitle"]]
[[!template text="""Okay. So what you see is you have""" start="00:16:24.490" video="mainVideo-uni" id="subtitle"]]
@@ -523,16 +496,12 @@
[[!template text="""For an entire slide being an image,""" start="00:19:32.450" video="mainVideo-uni" id="subtitle"]]
[[!template text="""you can use this image-slide macro.""" start="00:19:35.650" video="mainVideo-uni" id="subtitle"]]
-[[!template new="1" text="""Blank slides""" start="00:19:38.330" video="mainVideo-uni" id="subtitle"]]
-
-[[!template text="""I often put in blank slides to""" start="00:19:38.330" video="mainVideo-uni" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Blank slides""" start="00:19:38.330" video="mainVideo-uni" id="subtitle"]]</div>[[!template text="""I often put in blank slides to""" start="00:19:38.330" video="mainVideo-uni" id="subtitle"]]
[[!template text="""remind myself that this is a time to stop.""" start="00:19:41.130" video="mainVideo-uni" id="subtitle"]]
[[!template text="""Often there's something for me to""" start="00:19:43.270" video="mainVideo-uni" id="subtitle"]]
[[!template text="""draw here with the stylus.""" start="00:19:44.790" video="mainVideo-uni" id="subtitle"]]
-[[!template new="1" text="""Animations""" start="00:19:50.050" video="mainVideo-uni" id="subtitle"]]
-
-[[!template text="""I often use— it used to be Powerpoint,""" start="00:19:50.050" video="mainVideo-uni" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Animations""" start="00:19:50.050" video="mainVideo-uni" id="subtitle"]]</div>[[!template text="""I often use— it used to be Powerpoint,""" start="00:19:50.050" video="mainVideo-uni" id="subtitle"]]
[[!template text="""now I use LibreOffice Impress—to make""" start="00:19:53.150" video="mainVideo-uni" id="subtitle"]]
[[!template text="""multi slide animations like""" start="00:19:56.070" video="mainVideo-uni" id="subtitle"]]
[[!template text="""the sphere and the donut and the GI tract.""" start="00:19:58.310" video="mainVideo-uni" id="subtitle"]]
@@ -543,9 +512,7 @@
[[!template text="""Just into the slides, not into""" start="00:20:14.470" video="mainVideo-uni" id="subtitle"]]
[[!template text="""the handouts with this macro.""" start="00:20:16.670" video="mainVideo-uni" id="subtitle"]]
-[[!template new="1" text="""Conclusion""" start="00:20:19.270" video="mainVideo-uni" id="subtitle"]]
-
-[[!template text="""I hope that you find this useful.""" start="00:20:19.270" video="mainVideo-uni" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Conclusion""" start="00:20:19.270" video="mainVideo-uni" id="subtitle"]]</div>[[!template text="""I hope that you find this useful.""" start="00:20:19.270" video="mainVideo-uni" id="subtitle"]]
[[!template text="""I hope you share it with""" start="00:20:21.490" video="mainVideo-uni" id="subtitle"]]
[[!template text="""other educators that you know.""" start="00:20:22.450" video="mainVideo-uni" id="subtitle"]]
[[!template text="""Here is the sourcehut repo,""" start="00:20:24.090" video="mainVideo-uni" id="subtitle"]]
@@ -561,8 +528,7 @@
[[!template text="""all of the people behind it.""" start="00:20:50.090" video="mainVideo-uni" id="subtitle"]]
[[!template text="""Thanks everybody.""" start="00:20:51.330" video="mainVideo-uni" id="subtitle"]]
-<a name="uni-qanda-transcript"></a>
-# Q&A transcript (unedited)
+</div><div class="transcript transcript-qanda"><a name="uni-qanda-transcript"></a><h1>Q&A transcript (unedited)</h1>
[[!template text="""[Speaker 0]: You can hear us. Can you perhaps do it for""" start="00:00:00.000" video="qanda-uni" id="subtitle"]]
[[!template text="""me? Great. The little angels in the""" start="00:00:01.839" video="qanda-uni" id="subtitle"]]
@@ -965,7 +931,7 @@
[[!template text="""its document code or output part can be""" start="00:22:14.440" video="qanda-uni" id="subtitle"]]
[[!template text="""exported in a variety of forms.""" start="00:22:16.980" video="qanda-uni" id="subtitle"]]
-Questions or comments? Please e-mail [emacsconf-org-private@gnu.org](mailto:emacsconf-org-private@gnu.org?subject=Comment%20for%20EmacsConf%202023%20uni%3A%20Authoring%20and%20presenting%20university%20courses%20with%20Emacs%20and%20a%20full%20libre%20software%20stack)
+</div>Questions or comments? Please e-mail [emacsconf-org-private@gnu.org](mailto:emacsconf-org-private@gnu.org?subject=Comment%20for%20EmacsConf%202023%20uni%3A%20Authoring%20and%20presenting%20university%20courses%20with%20Emacs%20and%20a%20full%20libre%20software%20stack)
<!-- End of emacsconf-publish-after-page -->
diff --git a/2023/info/uni-before.md b/2023/info/uni-before.md
index 6ac65fe2..2f625597 100644
--- a/2023/info/uni-before.md
+++ b/2023/info/uni-before.md
@@ -1,6 +1,6 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
[[!toc ]]
-Format: 21-min talk; Q&A: BigBlueButton conference room
+Format: 21-min talk ; Q&A: BigBlueButton conference room
Status: Q&A to be extracted from the room recordings
@@ -9,7 +9,7 @@ Status: Q&A to be extracted from the room recordings
# Talk
-<div class="vid"><video controls preload="none" id="uni-mainVideo"><source src="https://media.emacsconf.org/2023/emacsconf-2023-uni--authoring-and-presenting-university-courses-with-emacs-and-a-full-libre-software-stack--james-howell--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-uni--authoring-and-presenting-university-courses-with-emacs-and-a-full-libre-software-stack--james-howell--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2023/captions/emacsconf-2023-uni--authoring-and-presenting-university-courses-with-emacs-and-a-full-libre-software-stack--james-howell--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="uni-mainVideo" data="""
+<div class="vid mainVideo"><video controls preload="none" id="mainVideo-uni"><source src="https://media.emacsconf.org/2023/emacsconf-2023-uni--authoring-and-presenting-university-courses-with-emacs-and-a-full-libre-software-stack--james-howell--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-uni--authoring-and-presenting-university-courses-with-emacs-and-a-full-libre-software-stack--james-howell--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2023/captions/emacsconf-2023-uni--authoring-and-presenting-university-courses-with-emacs-and-a-full-libre-software-stack--james-howell--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-uni" data="""
00:00.000 Introduction
01:12.440 Presenting
01:47.820 Hardware
@@ -26,10 +26,10 @@ Status: Q&A to be extracted from the room recordings
19:50.050 Animations
20:19.270 Conclusion
-"""]]<div></div>Duration: 20:53 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-uni--authoring-and-presenting-university-courses-with-emacs-and-a-full-libre-software-stack--james-howell--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-uni--authoring-and-presenting-university-courses-with-emacs-and-a-full-libre-software-stack--james-howell--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-uni--authoring-and-presenting-university-courses-with-emacs-and-a-full-libre-software-stack--james-howell--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-uni--authoring-and-presenting-university-courses-with-emacs-and-a-full-libre-software-stack--james-howell--main.opus">Download --main.opus (12MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-uni--authoring-and-presenting-university-courses-with-emacs-and-a-full-libre-software-stack--james-howell--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-uni--authoring-and-presenting-university-courses-with-emacs-and-a-full-libre-software-stack--james-howell--main.webm">Download --main.webm (283MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-uni--authoring-and-presenting-university-courses-with-emacs-and-a-full-libre-software-stack--james-howell--pad.html">Download --pad.html</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-uni--authoring-and-presenting-university-courses-with-emacs-and-a-full-libre-software-stack--james-howell--pad.md">Download --pad.md</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-uni--authoring-and-presenting-university-courses-with-emacs-and-a-full-libre-software-stack--james-howell--slides.pdf">Download --slides.pdf (26MB)</a></li><li><a href="https://toobnix.org/w/mAnNW7jnPq5qhUPH2dzVQf">View on Toobnix</a></li></ul></div></div>
+"""]]<div></div>Duration: 20:53 minutes<div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2023-uni">Open Etherpad</a></li><li><a href="https://bbb.emacsverse.org/playback/presentation/2.0/playback.html?meetingId=dfdd18fb34bc59b228ab37bc22b0e5ce3b96437b-1701525315024">Play recording from BigBlueButton</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-uni--authoring-and-presenting-university-courses-with-emacs-and-a-full-libre-software-stack--james-howell--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-uni--authoring-and-presenting-university-courses-with-emacs-and-a-full-libre-software-stack--james-howell--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-uni--authoring-and-presenting-university-courses-with-emacs-and-a-full-libre-software-stack--james-howell--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-uni--authoring-and-presenting-university-courses-with-emacs-and-a-full-libre-software-stack--james-howell--main.opus">Download --main.opus (12MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-uni--authoring-and-presenting-university-courses-with-emacs-and-a-full-libre-software-stack--james-howell--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-uni--authoring-and-presenting-university-courses-with-emacs-and-a-full-libre-software-stack--james-howell--main.webm">Download --main.webm (283MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-uni--authoring-and-presenting-university-courses-with-emacs-and-a-full-libre-software-stack--james-howell--slides.pdf">Download --slides.pdf (26MB)</a></li><li><a href="https://toobnix.org/w/mAnNW7jnPq5qhUPH2dzVQf">View on Toobnix</a></li><li><a href="https://www.youtube.com/watch?v=cklJ58i-HUY">View on Youtube</a></li></ul></div></div>
# Q&A
-<div class="vid"><video controls preload="none" id="uni-qanda"><source src="https://media.emacsconf.org/2023/emacsconf-2023-uni--authoring-and-presenting-university-courses-with-emacs-and-a-full-libre-software-stack--james-howell--answers.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-uni--authoring-and-presenting-university-courses-with-emacs-and-a-full-libre-software-stack--james-howell--answers.vtt" default />"""<p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video><div>Listen to just the audio:<br /><audio controls preload="none" id="uni-qanda-audio" src="https://media.emacsconf.org/2023/emacsconf-2023-uni--authoring-and-presenting-university-courses-with-emacs-and-a-full-libre-software-stack--james-howell--answers.opus"></audio></div><div></div>Duration: 22:32 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-uni--authoring-and-presenting-university-courses-with-emacs-and-a-full-libre-software-stack--james-howell--answers.json">Download --answers.json</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-uni--authoring-and-presenting-university-courses-with-emacs-and-a-full-libre-software-stack--james-howell--answers.opus">Download --answers.opus (14MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-uni--authoring-and-presenting-university-courses-with-emacs-and-a-full-libre-software-stack--james-howell--answers.vtt">Download --answers.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-uni--authoring-and-presenting-university-courses-with-emacs-and-a-full-libre-software-stack--james-howell--answers.webm">Download --answers.webm (56MB)</a></li></ul></div></div>
+<div class="vid qanda"><video controls preload="none" id="qanda-uni"><source src="https://media.emacsconf.org/2023/emacsconf-2023-uni--authoring-and-presenting-university-courses-with-emacs-and-a-full-libre-software-stack--james-howell--answers.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-uni--authoring-and-presenting-university-courses-with-emacs-and-a-full-libre-software-stack--james-howell--answers.vtt" default />"""<p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video><div>Listen to just the audio:<br /><audio controls preload="none" id="qanda-uni-audio" src="https://media.emacsconf.org/2023/emacsconf-2023-uni--authoring-and-presenting-university-courses-with-emacs-and-a-full-libre-software-stack--james-howell--answers.opus"></audio></div><div></div>Duration: 22:32 minutes<div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2023-uni">Open Etherpad</a></li><li><a href="https://bbb.emacsverse.org/playback/presentation/2.0/playback.html?meetingId=dfdd18fb34bc59b228ab37bc22b0e5ce3b96437b-1701525315024">Play recording from BigBlueButton</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-uni--authoring-and-presenting-university-courses-with-emacs-and-a-full-libre-software-stack--james-howell--answers.json">Download --answers.json</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-uni--authoring-and-presenting-university-courses-with-emacs-and-a-full-libre-software-stack--james-howell--answers.opus">Download --answers.opus (14MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-uni--authoring-and-presenting-university-courses-with-emacs-and-a-full-libre-software-stack--james-howell--answers.vtt">Download --answers.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-uni--authoring-and-presenting-university-courses-with-emacs-and-a-full-libre-software-stack--james-howell--answers.webm">Download --answers.webm (56MB)</a></li></ul></div></div>
# Description
<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2023/info/uni-nav.md b/2023/info/uni-nav.md
index 6694d47e..14adb722 100644
--- a/2023/info/uni-nav.md
+++ b/2023/info/uni-nav.md
@@ -3,5 +3,5 @@
Back to the [[talks]]
Previous by track: <a href="/2023/talks/adventure">An Org-Mode based text adventure game for learning the basics of Emacs, inside Emacs, written in Emacs Lisp</a>
Next by track: <a href="/2023/talks/teaching">Teaching computer and data science with literate programming tools</a>
-Track: <span class="sched-track General">General</span>
+Track: <span class="sched-track General">General</span> - <strong><a href="https://emacsconf.org/2023/watch/gen">Watch</a></strong>
</div>
diff --git a/2023/info/voice-after.md b/2023/info/voice-after.md
index 32de9a2c..136fafce 100644
--- a/2023/info/voice-after.md
+++ b/2023/info/voice-after.md
@@ -1,13 +1,10 @@
<!-- Automatically generated by emacsconf-publish-after-page -->
-<a name="voice-mainVideo-transcript"></a>
-# Transcript
+<div class="transcript transcript-mainVideo"><a name="voice-mainVideo-transcript"></a><h1>Transcript</h1>
-[[!template new="1" text="""Introduction""" start="00:00:00.000" video="mainVideo-voice" id="subtitle"]]
-
-[[!template text="""Hi, I'm Blaine Mooers. I'm an associate professor""" start="00:00:00.000" video="mainVideo-voice" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Introduction""" start="00:00:00.000" video="mainVideo-voice" id="subtitle"]]</div>[[!template text="""Hi, I'm Blaine Mooers. I'm an associate professor""" start="00:00:00.000" video="mainVideo-voice" id="subtitle"]]
[[!template text="""of biochemistry at the University of Oklahoma""" start="00:00:04.360" video="mainVideo-voice" id="subtitle"]]
[[!template text="""Health Sciences Center in Oklahoma City.""" start="00:00:06.520" video="mainVideo-voice" id="subtitle"]]
[[!template text="""My lab studies the role of RNA structure in RNA editing.""" start="00:00:09.320" video="mainVideo-voice" id="subtitle"]]
@@ -19,9 +16,7 @@
[[!template text="""I was seeking ways of using voice computing""" start="00:00:29.720" video="mainVideo-voice" id="subtitle"]]
[[!template text="""to try to enhance my productivity.""" start="00:00:33.040" video="mainVideo-voice" id="subtitle"]]
-[[!template new="1" text="""Three activities in voice computing""" start="00:00:37.400" video="mainVideo-voice" id="subtitle"]]
-
-[[!template text="""I divide voice computing into three activities,""" start="00:00:37.400" video="mainVideo-voice" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Three activities in voice computing""" start="00:00:37.400" video="mainVideo-voice" id="subtitle"]]</div>[[!template text="""I divide voice computing into three activities,""" start="00:00:37.400" video="mainVideo-voice" id="subtitle"]]
[[!template text="""speech-to-text or dictation, speech-to-commands,""" start="00:00:41.320" video="mainVideo-voice" id="subtitle"]]
[[!template text="""and speech-to-code. I'll be talking about""" start="00:00:44.960" video="mainVideo-voice" id="subtitle"]]
[[!template text="""speech-to-text and speech-to-commands today""" start="00:00:47.640" video="mainVideo-voice" id="subtitle"]]
@@ -29,9 +24,7 @@
[[!template text="""that are probably most broadly applicable""" start="00:00:55.080" video="mainVideo-voice" id="subtitle"]]
[[!template text="""to the workflows of people attending this conference.""" start="00:00:57.320" video="mainVideo-voice" id="subtitle"]]
-[[!template new="1" text="""Talk is not about ... and about ...""" start="00:01:02.560" video="mainVideo-voice" id="subtitle"]]
-
-[[!template text="""This talk will not be about Emacspeak.""" start="00:01:02.560" video="mainVideo-voice" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Talk is not about ... and about ...""" start="00:01:02.560" video="mainVideo-voice" id="subtitle"]]</div>[[!template text="""This talk will not be about Emacspeak.""" start="00:01:02.560" video="mainVideo-voice" id="subtitle"]]
[[!template text="""This is a venerated program for converting text to speech.""" start="00:01:06.800" video="mainVideo-voice" id="subtitle"]]
[[!template text="""We're talking about the flow of information""" start="00:01:11.360" video="mainVideo-voice" id="subtitle"]]
[[!template text="""in the opposite direction, speech-to-text.""" start="00:01:13.320" video="mainVideo-voice" id="subtitle"]]
@@ -46,9 +39,7 @@
[[!template text="""with the speech-to-commands,""" start="00:01:44.800" video="mainVideo-voice" id="subtitle"]]
[[!template text="""and it's also great at speech-to-code.""" start="00:01:47.560" video="mainVideo-voice" id="subtitle"]]
-[[!template new="1" text="""Motivations""" start="00:01:53.520" video="mainVideo-voice" id="subtitle"]]
-
-[[!template text="""The motivations are, obviously, as I mentioned already,""" start="00:01:53.520" video="mainVideo-voice" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Motivations""" start="00:01:53.520" video="mainVideo-voice" id="subtitle"]]</div>[[!template text="""The motivations are, obviously, as I mentioned already,""" start="00:01:53.520" video="mainVideo-voice" id="subtitle"]]
[[!template text="""for improved productivity.""" start="00:01:57.240" video="mainVideo-voice" id="subtitle"]]
[[!template text="""So, if you're a fast typist""" start="00:01:59.160" video="mainVideo-voice" id="subtitle"]]
[[!template text="""who types faster than they can speak,""" start="00:02:00.400" video="mainVideo-voice" id="subtitle"]]
@@ -79,9 +70,7 @@
[[!template text="""thereby giving your lower body a break""" start="00:03:25.000" video="mainVideo-voice" id="subtitle"]]
[[!template text="""and your eyes a break.""" start="00:03:27.780" video="mainVideo-voice" id="subtitle"]]
-[[!template new="1" text="""Data""" start="00:03:33.240" video="mainVideo-voice" id="subtitle"]]
-
-[[!template text="""I'm not God, so I have to bring data.""" start="00:03:33.240" video="mainVideo-voice" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Data""" start="00:03:33.240" video="mainVideo-voice" id="subtitle"]]</div>[[!template text="""I'm not God, so I have to bring data.""" start="00:03:33.240" video="mainVideo-voice" id="subtitle"]]
[[!template text="""I have two data points here,""" start="00:03:35.640" video="mainVideo-voice" id="subtitle"]]
[[!template text="""the number of words that I wrote in June and July this year""" start="00:03:38.040" video="mainVideo-voice" id="subtitle"]]
[[!template text="""and in September and October.""" start="00:03:42.400" video="mainVideo-voice" id="subtitle"]]
@@ -89,9 +78,7 @@
[[!template text="""in the middle of August. As you can see,""" start="00:03:49.520" video="mainVideo-voice" id="subtitle"]]
[[!template text="""I got an over three-fold increase in my output.""" start="00:03:53.920" video="mainVideo-voice" id="subtitle"]]
-[[!template new="1" text="""Voice In in the Chrome Store""" start="00:03:58.680" video="mainVideo-voice" id="subtitle"]]
-
-[[!template text="""So this is the Chrome store website for voice-in.""" start="00:03:58.680" video="mainVideo-voice" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Voice In in the Chrome Store""" start="00:03:58.680" video="mainVideo-voice" id="subtitle"]]</div>[[!template text="""So this is the Chrome store website for voice-in.""" start="00:03:58.680" video="mainVideo-voice" id="subtitle"]]
[[!template text="""It's only available for Google Chrome.""" start="00:04:07.120" video="mainVideo-voice" id="subtitle"]]
[[!template text="""You just hit the install button to install it.""" start="00:04:11.120" video="mainVideo-voice" id="subtitle"]]
[[!template text="""To configure it, you need to select a language.""" start="00:04:13.240" video="mainVideo-voice" id="subtitle"]]
@@ -99,9 +86,7 @@
[[!template text="""and it supports about a dozen different dialects of English,""" start="00:04:19.560" video="mainVideo-voice" id="subtitle"]]
[[!template text="""including Australian.""" start="00:04:23.120" video="mainVideo-voice" id="subtitle"]]
-[[!template new="1" text="""Works in web pages with text areas""" start="00:04:25.628" video="mainVideo-voice" id="subtitle"]]
-
-[[!template text="""It works on web pages with text areas,""" start="00:04:25.628" video="mainVideo-voice" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Works in web pages with text areas""" start="00:04:25.628" video="mainVideo-voice" id="subtitle"]]</div>[[!template text="""It works on web pages with text areas,""" start="00:04:25.628" video="mainVideo-voice" id="subtitle"]]
[[!template text="""so it works. I use it regularly""" start="00:04:29.960" video="mainVideo-voice" id="subtitle"]]
[[!template text="""on Overleaf and 750words.com,""" start="00:04:33.320" video="mainVideo-voice" id="subtitle"]]
[[!template text="""a distraction-free environment for writing.""" start="00:04:37.880" video="mainVideo-voice" id="subtitle"]]
@@ -114,9 +99,7 @@
[[!template text="""when the cursor is on a web page that has a text area.""" start="00:05:04.160" video="mainVideo-voice" id="subtitle"]]
[[!template text="""So [the presence of a text area is] the main limiting factor.""" start="00:05:09.120" video="mainVideo-voice" id="subtitle"]]
-[[!template new="1" text="""Built-in commands in Voice In Plus""" start="00:05:16.880" video="mainVideo-voice" id="subtitle"]]
-
-[[!template text="""[Voice In] has a number of built-in commands.""" start="00:05:16.880" video="mainVideo-voice" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Built-in commands in Voice In Plus""" start="00:05:16.880" video="mainVideo-voice" id="subtitle"]]</div>[[!template text="""[Voice In] has a number of built-in commands.""" start="00:05:16.880" video="mainVideo-voice" id="subtitle"]]
[[!template text="""You can turn it off by saying &quot;stop dictation&quot;.""" start="00:05:19.160" video="mainVideo-voice" id="subtitle"]]
[[!template text="""It doesn't distinguish between""" start="00:05:24.880" video="mainVideo-voice" id="subtitle"]]
[[!template text="""a command mode and a dictation mode.""" start="00:05:26.120" video="mainVideo-voice" id="subtitle"]]
@@ -139,9 +122,7 @@
[[!template text="""I also provide an Elisp version of this quiz,""" start="00:06:32.160" video="mainVideo-voice" id="subtitle"]]
[[!template text="""but it's a little slower to operate.""" start="00:06:35.600" video="mainVideo-voice" id="subtitle"]]
-[[!template new="1" text="""Common errors made by Voice In""" start="00:06:41.740" video="mainVideo-voice" id="subtitle"]]
-
-[[!template text="""These are some common errors""" start="00:06:41.740" video="mainVideo-voice" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Common errors made by Voice In""" start="00:06:41.740" video="mainVideo-voice" id="subtitle"]]</div>[[!template text="""These are some common errors""" start="00:06:41.740" video="mainVideo-voice" id="subtitle"]]
[[!template text="""that I've run into with Voice In.""" start="00:06:43.400" video="mainVideo-voice" id="subtitle"]]
[[!template text="""It likes to contract statements like &quot;I will&quot; into &quot;I'll&quot;.""" start="00:06:45.400" video="mainVideo-voice" id="subtitle"]]
[[!template text="""Contractions are not used in formal writing,""" start="00:06:50.320" video="mainVideo-voice" id="subtitle"]]
@@ -165,9 +146,7 @@
[[!template text="""in that it doesn't have a command mode""" start="00:08:07.120" video="mainVideo-voice" id="subtitle"]]
[[!template text="""that's separate from a dictation mode.""" start="00:08:08.920" video="mainVideo-voice" id="subtitle"]]
-[[!template new="1" text="""Custom speech-to-text commands""" start="00:08:14.760" video="mainVideo-voice" id="subtitle"]]
-
-[[!template text="""You can set up through a very easy-to-use GUI""" start="00:08:14.760" video="mainVideo-voice" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Custom speech-to-text commands""" start="00:08:14.760" video="mainVideo-voice" id="subtitle"]]</div>[[!template text="""You can set up through a very easy-to-use GUI""" start="00:08:14.760" video="mainVideo-voice" id="subtitle"]]
[[!template text="""custom voice commands mapped to what you want inserted,""" start="00:08:20.320" video="mainVideo-voice" id="subtitle"]]
[[!template text="""so this is how misinterpreted words can be corrected.""" start="00:08:26.960" video="mainVideo-voice" id="subtitle"]]
[[!template text="""You just map the misinterpreted word to the intended word.""" start="00:08:32.400" video="mainVideo-voice" id="subtitle"]]
@@ -187,9 +166,7 @@
[[!template text="""that you use frequently. All fields""" start="00:09:45.040" video="mainVideo-voice" id="subtitle"]]
[[!template text="""have certain key references for certain methods or topics.""" start="00:09:46.880" video="mainVideo-voice" id="subtitle"]]
-[[!template new="1" text="""Custom speech-to-commands""" start="00:09:59.420" video="mainVideo-voice" id="subtitle"]]
-
-[[!template text="""Then it has a set of commands that you can customize""" start="00:09:59.420" video="mainVideo-voice" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Custom speech-to-commands""" start="00:09:59.420" video="mainVideo-voice" id="subtitle"]]</div>[[!template text="""Then it has a set of commands that you can customize""" start="00:09:59.420" video="mainVideo-voice" id="subtitle"]]
[[!template text="""for the purpose of speech-to-commands""" start="00:10:05.080" video="mainVideo-voice" id="subtitle"]]
[[!template text="""to get the computer to do something""" start="00:10:08.200" video="mainVideo-voice" id="subtitle"]]
[[!template text="""like open up a specific website or save the current writing.""" start="00:10:09.680" video="mainVideo-voice" id="subtitle"]]
@@ -198,9 +175,7 @@
[[!template text="""You can change the language [with &quot;lang:&quot;],""" start="00:10:27.760" video="mainVideo-voice" id="subtitle"]]
[[!template text="""and you can change the case of the text [with &quot;case:&quot;].""" start="00:10:28.100" video="mainVideo-voice" id="subtitle"]]
-[[!template new="1" text="""Introducing Talon Voice""" start="00:10:37.540" video="mainVideo-voice" id="subtitle"]]
-
-[[!template text="""But the speech-to-command repertoire is quite limited""" start="00:10:37.540" video="mainVideo-voice" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Introducing Talon Voice""" start="00:10:37.540" video="mainVideo-voice" id="subtitle"]]</div>[[!template text="""But the speech-to-command repertoire is quite limited""" start="00:10:37.540" video="mainVideo-voice" id="subtitle"]]
[[!template text="""in Voice In, so it's now time to pick up on Talon Voice.""" start="00:10:41.040" video="mainVideo-voice" id="subtitle"]]
[[!template text="""This is an open source project. It's free.""" start="00:10:49.760" video="mainVideo-voice" id="subtitle"]]
[[!template text="""It is highly configurable via TalonScript,""" start="00:10:54.120" video="mainVideo-voice" id="subtitle"]]
@@ -229,9 +204,7 @@
[[!template text="""At least that's the text editor""" start="00:12:20.560" video="mainVideo-voice" id="subtitle"]]
[[!template text="""for which he's primarily developing Cursorless.""" start="00:12:23.360" video="mainVideo-voice" id="subtitle"]]
-[[!template new="1" text="""Talon GUI""" start="00:12:28.400" video="mainVideo-voice" id="subtitle"]]
-
-[[!template text="""I followed the [install] protocol outlined by Tara Roys.""" start="00:12:28.400" video="mainVideo-voice" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Talon GUI""" start="00:12:28.400" video="mainVideo-voice" id="subtitle"]]</div>[[!template text="""I followed the [install] protocol outlined by Tara Roys.""" start="00:12:28.400" video="mainVideo-voice" id="subtitle"]]
[[!template text="""She has a collection of tutorials""" start="00:12:35.520" video="mainVideo-voice" id="subtitle"]]
[[!template text="""on YouTube as well as on GitHub that are quite helpful.""" start="00:12:38.760" video="mainVideo-voice" id="subtitle"]]
[[!template text="""I followed her tutorial for installing""" start="00:12:44.600" video="mainVideo-voice" id="subtitle"]]
@@ -254,9 +227,7 @@
[[!template text="""You do not have to restart Talon""" start="00:13:55.080" video="mainVideo-voice" id="subtitle"]]
[[!template text="""to get the change to take effect.""" start="00:13:57.600" video="mainVideo-voice" id="subtitle"]]
-[[!template new="1" text="""Talon file with web scope""" start="00:14:02.540" video="mainVideo-voice" id="subtitle"]]
-
-[[!template text="""This is an example of a Talon file.""" start="00:14:02.540" video="mainVideo-voice" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Talon file with web scope""" start="00:14:02.540" video="mainVideo-voice" id="subtitle"]]</div>[[!template text="""This is an example of a Talon file.""" start="00:14:02.540" video="mainVideo-voice" id="subtitle"]]
[[!template text="""It has two components. It has a header above the dash that describes""" start="00:14:04.760" video="mainVideo-voice" id="subtitle"]]
[[!template text="""the scope of the commands contained below the dash.""" start="00:14:10.500" video="mainVideo-voice" id="subtitle"]]
[[!template text="""Each command is separated by a blank line.""" start="00:14:14.920" video="mainVideo-voice" id="subtitle"]]
@@ -279,9 +250,7 @@
[[!template text="""then the commands in the file will apply in all situations,""" start="00:15:29.600" video="mainVideo-voice" id="subtitle"]]
[[!template text="""in all modes.""" start="00:15:32.640" video="mainVideo-voice" id="subtitle"]]
-[[!template new="1" text="""Terminals on remote and virtual machines""" start="00:15:34.015" video="mainVideo-voice" id="subtitle"]]
-
-[[!template text="""Here we have two restrictions.""" start="00:15:34.015" video="mainVideo-voice" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Terminals on remote and virtual machines""" start="00:15:34.015" video="mainVideo-voice" id="subtitle"]]</div>[[!template text="""Here we have two restrictions.""" start="00:15:34.015" video="mainVideo-voice" id="subtitle"]]
[[!template text="""These commands will only work""" start="00:15:36.960" video="mainVideo-voice" id="subtitle"]]
[[!template text="""when using the iTerm2 [ccc] terminal emulator for the Mac,""" start="00:15:38.960" video="mainVideo-voice" id="subtitle"]]
[[!template text="""and then only when the title of the window in iTerm2""" start="00:15:42.960" video="mainVideo-voice" id="subtitle"]]
@@ -301,9 +270,7 @@
[[!template text="""here's a similar setup for interacting with""" start="00:16:43.800" video="mainVideo-voice" id="subtitle"]]
[[!template text="""a Ubuntu virtual machine.""" start="00:16:46.800" video="mainVideo-voice" id="subtitle"]]
-[[!template new="1" text="""Recommendations""" start="00:16:52.500" video="mainVideo-voice" id="subtitle"]]
-
-[[!template text="""In terms of picking up voice computing,""" start="00:16:52.500" video="mainVideo-voice" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Recommendations""" start="00:16:52.500" video="mainVideo-voice" id="subtitle"]]</div>[[!template text="""In terms of picking up voice computing,""" start="00:16:52.500" video="mainVideo-voice" id="subtitle"]]
[[!template text="""these are my recommendations.""" start="00:16:55.920" video="mainVideo-voice" id="subtitle"]]
[[!template text="""You're going to run into more errors""" start="00:16:57.480" video="mainVideo-voice" id="subtitle"]]
[[!template text="""than you may like initially,""" start="00:16:59.760" video="mainVideo-voice" id="subtitle"]]
@@ -328,9 +295,7 @@
[[!template text="""And I also have [posted] a quiz of 600 questions""" start="00:18:07.480" video="mainVideo-voice" id="subtitle"]]
[[!template text="""about some basic Talon commands.""" start="00:18:12.960" video="mainVideo-voice" id="subtitle"]]
-[[!template new="1" text="""Acknowledgements""" start="00:18:17.720" video="mainVideo-voice" id="subtitle"]]
-
-[[!template text="""I'd like to thank the people who've helped me out""" start="00:18:17.720" video="mainVideo-voice" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Acknowledgements""" start="00:18:17.720" video="mainVideo-voice" id="subtitle"]]</div>[[!template text="""I'd like to thank the people who've helped me out""" start="00:18:17.720" video="mainVideo-voice" id="subtitle"]]
[[!template text="""on the Talon Slack channel""" start="00:18:21.000" video="mainVideo-voice" id="subtitle"]]
[[!template text="""and members of the Oklahoma Data Science Workshop""" start="00:18:22.160" video="mainVideo-voice" id="subtitle"]]
[[!template text="""where I gave an hour-long talk on this topic""" start="00:18:25.800" video="mainVideo-voice" id="subtitle"]]
@@ -341,8 +306,7 @@
[[!template text="""And I thank these grant funding agencies""" start="00:18:42.660" video="mainVideo-voice" id="subtitle"]]
[[!template text="""for supporting my work. I'll be happy to take any questions.""" start="00:18:45.120" video="mainVideo-voice" id="subtitle"]]
-<a name="voice-qanda-transcript"></a>
-# Q&A transcript (unedited)
+</div><div class="transcript transcript-qanda"><a name="voice-qanda-transcript"></a><h1>Q&A transcript (unedited)</h1>
[[!template text="""[Speaker 0]: Dictation.""" start="00:00:00.480" video="qanda-voice" id="subtitle"]]
[[!template text="""[Speaker 1]: Right. All right I think we are live now.""" start="00:00:06.020" video="qanda-voice" id="subtitle"]]
@@ -688,9 +652,7 @@
[[!template text="""times, but when it's working,""" start="00:21:48.760" video="qanda-voice" id="subtitle"]]
[[!template text="""it's wonderful. Yep.""" start="00:21:54.740" video="qanda-voice" id="subtitle"]]
-[[!template new="1" text="""Start of section to review""" start="00:21:59.540" video="qanda-voice" id="subtitle"]]
-
-[[!template text="""[Speaker 2]: Good purpose of computers is all the""" start="00:21:59.540" video="qanda-voice" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Start of section to review""" start="00:21:59.540" video="qanda-voice" id="subtitle"]]</div>[[!template text="""[Speaker 2]: Good purpose of computers is all the""" start="00:21:59.540" video="qanda-voice" id="subtitle"]]
[[!template text="""computers run the same code,""" start="00:22:01.100" video="qanda-voice" id="subtitle"]]
[[!template text="""so that people, you know,""" start="00:22:03.460" video="qanda-voice" id="subtitle"]]
[[!template text="""a lot of people work on the same thing and""" start="00:22:05.740" video="qanda-voice" id="subtitle"]]
@@ -1467,7 +1429,7 @@
[[!template text="""Enjoy the rest of the meeting.""" start="01:06:17.760" video="qanda-voice" id="subtitle"]]
[[!template text="""[Speaker 2]: Will do.""" start="01:06:19.280" video="qanda-voice" id="subtitle"]]
-Questions or comments? Please e-mail [emacsconf-org-private@gnu.org](mailto:emacsconf-org-private@gnu.org?subject=Comment%20for%20EmacsConf%202023%20voice%3A%20Enhancing%20productivity%20with%20voice%20computing)
+</div>Questions or comments? Please e-mail [emacsconf-org-private@gnu.org](mailto:emacsconf-org-private@gnu.org?subject=Comment%20for%20EmacsConf%202023%20voice%3A%20Enhancing%20productivity%20with%20voice%20computing)
<!-- End of emacsconf-publish-after-page -->
diff --git a/2023/info/voice-before.md b/2023/info/voice-before.md
index 6f5b9b90..9ec5c829 100644
--- a/2023/info/voice-before.md
+++ b/2023/info/voice-before.md
@@ -1,6 +1,6 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
[[!toc ]]
-Format: 19-min talk; Q&A: BigBlueButton conference room
+Format: 19-min talk ; Q&A: BigBlueButton conference room
Status: TO_INDEX_QA
@@ -9,7 +9,7 @@ Status: TO_INDEX_QA
# Talk
-<div class="vid"><video controls preload="none" id="voice-mainVideo"><source src="https://media.emacsconf.org/2023/emacsconf-2023-voice--enhancing-productivity-with-voice-computing--blaine-mooers--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-voice--enhancing-productivity-with-voice-computing--blaine-mooers--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2023/captions/emacsconf-2023-voice--enhancing-productivity-with-voice-computing--blaine-mooers--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="voice-mainVideo" data="""
+<div class="vid mainVideo"><video controls preload="none" id="mainVideo-voice"><source src="https://media.emacsconf.org/2023/emacsconf-2023-voice--enhancing-productivity-with-voice-computing--blaine-mooers--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-voice--enhancing-productivity-with-voice-computing--blaine-mooers--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2023/captions/emacsconf-2023-voice--enhancing-productivity-with-voice-computing--blaine-mooers--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-voice" data="""
00:00.000 Introduction
00:37.400 Three activities in voice computing
01:02.560 Talk is not about ... and about ...
@@ -28,10 +28,10 @@ Status: TO_INDEX_QA
16:52.500 Recommendations
18:17.720 Acknowledgements
-"""]]<div></div>Duration: 18:49 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-voice--enhancing-productivity-with-voice-computing--blaine-mooers--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-voice--enhancing-productivity-with-voice-computing--blaine-mooers--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-voice--enhancing-productivity-with-voice-computing--blaine-mooers--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-voice--enhancing-productivity-with-voice-computing--blaine-mooers--main.opus">Download --main.opus (9MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-voice--enhancing-productivity-with-voice-computing--blaine-mooers--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-voice--enhancing-productivity-with-voice-computing--blaine-mooers--main.webm">Download --main.webm (32MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-voice--enhancing-productivity-with-voice-computing--blaine-mooers--pad.html">Download --pad.html</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-voice--enhancing-productivity-with-voice-computing--blaine-mooers--pad.md">Download --pad.md</a></li><li><a href="https://toobnix.org/w/vYHj7iSYhUbTxDv93NvzzY">View on Toobnix</a></li></ul></div></div>
+"""]]<div></div>Duration: 18:49 minutes<div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2023-voice">Open Etherpad</a></li><li><a href="https://bbb.emacsverse.org/playback/presentation/2.0/playback.html?meetingId=8ddd81ef601d78f7b9ac2093f3700a29b5595ff3-1701529315435">Play recording from BigBlueButton</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-voice--enhancing-productivity-with-voice-computing--blaine-mooers--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-voice--enhancing-productivity-with-voice-computing--blaine-mooers--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-voice--enhancing-productivity-with-voice-computing--blaine-mooers--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-voice--enhancing-productivity-with-voice-computing--blaine-mooers--main.opus">Download --main.opus (9MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-voice--enhancing-productivity-with-voice-computing--blaine-mooers--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-voice--enhancing-productivity-with-voice-computing--blaine-mooers--main.webm">Download --main.webm (32MB)</a></li><li><a href="https://toobnix.org/w/vYHj7iSYhUbTxDv93NvzzY">View on Toobnix</a></li><li><a href="https://www.youtube.com/watch?v=Z7l1ImjXOWM">View on Youtube</a></li></ul></div></div>
# Q&A
-<div class="vid"><video controls preload="none" id="voice-qanda"><source src="https://media.emacsconf.org/2023/emacsconf-2023-voice--enhancing-productivity-with-voice-computing--blaine-mooers--answers.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-voice--enhancing-productivity-with-voice-computing--blaine-mooers--answers.vtt" default />"""<p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video><div>Listen to just the audio:<br /><audio controls preload="none" id="voice-qanda-audio" src="https://media.emacsconf.org/2023/emacsconf-2023-voice--enhancing-productivity-with-voice-computing--blaine-mooers--answers.opus"></audio></div><div></div>Duration: 1:07:47 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-voice--enhancing-productivity-with-voice-computing--blaine-mooers--answers.opus">Download --answers.opus (34MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-voice--enhancing-productivity-with-voice-computing--blaine-mooers--answers.vtt">Download --answers.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-voice--enhancing-productivity-with-voice-computing--blaine-mooers--answers.webm">Download --answers.webm (205MB)</a></li></ul></div></div>
+<div class="vid qanda"><video controls preload="none" id="qanda-voice"><source src="https://media.emacsconf.org/2023/emacsconf-2023-voice--enhancing-productivity-with-voice-computing--blaine-mooers--answers.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-voice--enhancing-productivity-with-voice-computing--blaine-mooers--answers.vtt" default />"""<p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video><div>Listen to just the audio:<br /><audio controls preload="none" id="qanda-voice-audio" src="https://media.emacsconf.org/2023/emacsconf-2023-voice--enhancing-productivity-with-voice-computing--blaine-mooers--answers.opus"></audio></div><div></div>Duration: 1:07:47 minutes<div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2023-voice">Open Etherpad</a></li><li><a href="https://bbb.emacsverse.org/playback/presentation/2.0/playback.html?meetingId=8ddd81ef601d78f7b9ac2093f3700a29b5595ff3-1701529315435">Play recording from BigBlueButton</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-voice--enhancing-productivity-with-voice-computing--blaine-mooers--answers.opus">Download --answers.opus (34MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-voice--enhancing-productivity-with-voice-computing--blaine-mooers--answers.vtt">Download --answers.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-voice--enhancing-productivity-with-voice-computing--blaine-mooers--answers.webm">Download --answers.webm (205MB)</a></li></ul></div></div>
# Description
<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2023/info/voice-nav.md b/2023/info/voice-nav.md
index 9fedf97e..ff560e36 100644
--- a/2023/info/voice-nav.md
+++ b/2023/info/voice-nav.md
@@ -3,5 +3,5 @@
Back to the [[talks]]
Previous by track: <a href="/2023/talks/matplotllm">MatplotLLM, iterative natural language data visualization in org-babel</a>
Next by track: <a href="/2023/talks/llm">LLM clients in Emacs, functionality and standardization</a>
-Track: <span class="sched-track Development">Development</span>
+Track: <span class="sched-track Development">Development</span> - <strong><a href="https://emacsconf.org/2023/watch/dev">Watch</a></strong>
</div>
diff --git a/2023/info/web-after.md b/2023/info/web-after.md
index 96ebb81b..0e6730c2 100644
--- a/2023/info/web-after.md
+++ b/2023/info/web-after.md
@@ -1,13 +1,10 @@
<!-- Automatically generated by emacsconf-publish-after-page -->
-<a name="web-mainVideo-transcript"></a>
-# Transcript
+<div class="transcript transcript-mainVideo"><a name="web-mainVideo-transcript"></a><h1>Transcript</h1>
-[[!template new="1" text="""Overview""" start="00:00:00.000" video="mainVideo-web" id="subtitle"]]
-
-[[!template text="""Hello, I am Yuchen, and I will be talking about""" start="00:00:00.000" video="mainVideo-web" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Overview""" start="00:00:00.000" video="mainVideo-web" id="subtitle"]]</div>[[!template text="""Hello, I am Yuchen, and I will be talking about""" start="00:00:00.000" video="mainVideo-web" id="subtitle"]]
[[!template text="""how Emacs may be used to save user freedom on the web.""" start="00:00:03.200" video="mainVideo-web" id="subtitle"]]
[[!template text="""I will begin by describing the background issues,""" start="00:00:06.840" video="mainVideo-web" id="subtitle"]]
[[!template text="""followed by solutions outside of Emacs.""" start="00:00:09.680" video="mainVideo-web" id="subtitle"]]
@@ -20,9 +17,7 @@
[[!template text="""and get a web app for free,""" start="00:00:29.320" video="mainVideo-web" id="subtitle"]]
[[!template text="""as well as using Emacs as a Firefox extension.""" start="00:00:30.760" video="mainVideo-web" id="subtitle"]]
-[[!template new="1" text="""Background problems""" start="00:00:35.680" video="mainVideo-web" id="subtitle"]]
-
-[[!template text="""OK, let's now move on to""" start="00:00:35.680" video="mainVideo-web" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Background problems""" start="00:00:35.680" video="mainVideo-web" id="subtitle"]]</div>[[!template text="""OK, let's now move on to""" start="00:00:35.680" video="mainVideo-web" id="subtitle"]]
[[!template text="""the background issues for this topic.""" start="00:00:37.160" video="mainVideo-web" id="subtitle"]]
[[!template text="""Many of you probably already know what is free software.""" start="00:00:39.560" video="mainVideo-web" id="subtitle"]]
[[!template text="""It is software that respects four user freedoms,""" start="00:00:42.640" video="mainVideo-web" id="subtitle"]]
@@ -120,9 +115,7 @@
[[!template text="""Wouldn't it be nice to use a photo editing web application,""" start="00:05:25.840" video="mainVideo-web" id="subtitle"]]
[[!template text="""but without the web?""" start="00:05:28.680" video="mainVideo-web" id="subtitle"]]
-[[!template new="1" text="""Solutions outside of Emacs""" start="00:05:31.940" video="mainVideo-web" id="subtitle"]]
-
-[[!template text="""Right, now let's move on to solutions outside of Emacs""" start="00:05:31.940" video="mainVideo-web" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Solutions outside of Emacs""" start="00:05:31.940" video="mainVideo-web" id="subtitle"]]</div>[[!template text="""Right, now let's move on to solutions outside of Emacs""" start="00:05:31.940" video="mainVideo-web" id="subtitle"]]
[[!template text="""that tackle these problems.""" start="00:05:36.401" video="mainVideo-web" id="subtitle"]]
[[!template text="""There are generally two ways to fix this issue.""" start="00:05:39.040" video="mainVideo-web" id="subtitle"]]
[[!template text="""One is blocking non-free JavaScript,""" start="00:05:42.960" video="mainVideo-web" id="subtitle"]]
@@ -197,14 +190,10 @@ trivial or non-trivial.""" start="00:06:44.240" video="mainVideo-web" id="subtit
[[!template text="""to redirect to free non-web clients,""" start="00:09:39.700" video="mainVideo-web" id="subtitle"]]
[[!template text="""for example by opening YouTube links with MPV.""" start="00:09:42.160" video="mainVideo-web" id="subtitle"]]
-[[!template new="1" text="""Emacs solutions""" start="00:09:46.480" video="mainVideo-web" id="subtitle"]]
-
-[[!template text="""Now let us move to Emacs-based solutions.""" start="00:09:46.480" video="mainVideo-web" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Emacs solutions""" start="00:09:46.480" video="mainVideo-web" id="subtitle"]]</div>[[!template text="""Now let us move to Emacs-based solutions.""" start="00:09:46.480" video="mainVideo-web" id="subtitle"]]
[[!template text="""They are based on the same ideas but using Emacs.""" start="00:09:51.000" video="mainVideo-web" id="subtitle"]]
-[[!template new="1" text="""Free clients in Emacs""" start="00:09:54.600" video="mainVideo-web" id="subtitle"]]
-
-[[!template text="""First, free clients in Emacs.""" start="00:09:54.600" video="mainVideo-web" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Free clients in Emacs""" start="00:09:54.600" video="mainVideo-web" id="subtitle"]]</div>[[!template text="""First, free clients in Emacs.""" start="00:09:54.600" video="mainVideo-web" id="subtitle"]]
[[!template text="""Basically alternative frontends written in Elisp.""" start="00:09:57.480" video="mainVideo-web" id="subtitle"]]
[[!template text="""There are several advantages.""" start="00:10:00.640" video="mainVideo-web" id="subtitle"]]
[[!template text="""For example, integration with other Emacs tools,""" start="00:10:03.360" video="mainVideo-web" id="subtitle"]]
@@ -243,9 +232,7 @@ with ease.""" start="00:11:11.120" video="mainVideo-web" id="subtitle"]]
[[!template text="""or even structure of the responses.""" start="00:12:34.560" video="mainVideo-web" id="subtitle"]]
[[!template text="""This brings us to web browsers in Emacs.""" start="00:12:37.540" video="mainVideo-web" id="subtitle"]]
-[[!template new="1" text="""Web browsers in Emacs""" start="00:12:43.021" video="mainVideo-web" id="subtitle"]]
-
-[[!template text="""Web browsers are universal clients""" start="00:12:43.021" video="mainVideo-web" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Web browsers in Emacs""" start="00:12:43.021" video="mainVideo-web" id="subtitle"]]</div>[[!template text="""Web browsers are universal clients""" start="00:12:43.021" video="mainVideo-web" id="subtitle"]]
[[!template text="""because all sites support browsers.""" start="00:12:45.160" video="mainVideo-web" id="subtitle"]]
[[!template text="""So in a world of no JavaScript,""" start="00:12:47.200" video="mainVideo-web" id="subtitle"]]
[[!template text="""there will be no need to write bespoke clients.""" start="00:12:48.920" video="mainVideo-web" id="subtitle"]]
@@ -319,9 +306,7 @@ with ease.""" start="00:11:11.120" video="mainVideo-web" id="subtitle"]]
[[!template text="""this could also make running non-free JavaScript easier,""" start="00:16:43.640" video="mainVideo-web" id="subtitle"]]
[[!template text="""which is harmful to user freedom.""" start="00:16:46.560" video="mainVideo-web" id="subtitle"]]
-[[!template new="1" text="""emacs-web-server - overview""" start="00:16:52.380" video="mainVideo-web" id="subtitle"]]
-
-[[!template text="""OK, let's move on to the idea""" start="00:16:52.380" video="mainVideo-web" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""emacs-web-server - overview""" start="00:16:52.380" video="mainVideo-web" id="subtitle"]]</div>[[!template text="""OK, let's move on to the idea""" start="00:16:52.380" video="mainVideo-web" id="subtitle"]]
[[!template text="""of running Emacs as a web server,""" start="00:16:54.240" video="mainVideo-web" id="subtitle"]]
[[!template text="""so that Emacs client packages are web apps""" start="00:16:55.680" video="mainVideo-web" id="subtitle"]]
[[!template text="""serving as alternative frontends.""" start="00:16:58.560" video="mainVideo-web" id="subtitle"]]
@@ -338,9 +323,7 @@ with ease.""" start="00:11:11.120" video="mainVideo-web" id="subtitle"]]
[[!template text="""emacs-web-server package is not something new,""" start="00:17:23.580" video="mainVideo-web" id="subtitle"]]
[[!template text="""but seems to be underused in the community somehow.""" start="00:17:26.440" video="mainVideo-web" id="subtitle"]]
-[[!template new="1" text="""emacs-web-server - hello emacs!""" start="00:17:30.380" video="mainVideo-web" id="subtitle"]]
-
-[[!template text="""OK, let's start with a simple example called hello-emacs.""" start="00:17:30.380" video="mainVideo-web" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""emacs-web-server - hello emacs!""" start="00:17:30.380" video="mainVideo-web" id="subtitle"]]</div>[[!template text="""OK, let's start with a simple example called hello-emacs.""" start="00:17:30.380" video="mainVideo-web" id="subtitle"]]
[[!template text="""It is pretty straightforward.""" start="00:17:33.360" video="mainVideo-web" id="subtitle"]]
[[!template text="""Just require the web server feature""" start="00:17:35.240" video="mainVideo-web" id="subtitle"]]
[[!template text="""and run ws-start to start a server process""" start="00:17:38.640" video="mainVideo-web" id="subtitle"]]
@@ -355,9 +338,7 @@ with ease.""" start="00:11:11.120" video="mainVideo-web" id="subtitle"]]
[[!template text="""Let's evaluate.""" start="00:18:10.840" video="mainVideo-web" id="subtitle"]]
[[!template text="""Yep, it stopped.""" start="00:18:14.960" video="mainVideo-web" id="subtitle"]]
-[[!template new="1" text="""emacs-web-server - yolo""" start="00:18:17.580" video="mainVideo-web" id="subtitle"]]
-
-[[!template text="""OK, now let's move on to something funny""" start="00:18:17.580" video="mainVideo-web" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""emacs-web-server - yolo""" start="00:18:17.580" video="mainVideo-web" id="subtitle"]]</div>[[!template text="""OK, now let's move on to something funny""" start="00:18:17.580" video="mainVideo-web" id="subtitle"]]
[[!template text="""that you should never run on the public web.""" start="00:18:20.000" video="mainVideo-web" id="subtitle"]]
[[!template text="""I call it yolo.el.""" start="00:18:22.220" video="mainVideo-web" id="subtitle"]]
[[!template text="""It uses htmlize""" start="00:18:23.920" video="mainVideo-web" id="subtitle"]]
@@ -418,9 +399,7 @@ with ease.""" start="00:11:11.120" video="mainVideo-web" id="subtitle"]]
[[!template text="""since htmlize, as you have noticed,""" start="00:23:00.080" video="mainVideo-web" id="subtitle"]]
[[!template text="""faithfully reflects the theme used in Emacs.""" start="00:23:02.840" video="mainVideo-web" id="subtitle"]]
-[[!template new="1" text="""emacs-web-server - emacs web framework""" start="00:23:07.940" video="mainVideo-web" id="subtitle"]]
-
-[[!template text="""Okay, so we know that yolo is unsafe""" start="00:23:07.940" video="mainVideo-web" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""emacs-web-server - emacs web framework""" start="00:23:07.940" video="mainVideo-web" id="subtitle"]]</div>[[!template text="""Okay, so we know that yolo is unsafe""" start="00:23:07.940" video="mainVideo-web" id="subtitle"]]
[[!template text="""and needs to be refined.""" start="00:23:10.339" video="mainVideo-web" id="subtitle"]]
[[!template text="""In fact, we don't necessarily want""" start="00:23:11.540" video="mainVideo-web" id="subtitle"]]
[[!template text="""to run Emacs on a web browser.""" start="00:23:13.440" video="mainVideo-web" id="subtitle"]]
@@ -534,9 +513,7 @@ with ease.""" start="00:11:11.120" video="mainVideo-web" id="subtitle"]]
[[!template text="""In any case, I think the package emacs-web-server""" start="00:29:32.380" video="mainVideo-web" id="subtitle"]]
[[!template text="""could do with some performance enhancement.""" start="00:29:36.440" video="mainVideo-web" id="subtitle"]]
-[[!template new="1" text="""Firefox with emacs for extensions""" start="00:29:40.420" video="mainVideo-web" id="subtitle"]]
-
-[[!template text="""Right. Because of the time constraints,""" start="00:29:40.420" video="mainVideo-web" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Firefox with emacs for extensions""" start="00:29:40.420" video="mainVideo-web" id="subtitle"]]</div>[[!template text="""Right. Because of the time constraints,""" start="00:29:40.420" video="mainVideo-web" id="subtitle"]]
[[!template text="""I will briefly touch one final idea,""" start="00:29:44.000" video="mainVideo-web" id="subtitle"]]
[[!template text="""which is to use Emacs as a Firefox browser extension.""" start="00:29:45.760" video="mainVideo-web" id="subtitle"]]
[[!template text="""We already have org-protocol,""" start="00:29:50.420" video="mainVideo-web" id="subtitle"]]
@@ -572,17 +549,14 @@ with ease.""" start="00:11:11.120" video="mainVideo-web" id="subtitle"]]
[[!template text="""to wait for responses from Emacs.""" start="00:31:17.120" video="mainVideo-web" id="subtitle"]]
[[!template text="""Some further work, I suppose.""" start="00:31:20.200" video="mainVideo-web" id="subtitle"]]
-[[!template new="1" text="""Thank you""" start="00:31:25.360" video="mainVideo-web" id="subtitle"]]
-
-[[!template text="""That concludes my talk.""" start="00:31:25.360" video="mainVideo-web" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Thank you""" start="00:31:25.360" video="mainVideo-web" id="subtitle"]]</div>[[!template text="""That concludes my talk.""" start="00:31:25.360" video="mainVideo-web" id="subtitle"]]
[[!template text="""Thank you for your attention.""" start="00:31:28.254" video="mainVideo-web" id="subtitle"]]
-
+</div>
Captioner: ken
-<a name="web-qanda-transcript"></a>
-# Q&A transcript (unedited)
+<div class="transcript transcript-qanda"><a name="web-qanda-transcript"></a><h1>Q&A transcript (unedited)</h1>
[[!template text="""[Speaker 0]: 2 seconds. And I think we are live.""" start="00:00:04.740" video="qanda-web" id="subtitle"]]
[[!template text="""Hi Yuchen, how are you doing?""" start="00:00:05.980" video="qanda-web" id="subtitle"]]
@@ -844,7 +818,7 @@ Captioner: ken
[[!template text="""[Speaker 0]: You are currently""" start="00:13:02.620" video="qanda-web" id="subtitle"]]
[[!template text="""you""" start="00:13:15.260" video="qanda-web" id="subtitle"]]
-Questions or comments? Please e-mail [id@ypei.org](mailto:id@ypei.org?subject=Comment%20for%20EmacsConf%202023%20web%3A%20Emacs%20saves%20the%20Web%20%28maybe%29)
+</div>Questions or comments? Please e-mail [id@ypei.org](mailto:id@ypei.org?subject=Comment%20for%20EmacsConf%202023%20web%3A%20Emacs%20saves%20the%20Web%20%28maybe%29)
<!-- End of emacsconf-publish-after-page -->
diff --git a/2023/info/web-before.md b/2023/info/web-before.md
index ee6fcdab..0ee755f0 100644
--- a/2023/info/web-before.md
+++ b/2023/info/web-before.md
@@ -1,6 +1,6 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
[[!toc ]]
-Format: 32-min talk; Q&A: BigBlueButton conference room
+Format: 32-min talk ; Q&A: BigBlueButton conference room
Status: Q&A to be extracted from the room recordings
@@ -9,7 +9,7 @@ Status: Q&A to be extracted from the room recordings
# Talk
-<div class="vid"><video controls preload="none" id="web-mainVideo"><source src="https://media.emacsconf.org/2023/emacsconf-2023-web--emacs-saves-the-web-maybe--yuchen-pei--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-web--emacs-saves-the-web-maybe--yuchen-pei--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2023/captions/emacsconf-2023-web--emacs-saves-the-web-maybe--yuchen-pei--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="web-mainVideo" data="""
+<div class="vid mainVideo"><video controls preload="none" id="mainVideo-web"><source src="https://media.emacsconf.org/2023/emacsconf-2023-web--emacs-saves-the-web-maybe--yuchen-pei--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-web--emacs-saves-the-web-maybe--yuchen-pei--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2023/captions/emacsconf-2023-web--emacs-saves-the-web-maybe--yuchen-pei--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-web" data="""
00:00.000 Overview
00:35.680 Background problems
05:31.940 Solutions outside of Emacs
@@ -23,10 +23,10 @@ Status: Q&A to be extracted from the room recordings
29:40.420 Firefox with emacs for extensions
31:25.360 Thank you
-"""]]<div></div>Duration: 31:33 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-web--emacs-saves-the-web-maybe--yuchen-pei--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-web--emacs-saves-the-web-maybe--yuchen-pei--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-web--emacs-saves-the-web-maybe--yuchen-pei--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-web--emacs-saves-the-web-maybe--yuchen-pei--main.opus">Download --main.opus (17MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-web--emacs-saves-the-web-maybe--yuchen-pei--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-web--emacs-saves-the-web-maybe--yuchen-pei--main.webm">Download --main.webm (53MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-web--emacs-saves-the-web-maybe--yuchen-pei--pad.html">Download --pad.html</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-web--emacs-saves-the-web-maybe--yuchen-pei--pad.md">Download --pad.md</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-web--emacs-saves-the-web-maybe--yuchen-pei.org">Download .org</a></li><li><a href="https://toobnix.org/w/fvzGU4cQQ2meZVKNGEHMht">View on Toobnix</a></li></ul></div></div>
+"""]]<div></div>Duration: 31:33 minutes<div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2023-web">Open Etherpad</a></li><li><a href="https://bbb.emacsverse.org/playback/presentation/2.0/playback.html?meetingId=feab521f1b6a6f4d2cef232eecd969786ddf81c1-1701634708093">Play recording from BigBlueButton</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-web--emacs-saves-the-web-maybe--yuchen-pei--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-web--emacs-saves-the-web-maybe--yuchen-pei--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-web--emacs-saves-the-web-maybe--yuchen-pei--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-web--emacs-saves-the-web-maybe--yuchen-pei--main.opus">Download --main.opus (17MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-web--emacs-saves-the-web-maybe--yuchen-pei--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-web--emacs-saves-the-web-maybe--yuchen-pei--main.webm">Download --main.webm (53MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-web--emacs-saves-the-web-maybe--yuchen-pei.org">Download .org</a></li><li><a href="https://toobnix.org/w/fvzGU4cQQ2meZVKNGEHMht">View on Toobnix</a></li><li><a href="https://www.youtube.com/watch?v=kqOZwsylo48">View on Youtube</a></li></ul></div></div>
# Q&A
-<div class="vid"><video controls preload="none" id="web-qanda"><source src="https://media.emacsconf.org/2023/emacsconf-2023-web--emacs-saves-the-web-maybe--yuchen-pei--answers.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-web--emacs-saves-the-web-maybe--yuchen-pei--answers.vtt" default />"""<p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video><div>Listen to just the audio:<br /><audio controls preload="none" id="web-qanda-audio" src="https://media.emacsconf.org/2023/emacsconf-2023-web--emacs-saves-the-web-maybe--yuchen-pei--answers.opus"></audio></div><div></div>Duration: 15:53 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-web--emacs-saves-the-web-maybe--yuchen-pei--answers.json">Download --answers.json</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-web--emacs-saves-the-web-maybe--yuchen-pei--answers.opus">Download --answers.opus (7.6MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-web--emacs-saves-the-web-maybe--yuchen-pei--answers.vtt">Download --answers.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-web--emacs-saves-the-web-maybe--yuchen-pei--answers.webm">Download --answers.webm (18MB)</a></li></ul></div></div>
+<div class="vid qanda"><video controls preload="none" id="qanda-web"><source src="https://media.emacsconf.org/2023/emacsconf-2023-web--emacs-saves-the-web-maybe--yuchen-pei--answers.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-web--emacs-saves-the-web-maybe--yuchen-pei--answers.vtt" default />"""<p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video><div>Listen to just the audio:<br /><audio controls preload="none" id="qanda-web-audio" src="https://media.emacsconf.org/2023/emacsconf-2023-web--emacs-saves-the-web-maybe--yuchen-pei--answers.opus"></audio></div><div></div>Duration: 15:53 minutes<div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2023-web">Open Etherpad</a></li><li><a href="https://bbb.emacsverse.org/playback/presentation/2.0/playback.html?meetingId=feab521f1b6a6f4d2cef232eecd969786ddf81c1-1701634708093">Play recording from BigBlueButton</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-web--emacs-saves-the-web-maybe--yuchen-pei--answers.json">Download --answers.json</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-web--emacs-saves-the-web-maybe--yuchen-pei--answers.opus">Download --answers.opus (7.6MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-web--emacs-saves-the-web-maybe--yuchen-pei--answers.vtt">Download --answers.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-web--emacs-saves-the-web-maybe--yuchen-pei--answers.webm">Download --answers.webm (18MB)</a></li></ul></div></div>
# Description
<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2023/info/web-nav.md b/2023/info/web-nav.md
index 0afd6a12..34119aef 100644
--- a/2023/info/web-nav.md
+++ b/2023/info/web-nav.md
@@ -3,5 +3,5 @@
Back to the [[talks]]
Previous by track: <a href="/2023/talks/mentor">Mentoring VS-Coders as an Emacsian (or How to show not tell people about the wonders of Emacs)</a>
Next by track: <a href="/2023/talks/sharing">Sharing Emacs is Caring Emacs: Emacs education and why I embraced video</a>
-Track: <span class="sched-track General">General</span>
+Track: <span class="sched-track General">General</span> - <strong><a href="https://emacsconf.org/2023/watch/gen">Watch</a></strong>
</div>
diff --git a/2023/info/windows-after.md b/2023/info/windows-after.md
index 4d8d8729..f4ce987e 100644
--- a/2023/info/windows-after.md
+++ b/2023/info/windows-after.md
@@ -1,8 +1,7 @@
<!-- Automatically generated by emacsconf-publish-after-page -->
-<a name="windows-mainVideo-transcript"></a>
-# Transcript (unedited)
+<div class="transcript transcript-mainVideo"><a name="windows-mainVideo-transcript"></a><h1>Transcript (unedited)</h1>
[[!template text="""Oh, wow, how exciting. Well, maybe I should share something then. Um, well, thank you very much and welcome to uh""" start="00:00:00.000" video="mainVideo-windows" id="subtitle"]]
[[!template text="""Welcome to my talk i'm a little distracted here""" start="00:00:11.440" video="mainVideo-windows" id="subtitle"]]
@@ -786,8 +785,7 @@
[[!template text="""Okay, so we're clear on bbb here""" start="00:57:35.200" video="mainVideo-windows" id="subtitle"]]
[[!template text="""Yep, I think so""" start="00:57:37.760" video="mainVideo-windows" id="subtitle"]]
-<a name="windows-qanda-transcript"></a>
-# Q&A transcript (unedited)
+</div><div class="transcript transcript-qanda"><a name="windows-qanda-transcript"></a><h1>Q&A transcript (unedited)</h1>
[[!template text="""Oh, wow, how exciting. Well, maybe I should share something then. Um, well, thank you very much and""" start="00:00:00.000" video="qanda-windows" id="subtitle"]]
[[!template text="""welcome to, uh, uh, welcome to my talk. I'm a little distracted here. I had a friend who came""" start="00:00:06.880" video="qanda-windows" id="subtitle"]]
@@ -1254,7 +1252,7 @@
[[!template text="""and see like which big blue button room we're going to be in for closing. Okay. So we're clear""" start="00:57:31.600" video="qanda-windows" id="subtitle"]]
[[!template text="""on BBB here? Yep. I think so.""" start="00:57:36.240" video="qanda-windows" id="subtitle"]]
-Questions or comments? Please e-mail [corwin@bru.st](mailto:corwin@bru.st?subject=Comment%20for%20EmacsConf%202023%20windows%3A%20Windows%20into%20Freedom)
+</div>Questions or comments? Please e-mail [corwin@bru.st](mailto:corwin@bru.st?subject=Comment%20for%20EmacsConf%202023%20windows%3A%20Windows%20into%20Freedom)
<!-- End of emacsconf-publish-after-page -->
diff --git a/2023/info/windows-before.md b/2023/info/windows-before.md
index a3de3379..c3914bf7 100644
--- a/2023/info/windows-before.md
+++ b/2023/info/windows-before.md
@@ -1,6 +1,6 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
[[!toc ]]
-Format: 58-min talk; Q&A: BigBlueButton conference room
+Format: 58-min talk ; Q&A: BigBlueButton conference room
Status: Q&A to be extracted from the room recordings
@@ -9,10 +9,10 @@ Status: Q&A to be extracted from the room recordings
# Talk
-<div class="vid"><video controls preload="none" id="windows-mainVideo"><source src="https://media.emacsconf.org/2023/emacsconf-2023-windows--windows-into-freedom--corwin-brust--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-windows--windows-into-freedom--corwin-brust--main.vtt" default />"""<p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video><div></div>Duration: 57:48 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-windows--windows-into-freedom--corwin-brust--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-windows--windows-into-freedom--corwin-brust--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-windows--windows-into-freedom--corwin-brust--main.opus">Download --main.opus (29MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-windows--windows-into-freedom--corwin-brust--main.vtt">Download --main.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-windows--windows-into-freedom--corwin-brust--main.webm">Download --main.webm (80MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-windows--windows-into-freedom--corwin-brust--pad.html">Download --pad.html</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-windows--windows-into-freedom--corwin-brust--pad.md">Download --pad.md</a></li><li><a href="https://toobnix.org/w/4DeRkvJyKFdCBLWnHtsZW2">View on Toobnix</a></li></ul></div></div>
+<div class="vid mainVideo"><video controls preload="none" id="mainVideo-windows"><source src="https://media.emacsconf.org/2023/emacsconf-2023-windows--windows-into-freedom--corwin-brust--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-windows--windows-into-freedom--corwin-brust--main.vtt" default />"""<p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video><div></div>Duration: 57:48 minutes<div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2023-windows">Open Etherpad</a></li><li><a href="https://bbb.emacsverse.org/playback/presentation/2.0/playback.html?meetingId=38dd7a08335a90614084b3d860f9da7e03414d8d-1701549705139">Play recording from BigBlueButton</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-windows--windows-into-freedom--corwin-brust--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-windows--windows-into-freedom--corwin-brust--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-windows--windows-into-freedom--corwin-brust--main.opus">Download --main.opus (29MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-windows--windows-into-freedom--corwin-brust--main.vtt">Download --main.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-windows--windows-into-freedom--corwin-brust--main.webm">Download --main.webm (80MB)</a></li><li><a href="https://toobnix.org/w/4DeRkvJyKFdCBLWnHtsZW2">View on Toobnix</a></li><li><a href="https://www.youtube.com/watch?v=7aVgVd2_HTs">View on Youtube</a></li></ul></div></div>
# Q&A
-<div class="vid"><div>Listen to just the audio:<br /><audio controls preload="none" id="windows-qanda-audio" src="https://media.emacsconf.org/2023/emacsconf-2023-windows--windows-into-freedom--corwin-brust--answers.opus"></audio></div><div></div><div class="files resources"><ul><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-windows--windows-into-freedom--corwin-brust--answers.opus">Download --answers.opus (29MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-windows--windows-into-freedom--corwin-brust--answers.vtt">Download --answers.vtt</a> (unedited)</li></ul></div></div>
+<div class="vid qanda"><div>Listen to just the audio:<br /><audio controls preload="none" id="qanda-windows-audio" src="https://media.emacsconf.org/2023/emacsconf-2023-windows--windows-into-freedom--corwin-brust--answers.opus"></audio></div><div></div><div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2023-windows">Open Etherpad</a></li><li><a href="https://bbb.emacsverse.org/playback/presentation/2.0/playback.html?meetingId=38dd7a08335a90614084b3d860f9da7e03414d8d-1701549705139">Play recording from BigBlueButton</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-windows--windows-into-freedom--corwin-brust--answers.opus">Download --answers.opus (29MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-windows--windows-into-freedom--corwin-brust--answers.vtt">Download --answers.vtt</a> (unedited)</li></ul></div></div>
# Description
<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2023/info/windows-nav.md b/2023/info/windows-nav.md
index 05dc3b17..d7ebb4cb 100644
--- a/2023/info/windows-nav.md
+++ b/2023/info/windows-nav.md
@@ -3,5 +3,5 @@
Back to the [[talks]]
Previous by track: <a href="/2023/talks/doc">Literate Documentation with Emacs and Org Mode</a>
Next by track: <a href="/2023/talks/scheme">Bringing joy to Scheme programming</a>
-Track: <span class="sched-track Development">Development</span>
+Track: <span class="sched-track Development">Development</span> - <strong><a href="https://emacsconf.org/2023/watch/dev">Watch</a></strong>
</div>
diff --git a/2023/info/world-after.md b/2023/info/world-after.md
index ce8bdc00..f8af282c 100644
--- a/2023/info/world-after.md
+++ b/2023/info/world-after.md
@@ -1,13 +1,10 @@
<!-- Automatically generated by emacsconf-publish-after-page -->
-<a name="world-mainVideo-transcript"></a>
-# Transcript
+<div class="transcript transcript-mainVideo"><a name="world-mainVideo-transcript"></a><h1>Transcript</h1>
-[[!template new="1" text="""Draw and scribble in GNU Emacs""" start="00:00:00.780" video="mainVideo-world" id="subtitle"]]
-
-[[!template text="""Hello. In this video, we will look at""" start="00:00:00.780" video="mainVideo-world" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Draw and scribble in GNU Emacs""" start="00:00:00.780" video="mainVideo-world" id="subtitle"]]</div>[[!template text="""Hello. In this video, we will look at""" start="00:00:00.780" video="mainVideo-world" id="subtitle"]]
[[!template text="""drawing and scribbling in Emacs using SVG.""" start="00:00:02.900" video="mainVideo-world" id="subtitle"]]
[[!template text="""Let's start with `canvas-mode`.""" start="00:00:07.167" video="mainVideo-world" id="subtitle"]]
[[!template text="""We will define the width and the height.""" start="00:00:10.067" video="mainVideo-world" id="subtitle"]]
@@ -50,9 +47,7 @@
[[!template text="""Finally, we look at ellipse.""" start="00:03:32.000" video="mainVideo-world" id="subtitle"]]
[[!template text="""That's all for this video. Thanks!""" start="00:03:44.420" video="mainVideo-world" id="subtitle"]]
-[[!template new="1" text="""SVG Symbols library""" start="00:03:46.400" video="mainVideo-world" id="subtitle"]]
-
-[[!template text="""Hello. In this video, we will draw""" start="00:03:46.400" video="mainVideo-world" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""SVG Symbols library""" start="00:03:46.400" video="mainVideo-world" id="subtitle"]]</div>[[!template text="""Hello. In this video, we will draw""" start="00:03:46.400" video="mainVideo-world" id="subtitle"]]
[[!template text="""schematics using symbols from SVG library in Emacs.""" start="00:03:48.333" video="mainVideo-world" id="subtitle"]]
[[!template text="""Press capital L to activate the symbol library""" start="00:03:52.067" video="mainVideo-world" id="subtitle"]]
[[!template text="""that you can see on the right hand side,""" start="00:03:55.000" video="mainVideo-world" id="subtitle"]]
@@ -71,9 +66,7 @@
[[!template text="""Let's connect other symbols too.""" start="00:05:00.033" video="mainVideo-world" id="subtitle"]]
[[!template text="""That's all for this video. Thanks.""" start="00:05:16.633" video="mainVideo-world" id="subtitle"]]
-[[!template new="1" text="""GNU Emacs: A multimedia editor""" start="00:05:20.140" video="mainVideo-world" id="subtitle"]]
-
-[[!template text="""Hello. In this video, we will look at""" start="00:05:20.140" video="mainVideo-world" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""GNU Emacs: A multimedia editor""" start="00:05:20.140" video="mainVideo-world" id="subtitle"]]</div>[[!template text="""Hello. In this video, we will look at""" start="00:05:20.140" video="mainVideo-world" id="subtitle"]]
[[!template text="""some basic multimedia editing using Emacs.""" start="00:05:22.167" video="mainVideo-world" id="subtitle"]]
[[!template text="""Let's start a media-edit session.""" start="00:05:24.933" video="mainVideo-world" id="subtitle"]]
[[!template text="""Let's open a video file.""" start="00:05:27.460" video="mainVideo-world" id="subtitle"]]
@@ -98,9 +91,7 @@
[[!template text="""video file in an external video player.""" start="00:07:21.900" video="mainVideo-world" id="subtitle"]]
[[!template text="""That's all for this video. Thanks.""" start="00:07:57.160" video="mainVideo-world" id="subtitle"]]
-[[!template new="1" text="""Fill PDF form using GNU Emacs""" start="00:08:03.367" video="mainVideo-world" id="subtitle"]]
-
-[[!template text="""Hello. In this video, we will look at""" start="00:08:03.367" video="mainVideo-world" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Fill PDF form using GNU Emacs""" start="00:08:03.367" video="mainVideo-world" id="subtitle"]]</div>[[!template text="""Hello. In this video, we will look at""" start="00:08:03.367" video="mainVideo-world" id="subtitle"]]
[[!template text="""editing a PDF form using GNU Emacs.""" start="00:08:05.567" video="mainVideo-world" id="subtitle"]]
[[!template text="""To start, we have to enable the annotation.""" start="00:08:09.760" video="mainVideo-world" id="subtitle"]]
[[!template text="""Then we can use Tab to move forward and Shift+Tab""" start="00:08:13.840" video="mainVideo-world" id="subtitle"]]
@@ -124,9 +115,7 @@
[[!template text="""You have city, France and Driving License selected.""" start="00:09:29.100" video="mainVideo-world" id="subtitle"]]
[[!template text="""That's all for this video. Thanks.""" start="00:09:32.620" video="mainVideo-world" id="subtitle"]]
-[[!template new="1" text="""Desktop and window management in GNU Emacs""" start="00:09:34.900" video="mainVideo-world" id="subtitle"]]
-
-[[!template text="""Hello. In this video, we will look at""" start="00:09:34.900" video="mainVideo-world" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Desktop and window management in GNU Emacs""" start="00:09:34.900" video="mainVideo-world" id="subtitle"]]</div>[[!template text="""Hello. In this video, we will look at""" start="00:09:34.900" video="mainVideo-world" id="subtitle"]]
[[!template text="""desktop and window management in GNU Emacs.""" start="00:09:37.660" video="mainVideo-world" id="subtitle"]]
[[!template text="""We'll start with `task-view`.""" start="00:09:40.460" video="mainVideo-world" id="subtitle"]]
[[!template text="""Top row shows all the desktops,""" start="00:09:47.740" video="mainVideo-world" id="subtitle"]]
@@ -145,9 +134,7 @@
[[!template text="""in this group to activate the complete group.""" start="00:11:04.867" video="mainVideo-world" id="subtitle"]]
[[!template text="""That's all for this video. Thanks.""" start="00:11:07.640" video="mainVideo-world" id="subtitle"]]
-[[!template new="1" text="""Screen mirroring in GNU Emacs""" start="00:11:10.440" video="mainVideo-world" id="subtitle"]]
-
-[[!template text="""Hello. In this video, we will look at""" start="00:11:10.440" video="mainVideo-world" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Screen mirroring in GNU Emacs""" start="00:11:10.440" video="mainVideo-world" id="subtitle"]]</div>[[!template text="""Hello. In this video, we will look at""" start="00:11:10.440" video="mainVideo-world" id="subtitle"]]
[[!template text="""screen mirroring using GNU Emacs.""" start="00:11:12.433" video="mainVideo-world" id="subtitle"]]
[[!template text="""Run `wfd`. Select an interface.""" start="00:11:14.280" video="mainVideo-world" id="subtitle"]]
[[!template text="""Now it will scan for all the available devices""" start="00:11:18.780" video="mainVideo-world" id="subtitle"]]
@@ -158,48 +145,30 @@
[[!template text="""To terminate the session, just click on quit.""" start="00:11:45.140" video="mainVideo-world" id="subtitle"]]
[[!template text="""That's all for this video. Thanks.""" start="00:11:50.220" video="mainVideo-world" id="subtitle"]]
-[[!template new="1" text="""Swipe for Text Input in GNU Emacs""" start="00:11:53.033" video="mainVideo-world" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Swipe for Text Input in GNU Emacs""" start="00:11:53.033" video="mainVideo-world" id="subtitle"]]</div>[[!template text="""[Using Sweep to swipe and type &quot;as you like it.&quot;]""" start="00:11:53.033" video="mainVideo-world" id="subtitle"]]
-[[!template text="""[Using Sweep to swipe and type &quot;as you like it.&quot;]""" start="00:11:53.033" video="mainVideo-world" id="subtitle"]]
-
-[[!template new="1" text="""Formula Editor in GNU Emacs""" start="00:12:25.533" video="mainVideo-world" id="subtitle"]]
-
-[[!template text="""[Formula Editor]""" start="00:12:25.533" video="mainVideo-world" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Formula Editor in GNU Emacs""" start="00:12:25.533" video="mainVideo-world" id="subtitle"]]</div>[[!template text="""[Formula Editor]""" start="00:12:25.533" video="mainVideo-world" id="subtitle"]]
[[!template text="""[Typing fractions in the formula]""" start="00:12:39.900" video="mainVideo-world" id="subtitle"]]
[[!template text="""[Adding brackets and an exponent]""" start="00:12:45.033" video="mainVideo-world" id="subtitle"]]
-[[!template new="1" text="""Transliteration in Emacs""" start="00:12:59.433" video="mainVideo-world" id="subtitle"]]
-
-[[!template text="""[Hindi (Devanagari script) Phonetic typing]""" start="00:12:59.433" video="mainVideo-world" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Transliteration in Emacs""" start="00:12:59.433" video="mainVideo-world" id="subtitle"]]</div>[[!template text="""[Hindi (Devanagari script) Phonetic typing]""" start="00:12:59.433" video="mainVideo-world" id="subtitle"]]
[[!template text="""[Phonetic typing Gujarati, Bangla, Kannada, and Tamil]""" start="00:13:05.200" video="mainVideo-world" id="subtitle"]]
-[[!template new="1" text="""Social Media client - Tumblr, Reddit""" start="00:13:09.433" video="mainVideo-world" id="subtitle"]]
-
-[[!template text="""[Browsing Reddit in Emacs]""" start="00:13:09.433" video="mainVideo-world" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Social Media client - Tumblr, Reddit""" start="00:13:09.433" video="mainVideo-world" id="subtitle"]]</div>[[!template text="""[Browsing Reddit in Emacs]""" start="00:13:09.433" video="mainVideo-world" id="subtitle"]]
[[!template text="""[Browsing Tumblr in Emacs]""" start="00:13:19.533" video="mainVideo-world" id="subtitle"]]
[[!template text="""[Browsing X (Twitter) in Emacs]""" start="00:13:29.533" video="mainVideo-world" id="subtitle"]]
-[[!template new="1" text="""Comics Builder""" start="00:13:40.000" video="mainVideo-world" id="subtitle"]]
-
-[[!template text="""[Generating comic from a text script]""" start="00:13:40.000" video="mainVideo-world" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Comics Builder""" start="00:13:40.000" video="mainVideo-world" id="subtitle"]]</div>[[!template text="""[Generating comic from a text script]""" start="00:13:40.000" video="mainVideo-world" id="subtitle"]]
-[[!template new="1" text="""Matching game""" start="00:13:49.567" video="mainVideo-world" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Matching game""" start="00:13:49.567" video="mainVideo-world" id="subtitle"]]</div>[[!template text="""[Matching color names with color boxes]""" start="00:13:49.567" video="mainVideo-world" id="subtitle"]]
-[[!template text="""[Matching color names with color boxes]""" start="00:13:49.567" video="mainVideo-world" id="subtitle"]]
-
-[[!template new="1" text="""Interactive XPath Builder in GNU Emacs""" start="00:13:59.567" video="mainVideo-world" id="subtitle"]]
-
-[[!template text="""[Running `xpath-builder` on an XML file]""" start="00:13:59.567" video="mainVideo-world" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Interactive XPath Builder in GNU Emacs""" start="00:13:59.567" video="mainVideo-world" id="subtitle"]]</div>[[!template text="""[Running `xpath-builder` on an XML file]""" start="00:13:59.567" video="mainVideo-world" id="subtitle"]]
[[!template text="""[Filtering `title`, `para`, and `author` from the XML]""" start="00:14:01.833" video="mainVideo-world" id="subtitle"]]
-[[!template new="1" text="""Interactive JSON Builder in GNU Emacs""" start="00:14:10.767" video="mainVideo-world" id="subtitle"]]
-
-[[!template text="""[Filtering `father`, `father.name`, `children`""" start="00:14:10.767" video="mainVideo-world" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Interactive JSON Builder in GNU Emacs""" start="00:14:10.767" video="mainVideo-world" id="subtitle"]]</div>[[!template text="""[Filtering `father`, `father.name`, `children`""" start="00:14:10.767" video="mainVideo-world" id="subtitle"]]
[[!template text="""`children[1]` from a JSON using JSON Builder]""" start="00:14:29.200" video="mainVideo-world" id="subtitle"]]
-[[!template new="1" text="""GNU Emacs as a lightweight IDE (CEDET Semantic): Java - Generate getter/setter""" start="00:14:35.233" video="mainVideo-world" id="subtitle"]]
-
-[[!template text="""Hello. In this video, we will look at""" start="00:14:35.233" video="mainVideo-world" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""GNU Emacs as a lightweight IDE (CEDET Semantic): Java - Generate getter/setter""" start="00:14:35.233" video="mainVideo-world" id="subtitle"]]</div>[[!template text="""Hello. In this video, we will look at""" start="00:14:35.233" video="mainVideo-world" id="subtitle"]]
[[!template text="""generating getters and setters in Java using Emacs.""" start="00:14:37.633" video="mainVideo-world" id="subtitle"]]
[[!template text="""We will run `srecode-getset-dialog`.""" start="00:14:41.660" video="mainVideo-world" id="subtitle"]]
[[!template text="""We will get an option to select particular fields,""" start="00:14:46.233" video="mainVideo-world" id="subtitle"]]
@@ -215,13 +184,9 @@
[[!template text="""getters and setters have been generated.""" start="00:15:22.300" video="mainVideo-world" id="subtitle"]]
[[!template text="""That's all for this video. Thanks.""" start="00:15:23.933" video="mainVideo-world" id="subtitle"]]
-[[!template new="1" text="""Generate C header""" start="00:15:26.133" video="mainVideo-world" id="subtitle"]]
-
-[[!template text="""[Generating C headers using `srecode-gen-header`]""" start="00:15:26.133" video="mainVideo-world" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Generate C header""" start="00:15:26.133" video="mainVideo-world" id="subtitle"]]</div>[[!template text="""[Generating C headers using `srecode-gen-header`]""" start="00:15:26.133" video="mainVideo-world" id="subtitle"]]
-[[!template new="1" text="""C Rename symbols""" start="00:16:11.640" video="mainVideo-world" id="subtitle"]]
-
-[[!template text="""Hello. In this video, we will look at""" start="00:16:11.640" video="mainVideo-world" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""C Rename symbols""" start="00:16:11.640" video="mainVideo-world" id="subtitle"]]</div>[[!template text="""Hello. In this video, we will look at""" start="00:16:11.640" video="mainVideo-world" id="subtitle"]]
[[!template text="""renaming method across multiple files in a project.""" start="00:16:13.833" video="mainVideo-world" id="subtitle"]]
[[!template text="""Let's start with `semantic-symref-symbol`.""" start="00:16:17.633" video="mainVideo-world" id="subtitle"]]
[[!template text="""Now we have the references.""" start="00:16:24.640" video="mainVideo-world" id="subtitle"]]
@@ -234,9 +199,7 @@
[[!template text="""more clearly. No errors.""" start="00:17:00.300" video="mainVideo-world" id="subtitle"]]
[[!template text="""That's all for this video. Thanks.""" start="00:17:04.167" video="mainVideo-world" id="subtitle"]]
-[[!template new="1" text="""SQL (offline)""" start="00:17:07.640" video="mainVideo-world" id="subtitle"]]
-
-[[!template text="""Hello. In this video, we will look at""" start="00:17:07.640" video="mainVideo-world" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""SQL (offline)""" start="00:17:07.640" video="mainVideo-world" id="subtitle"]]</div>[[!template text="""Hello. In this video, we will look at""" start="00:17:07.640" video="mainVideo-world" id="subtitle"]]
[[!template text="""SQL editing with Semantic.""" start="00:17:09.733" video="mainVideo-world" id="subtitle"]]
[[!template text="""We will define a schema in this SQL document.""" start="00:17:12.440" video="mainVideo-world" id="subtitle"]]
[[!template text="""Let's create a table.""" start="00:17:16.620" video="mainVideo-world" id="subtitle"]]
@@ -263,118 +226,10 @@
[[!template text="""That's all for this video. Thanks.""" start="00:20:16.267" video="mainVideo-world" id="subtitle"]]
[[!template text="""Slide with the text &quot;Let's Make Computing Personal.&quot;""" start="00:20:21.867" video="mainVideo-world" id="subtitle"]]
-
+</div>
Captioner: bhavin192
-<a name="world-qanda-transcript"></a>
-# Q&A transcript (unedited)
-
-[[!template text="""[Speaker 0]: Okay, folks. Thanks, Anand,""" start="00:00:07.120" video="qanda-world" id="subtitle"]]
-[[!template text="""for the great talk. So here is the live Q&A.""" start="00:00:11.259" video="qanda-world" id="subtitle"]]
-[[!template text="""Hi. Hello. I see questions being posted on""" start="00:00:22.279" video="qanda-world" id="subtitle"]]
-[[!template text="""the pad. Would you like me to read them out""" start="00:00:23.920" video="qanda-world" id="subtitle"]]
-[[!template text="""or would you prefer to read them yourself?""" start="00:00:25.320" video="qanda-world" id="subtitle"]]
-[[!template text="""[Speaker 1]: Okay. I'll try reading it out.""" start="00:00:31.880" video="qanda-world" id="subtitle"]]
-[[!template text="""If there are audio issues,""" start="00:00:33.340" video="qanda-world" id="subtitle"]]
-[[!template text="""[Speaker 0]: Sure, thanks.""" start="00:00:35.420" video="qanda-world" id="subtitle"]]
-[[!template text="""[Speaker 1]: just let me know. A lot of what you showed""" start="00:00:37.360" video="qanda-world" id="subtitle"]]
-[[!template text="""was the type of stuff Emacs didn't do very""" start="00:00:39.960" video="qanda-world" id="subtitle"]]
-[[!template text="""well. This stuff looks like it could be""" start="00:00:43.040" video="qanda-world" id="subtitle"]]
-[[!template text="""useful for using Emacs with a touch screen""" start="00:00:45.020" video="qanda-world" id="subtitle"]]
-[[!template text="""and a tablet. Have you used it for purposes""" start="00:00:46.960" video="qanda-world" id="subtitle"]]
-[[!template text="""like this? No right now it's more proof of""" start="00:00:53.160" video="qanda-world" id="subtitle"]]
-[[!template text="""concept stage so I don't use it more than you""" start="00:00:58.580" video="qanda-world" id="subtitle"]]
-[[!template text="""know just making some demo software.""" start="00:01:03.420" video="qanda-world" id="subtitle"]]
-[[!template text="""The next question is, is there a mode for""" start="00:01:12.100" video="qanda-world" id="subtitle"]]
-[[!template text="""using FFmpeg through Emacs or did you make it""" start="00:01:15.080" video="qanda-world" id="subtitle"]]
-[[!template text="""yourself? Okay so this is something that I""" start="00:01:20.160" video="qanda-world" id="subtitle"]]
-[[!template text="""built. So the base of it is XWidget in Emacs,""" start="00:01:26.800" video="qanda-world" id="subtitle"]]
-[[!template text="""which is already there.""" start="00:01:28.160" video="qanda-world" id="subtitle"]]
-[[!template text="""But then I had to add a few control code for""" start="00:01:35.080" video="qanda-world" id="subtitle"]]
-[[!template text="""controlling VLC. So ffmpeg is like a shell""" start="00:01:42.240" video="qanda-world" id="subtitle"]]
-[[!template text="""command that finally stitches those bits of""" start="00:01:46.840" video="qanda-world" id="subtitle"]]
-[[!template text="""video clips. But what actually plays is VLC,""" start="00:01:51.780" video="qanda-world" id="subtitle"]]
-[[!template text="""and it's not FFmpeg. Hope that's clear.""" start="00:01:55.860" video="qanda-world" id="subtitle"]]
-[[!template text="""The next question is these demos are always""" start="00:02:03.580" video="qanda-world" id="subtitle"]]
-[[!template text="""so impressive. Do you plan to upstream any of""" start="00:02:06.020" video="qanda-world" id="subtitle"]]
-[[!template text="""these projects into Emacs?""" start="00:02:07.040" video="qanda-world" id="subtitle"]]
-[[!template text="""Right now, okay, let me read the complete""" start="00:02:13.940" video="qanda-world" id="subtitle"]]
-[[!template text="""questions. These demos are always so""" start="00:02:16.220" video="qanda-world" id="subtitle"]]
-[[!template text="""impressive. Do you plan to upstream any of""" start="00:02:17.960" video="qanda-world" id="subtitle"]]
-[[!template text="""these projects into Emacs or to publish them""" start="00:02:19.960" video="qanda-world" id="subtitle"]]
-[[!template text="""as, for example, helper packages?""" start="00:02:21.780" video="qanda-world" id="subtitle"]]
-[[!template text="""So right now, as it stands,""" start="00:02:26.480" video="qanda-world" id="subtitle"]]
-[[!template text="""I personally don't intend to do that because""" start="00:02:30.720" video="qanda-world" id="subtitle"]]
-[[!template text="""I don't have that time but I have signed my""" start="00:02:34.900" video="qanda-world" id="subtitle"]]
-[[!template text="""signed assignment copyright assignment so""" start="00:02:38.720" video="qanda-world" id="subtitle"]]
-[[!template text="""anybody has time and motivation to do it they""" start="00:02:41.600" video="qanda-world" id="subtitle"]]
-[[!template text="""can pick up the code and help me with that.""" start="00:02:47.120" video="qanda-world" id="subtitle"]]
-[[!template text="""The next is, how did you make that electronic""" start="00:02:53.200" video="qanda-world" id="subtitle"]]
-[[!template text="""circuit diagram? Is there a mode with the""" start="00:03:00.600" video="qanda-world" id="subtitle"]]
-[[!template text="""symbols already available.""" start="00:03:02.560" video="qanda-world" id="subtitle"]]
-[[!template text="""Okay so electronic circuit diagram is you""" start="00:03:08.240" video="qanda-world" id="subtitle"]]
-[[!template text="""know the canvas mode but and what you see is""" start="00:03:13.340" video="qanda-world" id="subtitle"]]
-[[!template text="""the is an extension of that canvas mode which""" start="00:03:19.540" video="qanda-world" id="subtitle"]]
-[[!template text="""uses a symbol library.""" start="00:03:25.440" video="qanda-world" id="subtitle"]]
-[[!template text="""And so The only difference is you press""" start="00:03:31.980" video="qanda-world" id="subtitle"]]
-[[!template text="""capital L to open up that symbol library.""" start="00:03:34.160" video="qanda-world" id="subtitle"]]
-[[!template text="""In this case, this symbol library happens to""" start="00:03:37.700" video="qanda-world" id="subtitle"]]
-[[!template text="""be just a library of electronic symbols.""" start="00:03:41.380" video="qanda-world" id="subtitle"]]
-[[!template text="""It can be any category of symbols and then""" start="00:03:44.640" video="qanda-world" id="subtitle"]]
-[[!template text="""you and use it to draw on your,""" start="00:03:47.600" video="qanda-world" id="subtitle"]]
-[[!template text="""in the canvas major mode.""" start="00:03:50.640" video="qanda-world" id="subtitle"]]
-[[!template text="""Next question is, I have seen your blog post""" start="00:04:02.240" video="qanda-world" id="subtitle"]]
-[[!template text="""with some of these features But can you link""" start="00:04:04.700" video="qanda-world" id="subtitle"]]
-[[!template text="""to the repo where you are doing the""" start="00:04:06.280" video="qanda-world" id="subtitle"]]
-[[!template text="""development for these packages?""" start="00:04:07.940" video="qanda-world" id="subtitle"]]
-[[!template text="""Sure, I can do that Most of these are""" start="00:04:18.899" video="qanda-world" id="subtitle"]]
-[[!template text="""available on my blogs.""" start="00:04:20.279" video="qanda-world" id="subtitle"]]
-[[!template text="""Typically the Reddit post always has a link""" start="00:04:26.200" video="qanda-world" id="subtitle"]]
-[[!template text="""to my blog. But I'll post it in this 1 as""" start="00:04:31.480" video="qanda-world" id="subtitle"]]
-[[!template text="""well.""" start="00:04:31.680" video="qanda-world" id="subtitle"]]
-[[!template text="""[Speaker 0]: I'll quickly note that we have about 4 more""" start="00:04:48.480" video="qanda-world" id="subtitle"]]
-[[!template text="""minutes of live Q&A, but if folks have more""" start="00:04:52.540" video="qanda-world" id="subtitle"]]
-[[!template text="""questions, they're welcome to either continue""" start="00:04:55.320" video="qanda-world" id="subtitle"]]
-[[!template text="""asking on the pad or come join us here on Big""" start="00:04:59.060" video="qanda-world" id="subtitle"]]
-[[!template text="""Blue Button and continue chatting once the""" start="00:05:02.080" video="qanda-world" id="subtitle"]]
-[[!template text="""stream moves on to the next talk.""" start="00:05:03.440" video="qanda-world" id="subtitle"]]
-[[!template text="""Thank you.""" start="00:05:03.940" video="qanda-world" id="subtitle"]]
-[[!template text="""[Speaker 1]: Yes, so here's the link.""" start="00:05:13.360" video="qanda-world" id="subtitle"]]
-[[!template text="""And so right now, all of my development goes""" start="00:05:23.240" video="qanda-world" id="subtitle"]]
-[[!template text="""into a single development branch in this""" start="00:05:26.360" video="qanda-world" id="subtitle"]]
-[[!template text="""repository. But depending on the feature that""" start="00:05:28.940" video="qanda-world" id="subtitle"]]
-[[!template text="""you're looking at, you can look at that""" start="00:05:31.500" video="qanda-world" id="subtitle"]]
-[[!template text="""particular post and that post will have a""" start="00:05:33.820" video="qanda-world" id="subtitle"]]
-[[!template text="""link to the specific files that include the""" start="00:05:37.120" video="qanda-world" id="subtitle"]]
-[[!template text="""changes.""" start="00:05:37.320" video="qanda-world" id="subtitle"]]
-[[!template text="""Okay, there's a feedback.""" start="00:06:24.236" video="qanda-world" id="subtitle"]]
-[[!template text="""Thank you for showing so many new""" start="00:06:26.520" video="qanda-world" id="subtitle"]]
-[[!template text="""possibilities with Emacs.""" start="00:06:27.500" video="qanda-world" id="subtitle"]]
-[[!template text="""I'm glad you like those possibilities.""" start="00:06:30.960" video="qanda-world" id="subtitle"]]
-[[!template text="""And hopefully, you know,""" start="00:06:32.540" video="qanda-world" id="subtitle"]]
-[[!template text="""with Emacs, the possibilities are really""" start="00:06:34.540" video="qanda-world" id="subtitle"]]
-[[!template text="""endless. So I really encourage more people to""" start="00:06:38.480" video="qanda-world" id="subtitle"]]
-[[!template text="""explore it and, you know,""" start="00:06:41.120" video="qanda-world" id="subtitle"]]
-[[!template text="""try things that people have so far only been""" start="00:06:49.280" video="qanda-world" id="subtitle"]]
-[[!template text="""using other applications for.""" start="00:06:52.160" video="qanda-world" id="subtitle"]]
-[[!template text="""The next question is coming up.""" start="00:06:59.580" video="qanda-world" id="subtitle"]]
-[[!template text="""Okay, the PDF form filling is especially""" start="00:07:07.540" video="qanda-world" id="subtitle"]]
-[[!template text="""interesting. I would love to do my taxes in""" start="00:07:10.200" video="qanda-world" id="subtitle"]]
-[[!template text="""Emacs. Yes, In most cases you should be able""" start="00:07:16.400" video="qanda-world" id="subtitle"]]
-[[!template text="""to do it unless there are a lot of JavaScript""" start="00:07:18.900" video="qanda-world" id="subtitle"]]
-[[!template text="""involved with the PDF.""" start="00:07:20.500" video="qanda-world" id="subtitle"]]
-[[!template text="""For a simple form, you should be able to do""" start="00:07:24.800" video="qanda-world" id="subtitle"]]
-[[!template text="""it.""" start="00:07:24.960" video="qanda-world" id="subtitle"]]
-[[!template text="""[Speaker 0]: Okay, we have about 1 minute remaining on the""" start="00:08:19.480" video="qanda-world" id="subtitle"]]
-[[!template text="""live stream. If folks have any other""" start="00:08:21.660" video="qanda-world" id="subtitle"]]
-[[!template text="""questions, please do continue posting on the""" start="00:08:24.960" video="qanda-world" id="subtitle"]]
-[[!template text="""pad or come and join BigBlueButton with an""" start="00:08:27.540" video="qanda-world" id="subtitle"]]
-[[!template text="""ad. And thanks again, Adam,""" start="00:08:28.940" video="qanda-world" id="subtitle"]]
-[[!template text="""for a great talk and for the discussions and""" start="00:08:30.880" video="qanda-world" id="subtitle"]]
-[[!template text="""questions and answers.""" start="00:08:31.560" video="qanda-world" id="subtitle"]]
-[[!template text="""[Speaker 1]: Great, thanks.""" start="00:08:36.100" video="qanda-world" id="subtitle"]]
-
Questions or comments? Please e-mail [emacsconf-org-private@gnu.org](mailto:emacsconf-org-private@gnu.org?subject=Comment%20for%20EmacsConf%202023%20world%3A%20GNU%20Emacs%3A%20A%20World%20of%20Possibilities)
diff --git a/2023/info/world-before.md b/2023/info/world-before.md
index 3b34d3bb..457218f3 100644
--- a/2023/info/world-before.md
+++ b/2023/info/world-before.md
@@ -1,14 +1,14 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
[[!toc ]]
-Format: 21-min talk; Q&A: BigBlueButton conference room
+Format: 21-min talk ; Q&A: BigBlueButton conference room
Status: Q&A to be extracted from the room recordings
-<div class="vid"><video controls preload="none" id="world-mainVideo"><source src="https://media.emacsconf.org/2023/emacsconf-2023-world--gnu-emacs-a-world-of-possibilities--anand-tamariya--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-world--gnu-emacs-a-world-of-possibilities--anand-tamariya--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2023/captions/emacsconf-2023-world--gnu-emacs-a-world-of-possibilities--anand-tamariya--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="world-mainVideo" data="""
-00:00:00.780 Draw and scribble in GNU Emacs
+<div class="vid mainVideo"><video controls preload="none" id="mainVideo-world"><source src="https://media.emacsconf.org/2023/emacsconf-2023-world--gnu-emacs-a-world-of-possibilities--anand-tamariya--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-world--gnu-emacs-a-world-of-possibilities--anand-tamariya--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2023/captions/emacsconf-2023-world--gnu-emacs-a-world-of-possibilities--anand-tamariya--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-world" data="""
+00:00.780 Draw and scribble in GNU Emacs
03:46.400 SVG Symbols library
05:20.140 GNU Emacs: A multimedia editor
08:03.367 Fill PDF form using GNU Emacs
@@ -27,6 +27,6 @@ Status: Q&A to be extracted from the room recordings
16:11.640 C Rename symbols
17:07.640 SQL (offline)
-"""]]<div></div>Duration: 20:31 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-world--gnu-emacs-a-world-of-possibilities--anand-tamariya--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-world--gnu-emacs-a-world-of-possibilities--anand-tamariya--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-world--gnu-emacs-a-world-of-possibilities--anand-tamariya--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-world--gnu-emacs-a-world-of-possibilities--anand-tamariya--main.opus">Download --main.opus (9.3MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-world--gnu-emacs-a-world-of-possibilities--anand-tamariya--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-world--gnu-emacs-a-world-of-possibilities--anand-tamariya--main.webm">Download --main.webm (66MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-world--gnu-emacs-a-world-of-possibilities--anand-tamariya--pad.html">Download --pad.html</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-world--gnu-emacs-a-world-of-possibilities--anand-tamariya--pad.md">Download --pad.md</a></li><li><a href="https://toobnix.org/w/jFaSuNYt2FqibtcAvmVdbF">View on Toobnix</a></li></ul></div></div>
+"""]]<div></div>Duration: 20:31 minutes<div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2023-world">Open Etherpad</a></li><li><a href="https://bbb.emacsverse.org/playback/presentation/2.0/playback.html?meetingId=573c5a7321e144f6cd67763c21ed7aea8f1c1497-1701617014361">Play recording from BigBlueButton</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-world--gnu-emacs-a-world-of-possibilities--anand-tamariya--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-world--gnu-emacs-a-world-of-possibilities--anand-tamariya--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-world--gnu-emacs-a-world-of-possibilities--anand-tamariya--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-world--gnu-emacs-a-world-of-possibilities--anand-tamariya--main.opus">Download --main.opus (9.3MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-world--gnu-emacs-a-world-of-possibilities--anand-tamariya--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-world--gnu-emacs-a-world-of-possibilities--anand-tamariya--main.webm">Download --main.webm (66MB)</a></li><li><a href="https://toobnix.org/w/jFaSuNYt2FqibtcAvmVdbF">View on Toobnix</a></li><li><a href="https://www.youtube.com/watch?v=T5yZZK18w5w">View on Youtube</a></li></ul></div></div>
# Description
<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2023/info/world-nav.md b/2023/info/world-nav.md
index 0c9d9fb1..6dd1afa3 100644
--- a/2023/info/world-nav.md
+++ b/2023/info/world-nav.md
@@ -3,5 +3,5 @@
Back to the [[talks]]
Previous by track: <a href="/2023/talks/scheme">Bringing joy to Scheme programming</a>
Next by track: <a href="/2023/talks/flat">A modern Emacs look-and-feel without pain</a>
-Track: <span class="sched-track Development">Development</span>
+Track: <span class="sched-track Development">Development</span> - <strong><a href="https://emacsconf.org/2023/watch/dev">Watch</a></strong>
</div>
diff --git a/2023/info/writing-after.md b/2023/info/writing-after.md
index 1523f77d..074ffac6 100644
--- a/2023/info/writing-after.md
+++ b/2023/info/writing-after.md
@@ -1,13 +1,10 @@
<!-- Automatically generated by emacsconf-publish-after-page -->
-<a name="writing-mainVideo-transcript"></a>
-# Transcript
+<div class="transcript transcript-mainVideo"><a name="writing-mainVideo-transcript"></a><h1>Transcript</h1>
-[[!template new="1" text="""Intro""" start="00:00:00.000" video="mainVideo-writing" id="subtitle"]]
-
-[[!template text="""Hello everyone, I'm Jeremy Friesen, pronouns he/him,""" start="00:00:00.000" video="mainVideo-writing" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Intro""" start="00:00:00.000" video="mainVideo-writing" id="subtitle"]]</div>[[!template text="""Hello everyone, I'm Jeremy Friesen, pronouns he/him,""" start="00:00:00.000" video="mainVideo-writing" id="subtitle"]]
[[!template text="""and today I'll be talking about""" start="00:00:04.560" video="mainVideo-writing" id="subtitle"]]
[[!template text="""how Emacs turbocharges my writing.""" start="00:00:05.880" video="mainVideo-writing" id="subtitle"]]
[[!template text="""Quick intro: I've been programming since 1998""" start="00:00:08.600" video="mainVideo-writing" id="subtitle"]]
@@ -26,9 +23,7 @@
[[!template text="""and I'm always on the lookout for minor refinements""" start="00:00:50.320" video="mainVideo-writing" id="subtitle"]]
[[!template text="""that help me stay in my thinking.""" start="00:00:53.320" video="mainVideo-writing" id="subtitle"]]
-[[!template new="1" text="""How I got here""" start="00:00:57.120" video="mainVideo-writing" id="subtitle"]]
-
-[[!template text="""How I got here was I started in WordPress,""" start="00:00:57.120" video="mainVideo-writing" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""How I got here""" start="00:00:57.120" video="mainVideo-writing" id="subtitle"]]</div>[[!template text="""How I got here was I started in WordPress,""" start="00:00:57.120" video="mainVideo-writing" id="subtitle"]]
[[!template text="""then I moved to Jekyll, and then to Hugo,""" start="00:00:59.240" video="mainVideo-writing" id="subtitle"]]
[[!template text="""and through that process I started writing in Markdown.""" start="00:01:02.600" video="mainVideo-writing" id="subtitle"]]
[[!template text="""And when I was learning Emacs,""" start="00:01:05.440" video="mainVideo-writing" id="subtitle"]]
@@ -37,9 +32,7 @@
[[!template text="""I later learned Org Mode grows with you,""" start="00:01:12.400" video="mainVideo-writing" id="subtitle"]]
[[!template text="""and that's where I'm at now.""" start="00:01:15.520" video="mainVideo-writing" id="subtitle"]]
-[[!template new="1" text="""Friction""" start="00:01:18.400" video="mainVideo-writing" id="subtitle"]]
-
-[[!template text="""But I didn't realize that friction""" start="00:01:18.400" video="mainVideo-writing" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Friction""" start="00:01:18.400" video="mainVideo-writing" id="subtitle"]]</div>[[!template text="""But I didn't realize that friction""" start="00:01:18.400" video="mainVideo-writing" id="subtitle"]]
[[!template text="""between writing Markdown for my public blog""" start="00:01:20.000" video="mainVideo-writing" id="subtitle"]]
[[!template text="""and then adopting Org Mode locally""" start="00:01:23.360" video="mainVideo-writing" id="subtitle"]]
[[!template text="""for writing and time tracking and things like that.""" start="00:01:25.480" video="mainVideo-writing" id="subtitle"]]
@@ -50,9 +43,7 @@
[[!template text="""this kind of pre-thinking,""" start="00:01:39.520" video="mainVideo-writing" id="subtitle"]]
[[!template text="""where does stuff go when it comes into and out of my brain.""" start="00:01:41.040" video="mainVideo-writing" id="subtitle"]]
-[[!template new="1" text="""Domains for notes""" start="00:01:45.960" video="mainVideo-writing" id="subtitle"]]
-
-[[!template text="""So I have many domains where I'll write towards.""" start="00:01:45.960" video="mainVideo-writing" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Domains for notes""" start="00:01:45.960" video="mainVideo-writing" id="subtitle"]]</div>[[!template text="""So I have many domains where I'll write towards.""" start="00:01:45.960" video="mainVideo-writing" id="subtitle"]]
[[!template text="""The ones for this presentation are going to be""" start="00:01:49.400" video="mainVideo-writing" id="subtitle"]]
[[!template text="""blog posts, epigraphs, glossary, and melange.""" start="00:01:51.120" video="mainVideo-writing" id="subtitle"]]
[[!template text="""Melange is, I don't know where it goes,""" start="00:01:54.160" video="mainVideo-writing" id="subtitle"]]
@@ -63,9 +54,7 @@
[[!template text="""I didn't use a lot of the functionality""" start="00:02:10.640" video="mainVideo-writing" id="subtitle"]]
[[!template text="""and I appreciate the plain text reality of Denote.""" start="00:02:13.200" video="mainVideo-writing" id="subtitle"]]
-[[!template new="1" text="""Demo""" start="00:02:15.920" video="mainVideo-writing" id="subtitle"]]
-
-[[!template text="""So let's hop into the demo.""" start="00:02:15.920" video="mainVideo-writing" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Demo""" start="00:02:15.920" video="mainVideo-writing" id="subtitle"]]</div>[[!template text="""So let's hop into the demo.""" start="00:02:15.920" video="mainVideo-writing" id="subtitle"]]
[[!template text="""I'm going to split my screen.""" start="00:02:18.800" video="mainVideo-writing" id="subtitle"]]
[[!template text="""Over on the right is going to be""" start="00:02:19.920" video="mainVideo-writing" id="subtitle"]]
[[!template text="""where I'm going to be live typing stuff.""" start="00:02:21.960" video="mainVideo-writing" id="subtitle"]]
@@ -82,9 +71,7 @@
[[!template text="""Great.""" start="00:02:50.800" video="mainVideo-writing" id="subtitle"]]
[[!template text="""We've saved it.""" start="00:02:51.520" video="mainVideo-writing" id="subtitle"]]
-[[!template new="1" text="""Dabbrev and hippie-expand""" start="00:02:55.440" video="mainVideo-writing" id="subtitle"]]
-
-[[!template text="""One of the things I encourage everybody to do""" start="00:02:55.440" video="mainVideo-writing" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Dabbrev and hippie-expand""" start="00:02:55.440" video="mainVideo-writing" id="subtitle"]]</div>[[!template text="""One of the things I encourage everybody to do""" start="00:02:55.440" video="mainVideo-writing" id="subtitle"]]
[[!template text="""is to watch Jay Dixit's presentation, Emacs for Writers.""" start="00:02:57.400" video="mainVideo-writing" id="subtitle"]]
[[!template text="""It showed me the utility of Dabbrev for quick auto correction.""" start="00:03:02.040" video="mainVideo-writing" id="subtitle"]]
[[!template text="""And I also love using hippie-expand.""" start="00:03:08.080" video="mainVideo-writing" id="subtitle"]]
@@ -96,9 +83,7 @@
[[!template text="""So I think it's important to understand these tools""" start="00:03:27.800" video="mainVideo-writing" id="subtitle"]]
[[!template text="""that help me write better.""" start="00:03:30.720" video="mainVideo-writing" id="subtitle"]]
-[[!template new="1" text="""Links""" start="00:03:32.840" video="mainVideo-writing" id="subtitle"]]
-
-[[!template text="""All right, we're going to go with links.""" start="00:03:32.840" video="mainVideo-writing" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Links""" start="00:03:32.840" video="mainVideo-writing" id="subtitle"]]</div>[[!template text="""All right, we're going to go with links.""" start="00:03:32.840" video="mainVideo-writing" id="subtitle"]]
[[!template text="""Links are foundational for the web.""" start="00:03:34.880" video="mainVideo-writing" id="subtitle"]]
[[!template text="""I'm going to insert a public link,""" start="00:03:37.000" video="mainVideo-writing" id="subtitle"]]
[[!template text="""which is a role playing game that I love,""" start="00:03:41.160" video="mainVideo-writing" id="subtitle"]]
@@ -182,9 +167,7 @@
[[!template text="""along with the citation link to it.""" start="00:07:39.400" video="mainVideo-writing" id="subtitle"]]
[[!template text="""Again, helpful to be consistent.""" start="00:07:42.600" video="mainVideo-writing" id="subtitle"]]
-[[!template new="1" text="""Conclusion""" start="00:07:49.160" video="mainVideo-writing" id="subtitle"]]
-
-[[!template text="""In conclusion, when I started learning Emacs,""" start="00:07:49.160" video="mainVideo-writing" id="subtitle"]]
+<div class="transcript-heading">[[!template new="1" text="""Conclusion""" start="00:07:49.160" video="mainVideo-writing" id="subtitle"]]</div>[[!template text="""In conclusion, when I started learning Emacs,""" start="00:07:49.160" video="mainVideo-writing" id="subtitle"]]
[[!template text="""I quickly shifted to vanilla Emacs and just started writing.""" start="00:07:52.280" video="mainVideo-writing" id="subtitle"]]
[[!template text="""As I wrote, when I needed to do something that I'd previously""" start="00:07:55.880" video="mainVideo-writing" id="subtitle"]]
[[!template text="""done in a text editor, I'd find an experiment with a package.""" start="00:07:59.520" video="mainVideo-writing" id="subtitle"]]
@@ -209,12 +192,11 @@
[[!template text="""But for now, thank you.""" start="00:08:45.440" video="mainVideo-writing" id="subtitle"]]
[[!template text="""And I look forward to your questions.""" start="00:08:47.800" video="mainVideo-writing" id="subtitle"]]
-
+</div>
Captioner: bala
-<a name="writing-qanda-transcript"></a>
-# Q&A transcript (unedited)
+<div class="transcript transcript-qanda"><a name="writing-qanda-transcript"></a><h1>Q&A transcript (unedited)</h1>
[[!template text="""[Speaker 0]: All right, I've started the recording,""" start="00:00:00.060" video="qanda-writing" id="subtitle"]]
[[!template text="""so Sasha, you don't need to worry about this.""" start="00:00:01.400" video="qanda-writing" id="subtitle"]]
@@ -514,7 +496,7 @@ Captioner: bala
[[!template text="""[Speaker 1]: We're doing great. Okay.""" start="00:15:40.440" video="qanda-writing" id="subtitle"]]
[[!template text="""[Speaker 0]: Alright, bye bye Jeremy.""" start="00:15:51.220" video="qanda-writing" id="subtitle"]]
-Questions or comments? Please e-mail [jeremy@jeremyfriesen.com](mailto:jeremy@jeremyfriesen.com?subject=Comment%20for%20EmacsConf%202023%20writing%3A%20Emacs%20turbo-charges%20my%20writing)
+</div>Questions or comments? Please e-mail [jeremy@jeremyfriesen.com](mailto:jeremy@jeremyfriesen.com?subject=Comment%20for%20EmacsConf%202023%20writing%3A%20Emacs%20turbo-charges%20my%20writing)
<!-- End of emacsconf-publish-after-page -->
diff --git a/2023/info/writing-before.md b/2023/info/writing-before.md
index e46b512f..6e01d684 100644
--- a/2023/info/writing-before.md
+++ b/2023/info/writing-before.md
@@ -1,6 +1,6 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
[[!toc ]]
-Format: 9-min talk; Q&A: BigBlueButton conference room
+Format: 9-min talk ; Q&A: BigBlueButton conference room
Status: Q&A to be extracted from the room recordings
@@ -9,7 +9,7 @@ Status: Q&A to be extracted from the room recordings
# Talk
-<div class="vid"><video controls preload="none" id="writing-mainVideo"><source src="https://media.emacsconf.org/2023/emacsconf-2023-writing--emacs-turbocharges-my-writing--jeremy-friesen--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-writing--emacs-turbocharges-my-writing--jeremy-friesen--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2023/captions/emacsconf-2023-writing--emacs-turbocharges-my-writing--jeremy-friesen--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="writing-mainVideo" data="""
+<div class="vid mainVideo"><video controls preload="none" id="mainVideo-writing"><source src="https://media.emacsconf.org/2023/emacsconf-2023-writing--emacs-turbocharges-my-writing--jeremy-friesen--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-writing--emacs-turbocharges-my-writing--jeremy-friesen--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2023/captions/emacsconf-2023-writing--emacs-turbocharges-my-writing--jeremy-friesen--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-writing" data="""
00:00.000 Intro
00:57.120 How I got here
01:18.400 Friction
@@ -19,10 +19,10 @@ Status: Q&A to be extracted from the room recordings
03:32.840 Links
07:49.160 Conclusion
-"""]]<div></div>Duration: 08:53 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-writing--emacs-turbocharges-my-writing--jeremy-friesen--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-writing--emacs-turbocharges-my-writing--jeremy-friesen--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-writing--emacs-turbocharges-my-writing--jeremy-friesen--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-writing--emacs-turbocharges-my-writing--jeremy-friesen--main.opus">Download --main.opus (5.5MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-writing--emacs-turbocharges-my-writing--jeremy-friesen--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-writing--emacs-turbocharges-my-writing--jeremy-friesen--main.webm">Download --main.webm (23MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-writing--emacs-turbocharges-my-writing--jeremy-friesen--pad.html">Download --pad.html</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-writing--emacs-turbocharges-my-writing--jeremy-friesen--pad.md">Download --pad.md</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-writing--emacs-turbocharges-my-writing--jeremy-friesen.pdf">Download .pdf</a></li><li><a href="https://toobnix.org/w/ke3UCJaJSLyQr7Emv8VxST">View on Toobnix</a></li></ul></div></div>
+"""]]<div></div>Duration: 08:53 minutes<div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2023-writing">Open Etherpad</a></li><li><a href="https://bbb.emacsverse.org/playback/presentation/2.0/playback.html?meetingId=d3faf3bd5abcc5316e6a997b22b29d962480ad5c-1701537771543">Play recording from BigBlueButton</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-writing--emacs-turbocharges-my-writing--jeremy-friesen--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-writing--emacs-turbocharges-my-writing--jeremy-friesen--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-writing--emacs-turbocharges-my-writing--jeremy-friesen--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-writing--emacs-turbocharges-my-writing--jeremy-friesen--main.opus">Download --main.opus (5.5MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-writing--emacs-turbocharges-my-writing--jeremy-friesen--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-writing--emacs-turbocharges-my-writing--jeremy-friesen--main.webm">Download --main.webm (23MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-writing--emacs-turbocharges-my-writing--jeremy-friesen.pdf">Download .pdf</a></li><li><a href="https://toobnix.org/w/ke3UCJaJSLyQr7Emv8VxST">View on Toobnix</a></li><li><a href="https://www.youtube.com/watch?v=HxlEK6W7RyA">View on Youtube</a></li></ul></div></div>
# Q&A
-<div class="vid"><video controls preload="none" id="writing-qanda"><source src="https://media.emacsconf.org/2023/emacsconf-2023-writing--emacs-turbocharges-my-writing--jeremy-friesen--answers.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-writing--emacs-turbocharges-my-writing--jeremy-friesen--answers.vtt" default />"""<p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video><div>Listen to just the audio:<br /><audio controls preload="none" id="writing-qanda-audio" src="https://media.emacsconf.org/2023/emacsconf-2023-writing--emacs-turbocharges-my-writing--jeremy-friesen--answers.opus"></audio></div><div></div>Duration: 15:53 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-writing--emacs-turbocharges-my-writing--jeremy-friesen--answers.json">Download --answers.json</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-writing--emacs-turbocharges-my-writing--jeremy-friesen--answers.opus">Download --answers.opus (9.4MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-writing--emacs-turbocharges-my-writing--jeremy-friesen--answers.vtt">Download --answers.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-writing--emacs-turbocharges-my-writing--jeremy-friesen--answers.webm">Download --answers.webm (35MB)</a></li></ul></div></div>
+<div class="vid qanda"><video controls preload="none" id="qanda-writing"><source src="https://media.emacsconf.org/2023/emacsconf-2023-writing--emacs-turbocharges-my-writing--jeremy-friesen--answers.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-writing--emacs-turbocharges-my-writing--jeremy-friesen--answers.vtt" default />"""<p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video><div>Listen to just the audio:<br /><audio controls preload="none" id="qanda-writing-audio" src="https://media.emacsconf.org/2023/emacsconf-2023-writing--emacs-turbocharges-my-writing--jeremy-friesen--answers.opus"></audio></div><div></div>Duration: 15:53 minutes<div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2023-writing">Open Etherpad</a></li><li><a href="https://bbb.emacsverse.org/playback/presentation/2.0/playback.html?meetingId=d3faf3bd5abcc5316e6a997b22b29d962480ad5c-1701537771543">Play recording from BigBlueButton</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-writing--emacs-turbocharges-my-writing--jeremy-friesen--answers.json">Download --answers.json</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-writing--emacs-turbocharges-my-writing--jeremy-friesen--answers.opus">Download --answers.opus (9.4MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-writing--emacs-turbocharges-my-writing--jeremy-friesen--answers.vtt">Download --answers.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-writing--emacs-turbocharges-my-writing--jeremy-friesen--answers.webm">Download --answers.webm (35MB)</a></li></ul></div></div>
# Description
<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2023/info/writing-nav.md b/2023/info/writing-nav.md
index fa3bdae7..1c94a3c6 100644
--- a/2023/info/writing-nav.md
+++ b/2023/info/writing-nav.md
@@ -3,5 +3,5 @@
Back to the [[talks]]
Previous by track: <a href="/2023/talks/one">one.el: the static site generator for Emacs Lisp Programmers</a>
Next by track: <a href="/2023/talks/nabokov">Why Nabokov would use Org-Mode if he were writing today</a>
-Track: <span class="sched-track General">General</span>
+Track: <span class="sched-track General">General</span> - <strong><a href="https://emacsconf.org/2023/watch/gen">Watch</a></strong>
</div>
diff --git a/2023/schedule-2023-12-02.md b/2023/schedule-2023-12-02.md
index a64bad6a..52b3d6cd 100644
--- a/2023/schedule-2023-12-02.md
+++ b/2023/schedule-2023-12-02.md
@@ -1 +1 @@
-<div class="schedule-svg-container"><svg width="800" height="150" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <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="/2023/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="peachpuff"></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="/2023/talks/adventure" title="An Org-Mode based text adventure game for learning the basics of Emacs, inside Emacs, written in Emacs Lisp" data-slug="adventure"> <title> 9:10- 9:20 An Org-Mode based text adventure game for learning the basics of Emacs, inside Emacs, written in Emacs Lisp</title> <rect x="15" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect> <g transform="translate(28,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> adventure</text></g></a> <a href="/2023/talks/uni" title="Authoring and presenting university courses with Emacs and a full libre software stack" data-slug="uni"> <title> 9:30- 9:50 Authoring and presenting university courses with Emacs and a full libre software stack</title> <rect x="47" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(76,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> uni</text></g></a> <a href="/2023/talks/teaching" title="Teaching computer and data science with literate programming tools" data-slug="teaching"> <title> 10:05-10:25 Teaching computer and data science with literate programming tools</title> <rect x="101" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(130,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> teaching</text></g></a> <a href="/2023/talks/table" title="Who needs Excel? Managing your students qualifications with org-table" data-slug="table"> <title> 10:40-10:50 Who needs Excel? Managing your students qualifications with org-table</title> <rect x="156" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect> <g transform="translate(169,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> table</text></g></a> <a href="/2023/talks/one" title="one.el: the static site generator for Emacs Lisp Programmers" data-slug="one"> <title> 11:30-11:50 one.el: the static site generator for Emacs Lisp Programmers</title> <rect x="235" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(264,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> one</text></g></a> <a href="/2023/talks/writing" title="Emacs turbo-charges my writing" data-slug="writing"> <title> 1:00- 1:10 Emacs turbo-charges my writing</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)"> writing</text></g></a> <a href="/2023/talks/nabokov" title="Why Nabokov would use Org-Mode if he were writing today" data-slug="nabokov"> <title> 1:25- 1:35 Why Nabokov would use Org-Mode if he were writing today</title> <rect x="415" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(428,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> nabokov</text></g></a> <a href="/2023/talks/collab" title="Collaborative data processing and documenting using org-babel" data-slug="collab"> <title> 1:50- 2:10 Collaborative data processing and documenting using org-babel</title> <rect x="454" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect> <g transform="translate(483,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> collab</text></g></a> <a href="/2023/talks/solo" title="How I play TTRPGs in Emacs" data-slug="solo"> <title> 2:20- 2:40 How I play TTRPGs in Emacs</title> <rect x="501" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(530,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> solo</text></g></a> <a href="/2023/talks/ref" title="Org-Mode workflow: informal reference tracking" data-slug="ref"> <title> 2:55- 3:15 Org-Mode workflow: informal reference tracking</title> <rect x="556" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect> <g transform="translate(585,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> ref</text></g></a> <a href="/2023/talks/unentangling" title="(Un)entangling projects and repos" data-slug="unentangling"> <title> 3:25- 3:35 (Un)entangling projects and repos</title> <rect x="603" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect> <g transform="translate(616,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> unentangling</text></g></a> <a href="/2023/talks/devel" title="Emacs development updates" data-slug="devel"> <title> 3:45- 3:55 Emacs development updates</title> <rect x="635" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(648,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> devel</text></g></a> <a href="/2023/talks/core" title="Emacs core development: how it works" data-slug="core"> <title> 4:10- 4:50 Emacs core development: how it works</title> <rect x="674" y="15" opacity="0.8" width="62" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(734,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> core</text></g></a> <a href="/2023/talks/sat-close" title="Saturday closing remarks" data-slug="sat-close"> <title> 5:05- 5:15 Saturday closing remarks</title> <rect x="760" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(773,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> sat-close</text></g></a> <a href="/2023/talks/matplotllm" title="MatplotLLM, iterative natural language data visualization in org-babel" data-slug="matplotllm"> <title> 10:00-10:10 MatplotLLM, iterative natural language data visualization in org-babel</title> <rect x="94" y="75" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect> <g transform="translate(107,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> matplotllm</text></g></a> <a href="/2023/talks/voice" title="Enhancing productivity with voice computing" data-slug="voice"> <title> 10:20-10:40 Enhancing productivity with voice computing</title> <rect x="125" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(154,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> voice</text></g></a> <a href="/2023/talks/llm" title="LLM clients in Emacs, functionality and standardization" data-slug="llm"> <title> 10:55-11:15 LLM clients in Emacs, functionality and standardization</title> <rect x="180" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(209,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> llm</text></g></a> <a href="/2023/talks/overlay" title="Improving compiler diagnostics with overlays" data-slug="overlay"> <title> 1:00- 1:20 Improving compiler diagnostics with overlays</title> <rect x="376" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(405,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> overlay</text></g></a> <a href="/2023/talks/eval" title="Editor Integrated REPL Driven Development for all languages" data-slug="eval"> <title> 1:35- 1:45 Editor Integrated REPL Driven Development for all languages</title> <rect x="431" y="75" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect> <g transform="translate(444,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> eval</text></g></a> <a href="/2023/talks/repl" title="REPLs in strange places: Lua, LaTeX, LPeg, LPegRex, TikZ" data-slug="repl"> <title> 2:00- 3:00 REPLs in strange places: Lua, LaTeX, LPeg, LPegRex, TikZ</title> <rect x="470" y="75" opacity="0.8" width="94" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect> <g transform="translate(562,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> repl</text></g></a> <a href="/2023/talks/doc" title="Literate Documentation with Emacs and Org Mode" data-slug="doc"> <title> 3:10- 3:50 Literate Documentation with Emacs and Org Mode</title> <rect x="580" y="75" opacity="0.8" width="62" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(640,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> doc</text></g></a> <a href="/2023/talks/windows" title="Windows into Freedom" data-slug="windows"> <title> 4:05- 4:45 Windows into Freedom</title> <rect x="666" y="75" opacity="0.8" width="62" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(726,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> windows</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></svg></div> \ No newline at end of file
+<div class="schedule-svg-container"><svg width="800" height="150" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><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="/2023/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="peachpuff"></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="/2023/talks/adventure" title="An Org-Mode based text adventure game for learning the basics of Emacs, inside Emacs, written in Emacs Lisp" data-slug="adventure"><title> 9:10- 9:20 An Org-Mode based text adventure game for learning the basics of Emacs, inside Emacs, written in Emacs Lisp</title><rect x="15" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(28,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">adventure</text></g></a><a href="/2023/talks/uni" title="Authoring and presenting university courses with Emacs and a full libre software stack" data-slug="uni"><title> 9:30- 9:50 Authoring and presenting university courses with Emacs and a full libre software stack</title><rect x="47" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(76,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">uni</text></g></a><a href="/2023/talks/teaching" title="Teaching computer and data science with literate programming tools" data-slug="teaching"><title>10:05-10:25 Teaching computer and data science with literate programming tools</title><rect x="101" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(130,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">teaching</text></g></a><a href="/2023/talks/table" title="Who needs Excel? Managing your students qualifications with org-table" data-slug="table"><title>10:40-10:50 Who needs Excel? Managing your students qualifications with org-table</title><rect x="156" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(169,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">table</text></g></a><a href="/2023/talks/one" title="one.el: the static site generator for Emacs Lisp Programmers" data-slug="one"><title>11:30-11:50 one.el: the static site generator for Emacs Lisp Programmers</title><rect x="235" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(264,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">one</text></g></a><a href="/2023/talks/writing" title="Emacs turbo-charges my writing" data-slug="writing"><title> 1:00- 1:10 Emacs turbo-charges my writing</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)">writing</text></g></a><a href="/2023/talks/nabokov" title="Why Nabokov would use Org-Mode if he were writing today" data-slug="nabokov"><title> 1:25- 1:35 Why Nabokov would use Org-Mode if he were writing today</title><rect x="415" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(428,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">nabokov</text></g></a><a href="/2023/talks/collab" title="Collaborative data processing and documenting using org-babel" data-slug="collab"><title> 1:50- 2:10 Collaborative data processing and documenting using org-babel</title><rect x="454" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(483,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">collab</text></g></a><a href="/2023/talks/solo" title="How I play TTRPGs in Emacs" data-slug="solo"><title> 2:20- 2:40 How I play TTRPGs in Emacs</title><rect x="501" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(530,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">solo</text></g></a><a href="/2023/talks/ref" title="Org-Mode workflow: informal reference tracking" data-slug="ref"><title> 2:55- 3:15 Org-Mode workflow: informal reference tracking</title><rect x="556" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(585,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">ref</text></g></a><a href="/2023/talks/unentangling" title="(Un)entangling projects and repos" data-slug="unentangling"><title> 3:25- 3:35 (Un)entangling projects and repos</title><rect x="603" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(616,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">unentangling</text></g></a><a href="/2023/talks/devel" title="Emacs development updates" data-slug="devel"><title> 3:45- 3:55 Emacs development updates</title><rect x="635" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(648,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">devel</text></g></a><a href="/2023/talks/core" title="Emacs core development: how it works" data-slug="core"><title> 4:10- 4:50 Emacs core development: how it works</title><rect x="674" y="15" opacity="0.8" width="62" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(734,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">core</text></g></a><a href="/2023/talks/sat-close" title="Saturday closing remarks" data-slug="sat-close"><title> 5:05- 5:15 Saturday closing remarks</title><rect x="760" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(773,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-close</text></g></a><a href="/2023/talks/matplotllm" title="MatplotLLM, iterative natural language data visualization in org-babel" data-slug="matplotllm"><title>10:00-10:10 MatplotLLM, iterative natural language data visualization in org-babel</title><rect x="94" y="75" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect><g transform="translate(107,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">matplotllm</text></g></a><a href="/2023/talks/voice" title="Enhancing productivity with voice computing" data-slug="voice"><title>10:20-10:40 Enhancing productivity with voice computing</title><rect x="125" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(154,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">voice</text></g></a><a href="/2023/talks/llm" title="LLM clients in Emacs, functionality and standardization" data-slug="llm"><title>10:55-11:15 LLM clients in Emacs, functionality and standardization</title><rect x="180" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(209,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">llm</text></g></a><a href="/2023/talks/overlay" title="Improving compiler diagnostics with overlays" data-slug="overlay"><title> 1:00- 1:20 Improving compiler diagnostics with overlays</title><rect x="376" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(405,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">overlay</text></g></a><a href="/2023/talks/eval" title="Editor Integrated REPL Driven Development for all languages" data-slug="eval"><title> 1:35- 1:45 Editor Integrated REPL Driven Development for all languages</title><rect x="431" y="75" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect><g transform="translate(444,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">eval</text></g></a><a href="/2023/talks/repl" title="REPLs in strange places: Lua, LaTeX, LPeg, LPegRex, TikZ" data-slug="repl"><title> 2:00- 3:00 REPLs in strange places: Lua, LaTeX, LPeg, LPegRex, TikZ</title><rect x="470" y="75" opacity="0.8" width="94" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect><g transform="translate(562,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">repl</text></g></a><a href="/2023/talks/doc" title="Literate Documentation with Emacs and Org Mode" data-slug="doc"><title> 3:10- 3:50 Literate Documentation with Emacs and Org Mode</title><rect x="580" y="75" opacity="0.8" width="62" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(640,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">doc</text></g></a><a href="/2023/talks/windows" title="Windows into Freedom" data-slug="windows"><title> 4:05- 4:45 Windows into Freedom</title><rect x="666" y="75" opacity="0.8" width="62" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(726,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">windows</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></svg></div> \ No newline at end of file
diff --git a/2023/schedule-2023-12-03.md b/2023/schedule-2023-12-03.md
index eabdc939..0a24ad74 100644
--- a/2023/schedule-2023-12-03.md
+++ b/2023/schedule-2023-12-03.md
@@ -1 +1 @@
-<div class="schedule-svg-container"><svg width="800" height="150" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <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="/2023/talks/sun-open" title="Sunday opening remarks" data-slug="sun-open"> <title> 8:58- 9:04 Sunday opening remarks</title> <rect x="-4" y="15" opacity="0.8" width="9" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(3,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> sun-open</text></g></a> <a href="/2023/talks/hyperamp" title="Top 10 ways Hyperbole amps up Emacs" data-slug="hyperamp"> <title> 9:05- 9:25 Top 10 ways Hyperbole amps up Emacs</title> <rect x="7" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(36,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> hyperamp</text></g></a> <a href="/2023/talks/koutline" title="Using Koutline for stream of thought journaling" data-slug="koutline"> <title> 9:40-10:00 Using Koutline for stream of thought journaling</title> <rect x="62" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(91,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> koutline</text></g></a> <a href="/2023/talks/parallel" title="Parallel text replacement" data-slug="parallel"> <title> 10:10-10:25 Parallel text replacement</title> <rect x="109" y="15" opacity="0.8" width="23" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(130,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> parallel</text></g></a> <a href="/2023/talks/eat" title="Eat and Eat powered Eshell, fast featureful terminal inside Emacs" data-slug="eat"> <title> 10:35-10:45 Eat and Eat powered Eshell, fast featureful terminal inside Emacs</title> <rect x="149" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect> <g transform="translate(162,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> eat</text></g></a> <a href="/2023/talks/poltys" title="The browser in a buffer" data-slug="poltys"> <title> 11:00-11:20 The browser in a buffer</title> <rect x="188" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(217,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> poltys</text></g></a> <a href="/2023/talks/cubing" title="Speedcubing in Emacs" data-slug="cubing"> <title> 11:35-11:55 Speedcubing in Emacs</title> <rect x="243" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect> <g transform="translate(272,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> cubing</text></g></a> <a href="/2023/talks/emms" title="Emacs MultiMedia System (EMMS)" data-slug="emms"> <title> 1:00- 1:40 Emacs MultiMedia System (EMMS)</title> <rect x="376" y="15" opacity="0.8" width="62" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(436,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> emms</text></g></a> <a href="/2023/talks/steno" title="Programming with steno" data-slug="steno"> <title> 1:55- 2:25 Programming with steno</title> <rect x="462" y="15" opacity="0.8" width="47" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect> <g transform="translate(507,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> steno</text></g></a> <a href="/2023/talks/mentor" title="Mentoring VS-Coders as an Emacsian (or How to show not tell people about the wonders of Emacs)" data-slug="mentor"> <title> 2:35- 2:45 Mentoring VS-Coders as an Emacsian (or How to show not tell people about the wonders of Emacs)</title> <rect x="525" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(538,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> mentor</text></g></a> <a href="/2023/talks/web" title="Emacs saves the Web (maybe)" data-slug="web"> <title> 3:10- 3:40 Emacs saves the Web (maybe)</title> <rect x="580" y="15" opacity="0.8" width="47" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(625,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> web</text></g></a> <a href="/2023/talks/sharing" title="Sharing Emacs is Caring Emacs: Emacs education and why I embraced video" data-slug="sharing"> <title> 3:55- 4:15 Sharing Emacs is Caring Emacs: Emacs education and why I embraced video</title> <rect x="650" y="15" opacity="0.8" width="31" 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)"> sharing</text></g></a> <a href="/2023/talks/sun-close" title="Sunday closing remarks" data-slug="sun-close"> <title> 4:30- 4:40 Sunday closing remarks</title> <rect x="705" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(718,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> sun-close</text></g></a> <a href="/2023/talks/scheme" title="Bringing joy to Scheme programming" data-slug="scheme"> <title> 10:00-10:20 Bringing joy to Scheme programming</title> <rect x="94" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(123,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> scheme</text></g></a> <a href="/2023/talks/world" title="GNU Emacs: A World of Possibilities" data-slug="world"> <title> 10:35-10:55 GNU Emacs: A World of Possibilities</title> <rect x="149" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(178,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> world</text></g></a> <a href="/2023/talks/flat" title="A modern Emacs look-and-feel without pain" data-slug="flat"> <title> 11:10-11:20 A modern Emacs look-and-feel without pain</title> <rect x="203" y="75" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(216,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> flat</text></g></a> <a href="/2023/talks/emacsen" title="The Emacsen family, the design of an Emacs and the importance of Lisp" data-slug="emacsen"> <title> 11:35-11:55 The Emacsen family, the design of an Emacs and the importance of Lisp</title> <rect x="243" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(272,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> emacsen</text></g></a> <a href="/2023/talks/gc" title="emacs-gc-stats: Does garbage collection actually slow down Emacs?" data-slug="gc"> <title> 1:00- 1:35 emacs-gc-stats: Does garbage collection actually slow down Emacs?</title> <rect x="376" y="75" opacity="0.8" width="54" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(428,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> gc</text></g></a> <a href="/2023/talks/hyperdrive" title="hyperdrive.el: Peer-to-peer filesystem in Emacs" data-slug="hyperdrive"> <title> 1:50- 2:30 hyperdrive.el: Peer-to-peer filesystem in Emacs</title> <rect x="454" y="75" opacity="0.8" width="62" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(514,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> hyperdrive</text></g></a> <a href="/2023/talks/lspocaml" title="Writing a language server in OCaml for Emacs, fun, and profit" data-slug="lspocaml"> <title> 2:45- 3:00 Writing a language server in OCaml for Emacs, fun, and profit</title> <rect x="541" y="75" opacity="0.8" width="23" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(562,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> lspocaml</text></g></a> <a href="/2023/talks/test" title="What I learned by writing test cases for GNU Hyperbole" data-slug="test"> <title> 3:15- 3:45 What I learned by writing test cases for GNU Hyperbole</title> <rect x="588" y="75" opacity="0.8" width="47" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(633,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> test</text></g></a> <a href="/2023/talks/emacsconf" title="EmacsConf.org: How we use Org Mode and TRAMP to organize and run a multi-track conference" data-slug="emacsconf"> <title> 4:00- 4:20 EmacsConf.org: How we use Org Mode and TRAMP to organize and run a multi-track conference</title> <rect x="658" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(687,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> emacsconf</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></svg></div> \ No newline at end of file
+<div class="schedule-svg-container"><svg width="800" height="150" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><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="/2023/talks/sun-open" title="Sunday opening remarks" data-slug="sun-open"><title> 8:58- 9:04 Sunday opening remarks</title><rect x="-4" y="15" opacity="0.8" width="9" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(3,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-open</text></g></a><a href="/2023/talks/hyperamp" title="Top 10 ways Hyperbole amps up Emacs" data-slug="hyperamp"><title> 9:05- 9:25 Top 10 ways Hyperbole amps up Emacs</title><rect x="7" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(36,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperamp</text></g></a><a href="/2023/talks/koutline" title="Using Koutline for stream of thought journaling" data-slug="koutline"><title> 9:40-10:00 Using Koutline for stream of thought journaling</title><rect x="62" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(91,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">koutline</text></g></a><a href="/2023/talks/parallel" title="Parallel text replacement" data-slug="parallel"><title>10:10-10:25 Parallel text replacement</title><rect x="109" y="15" opacity="0.8" width="23" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(130,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">parallel</text></g></a><a href="/2023/talks/eat" title="Eat and Eat powered Eshell, fast featureful terminal inside Emacs" data-slug="eat"><title>10:35-10:45 Eat and Eat powered Eshell, fast featureful terminal inside Emacs</title><rect x="149" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(162,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">eat</text></g></a><a href="/2023/talks/poltys" title="The browser in a buffer" data-slug="poltys"><title>11:00-11:20 The browser in a buffer</title><rect x="188" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(217,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">poltys</text></g></a><a href="/2023/talks/cubing" title="Speedcubing in Emacs" data-slug="cubing"><title>11:35-11:55 Speedcubing in Emacs</title><rect x="243" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(272,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">cubing</text></g></a><a href="/2023/talks/emms" title="Emacs MultiMedia System (EMMS)" data-slug="emms"><title> 1:00- 1:40 Emacs MultiMedia System (EMMS)</title><rect x="376" y="15" opacity="0.8" width="62" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(436,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">emms</text></g></a><a href="/2023/talks/steno" title="Programming with steno" data-slug="steno"><title> 1:55- 2:25 Programming with steno</title><rect x="462" y="15" opacity="0.8" width="47" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(507,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">steno</text></g></a><a href="/2023/talks/mentor" title="Mentoring VS-Coders as an Emacsian (or How to show not tell people about the wonders of Emacs)" data-slug="mentor"><title> 2:35- 2:45 Mentoring VS-Coders as an Emacsian (or How to show not tell people about the wonders of Emacs)</title><rect x="525" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(538,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">mentor</text></g></a><a href="/2023/talks/web" title="Emacs saves the Web (maybe)" data-slug="web"><title> 3:10- 3:40 Emacs saves the Web (maybe)</title><rect x="580" y="15" opacity="0.8" width="47" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(625,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">web</text></g></a><a href="/2023/talks/sharing" title="Sharing Emacs is Caring Emacs: Emacs education and why I embraced video" data-slug="sharing"><title> 3:55- 4:15 Sharing Emacs is Caring Emacs: Emacs education and why I embraced video</title><rect x="650" y="15" opacity="0.8" width="31" 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)">sharing</text></g></a><a href="/2023/talks/sun-close" title="Sunday closing remarks" data-slug="sun-close"><title> 4:30- 4:40 Sunday closing remarks</title><rect x="705" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(718,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-close</text></g></a><a href="/2023/talks/scheme" title="Bringing joy to Scheme programming" data-slug="scheme"><title>10:00-10:20 Bringing joy to Scheme programming</title><rect x="94" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(123,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">scheme</text></g></a><a href="/2023/talks/world" title="GNU Emacs: A World of Possibilities" data-slug="world"><title>10:35-10:55 GNU Emacs: A World of Possibilities</title><rect x="149" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(178,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">world</text></g></a><a href="/2023/talks/flat" title="A modern Emacs look-and-feel without pain" data-slug="flat"><title>11:10-11:20 A modern Emacs look-and-feel without pain</title><rect x="203" y="75" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(216,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">flat</text></g></a><a href="/2023/talks/emacsen" title="The Emacsen family, the design of an Emacs and the importance of Lisp" data-slug="emacsen"><title>11:35-11:55 The Emacsen family, the design of an Emacs and the importance of Lisp</title><rect x="243" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(272,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">emacsen</text></g></a><a href="/2023/talks/gc" title="emacs-gc-stats: Does garbage collection actually slow down Emacs?" data-slug="gc"><title> 1:00- 1:35 emacs-gc-stats: Does garbage collection actually slow down Emacs?</title><rect x="376" y="75" opacity="0.8" width="54" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(428,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gc</text></g></a><a href="/2023/talks/hyperdrive" title="hyperdrive.el: Peer-to-peer filesystem in Emacs" data-slug="hyperdrive"><title> 1:50- 2:30 hyperdrive.el: Peer-to-peer filesystem in Emacs</title><rect x="454" y="75" opacity="0.8" width="62" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(514,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperdrive</text></g></a><a href="/2023/talks/lspocaml" title="Writing a language server in OCaml for Emacs, fun, and profit" data-slug="lspocaml"><title> 2:45- 3:00 Writing a language server in OCaml for Emacs, fun, and profit</title><rect x="541" y="75" opacity="0.8" width="23" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(562,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">lspocaml</text></g></a><a href="/2023/talks/test" title="What I learned by writing test cases for GNU Hyperbole" data-slug="test"><title> 3:15- 3:45 What I learned by writing test cases for GNU Hyperbole</title><rect x="588" y="75" opacity="0.8" width="47" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(633,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">test</text></g></a><a href="/2023/talks/emacsconf" title="EmacsConf.org: How we use Org Mode and TRAMP to organize and run a multi-track conference" data-slug="emacsconf"><title> 4:00- 4:20 EmacsConf.org: How we use Org Mode and TRAMP to organize and run a multi-track conference</title><rect x="658" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(687,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">emacsconf</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></svg></div> \ No newline at end of file
diff --git a/2024/captions/emacsconf-2024-blee--about-blee-towards-an-integrated-emacs-environment-for-enveloping-our-own-autonomy-directed-digital-ecosystem--mohsen-banan--answers.vtt b/2024/captions/emacsconf-2024-blee--about-blee-towards-an-integrated-emacs-environment-for-enveloping-our-own-autonomy-directed-digital-ecosystem--mohsen-banan--answers.vtt
new file mode 100644
index 00000000..7e634529
--- /dev/null
+++ b/2024/captions/emacsconf-2024-blee--about-blee-towards-an-integrated-emacs-environment-for-enveloping-our-own-autonomy-directed-digital-ecosystem--mohsen-banan--answers.vtt
@@ -0,0 +1,533 @@
+WEBVTT captioned by mohsen
+
+00:00:00.000 --> 00:00:04.199
+Thank you for the talk. I mean, it was a fairly long one and we
+
+00:00:04.200 --> 00:00:07.999
+had two very distinct parts, one which dealt with a
+
+00:00:08.000 --> 00:00:12.079
+philosophy of Libre-Halaal software and then the application,
+
+00:00:12.080 --> 00:00:14.279
+obviously, of BISOS. So thank you so much for the
+
+00:00:14.280 --> 00:00:17.839
+presentation. Before we get started with the question, and
+
+00:00:17.840 --> 00:00:21.799
+for the record, we have about 14 minutes of question time, is
+
+00:00:21.800 --> 00:00:25.079
+there anything that you'd like to add on top of your
+
+00:00:25.080 --> 00:00:27.759
+presentation, something that perhaps would not have fit in
+
+00:00:27.760 --> 00:00:33.399
+the actual presentation format? Sure, but prior to that,
+
+00:00:33.400 --> 00:00:37.839
+félicitations à tous les Français pour le rouvrir de
+
+00:00:37.840 --> 00:00:42.719
+Notre-Dame. Thank you. I'll say thank you because I'm a
+
+00:00:42.720 --> 00:00:48.039
+Francophone and I'm also French, but OK.
+
+00:00:48.040 --> 00:00:58.159
+Yeah, so a few things have come up in various other talks,
+
+00:00:58.160 --> 00:01:04.359
+that kind of EmacsConf 2024 talks, that kind of dovetail
+
+00:01:04.360 --> 00:01:10.599
+with what I was saying. One idea was Peter Prevos's
+
+00:01:10.600 --> 00:01:20.639
+observation of working with Emacs versus working on Emacs.
+
+00:01:20.640 --> 00:01:28.279
+And I'm all for that. So the idea of BLEE is that
+
+00:01:28.280 --> 00:01:32.599
+Others can package things, and we are seeing this in the form
+
+00:01:32.600 --> 00:01:38.119
+of redistributions. There is Doom, there is Spacemacs, and
+
+00:01:38.120 --> 00:01:44.079
+we are seeing the evolution of Emacs into layers. So there is
+
+00:01:44.080 --> 00:01:50.119
+the core Emacs, and there are layers on top of it. And Peter
+
+00:01:50.120 --> 00:01:59.799
+also mentioned about too much choice, this notion of
+
+00:01:59.800 --> 00:02:08.919
+Not always too much choice is the right thing to have. And
+
+00:02:08.920 --> 00:02:18.279
+packaging Emacs with a layer on top of Debian gives you a
+
+00:02:18.280 --> 00:02:24.159
+platform and an environment where the choices are a lot
+
+00:02:24.160 --> 00:02:31.159
+less. And that is not necessarily a bad thing.
+
+00:02:31.160 --> 00:02:36.719
+So that was one idea. The other idea or the other theme
+
+00:02:36.720 --> 00:02:42.919
+throughout the various talks that we saw was this concept of
+
+00:02:42.920 --> 00:02:53.519
+mixing org-mode with programming languages and what Babel
+
+00:02:53.520 --> 00:03:00.479
+has done is two things. One is it has successfully
+
+00:03:00.480 --> 00:03:06.799
+integrated org-mode with all kinds of languages. And that
+
+00:03:06.800 --> 00:03:13.039
+has happened in the context of literate programming. So
+
+00:03:13.040 --> 00:03:16.839
+a talk coming after mine is literate programming for the
+
+00:03:16.840 --> 00:03:22.399
+21st century, mixing org mode with program languages. And
+
+00:03:22.400 --> 00:03:27.359
+what I am saying is that there is an alternative and that's
+
+00:03:27.360 --> 00:03:33.839
+great, but we should also, consider a traditional
+
+00:03:33.840 --> 00:03:40.159
+programming mixed with org-mode and, polymode is key to
+
+00:03:40.160 --> 00:03:49.239
+that. So those were some of the key concepts that I saw a
+
+00:03:49.240 --> 00:03:55.799
+resonance with as the conference went forward. Yeah, and I
+
+00:03:55.800 --> 00:03:59.959
+think, if my memory serves me right, we have another talk
+
+00:03:59.960 --> 00:04:04.199
+about hyperbole this year, right after this Q&A session.
+
+00:04:04.200 --> 00:04:07.919
+And hyperbole, it's not Org Mode, but I'm not sure if you're
+
+00:04:07.920 --> 00:04:10.359
+familiar with it, Mohsen, you might have seen it from
+
+00:04:10.360 --> 00:04:14.639
+various talks last year, but it also tends to have a similar
+
+00:04:14.640 --> 00:04:18.919
+stance than you, with the fact that text should be embedded
+
+00:04:18.920 --> 00:04:21.919
+in programming languages rather than having Org-Mode
+
+00:04:21.920 --> 00:04:25.439
+implement, I mean, integrate other languages. And I found
+
+00:04:25.440 --> 00:04:28.359
+it funny that we have your talk and this talk which are about
+
+00:04:28.360 --> 00:04:32.999
+the other direction, which I find very resonating as well.
+
+00:04:33.000 --> 00:04:40.439
+Right, right, right. So in terms of other things that did not
+
+00:04:40.440 --> 00:04:46.999
+fit into my talk is that the several concepts that I
+
+00:04:47.000 --> 00:04:49.599
+introduced, namely
+
+00:04:49.600 --> 00:04:57.879
+Dynamic Blocks everywhere and COMEEGA.
+
+00:04:57.880 --> 00:05:07.719
+I'd be happy to expand on those by sharing a screen in due
+
+00:05:07.720 --> 00:05:12.519
+course, whatever is appropriate. Sure, considering the
+
+00:05:12.520 --> 00:05:16.119
+time that we have, we only have about 8 minutes 30 and we
+
+00:05:16.120 --> 00:05:18.999
+already have about four, five questions actually. I
+
+00:05:19.000 --> 00:05:22.599
+suggest we perhaps leave the screen sharing until later if
+
+00:05:22.600 --> 00:05:25.399
+people are interested. I mean this Q&A can last as long as you
+
+00:05:25.400 --> 00:05:30.079
+want. That makes perfect sense. OK, cool. So how about we
+
+00:05:30.080 --> 00:05:33.279
+focus on the question now and starting with the first one.
+
+NOTE Q: I'm from Brazil, which edition would you recommend?
+
+00:05:33.280 --> 00:05:36.279
+You mentioned that there are two editions, one named at
+
+00:05:36.280 --> 00:05:40.159
+Westerners and one for worldwide readers. I'm from Brazil.
+
+00:05:40.160 --> 00:05:42.599
+Which edition would you recommend? It's a Western country,
+
+00:05:42.600 --> 00:05:45.479
+but you didn't make the distinction exclusive for the
+
+00:05:45.480 --> 00:05:48.199
+second edition. So I thought it would be better to ask.
+
+00:05:48.200 --> 00:05:56.119
+Right. So definitely, I would say for everybody who is on
+
+00:05:56.120 --> 00:06:01.959
+this conference, the international edition is the right
+
+00:06:01.960 --> 00:06:11.639
+choice. In this book, I take some aggressive stances against
+
+00:06:11.640 --> 00:06:19.279
+intellectual property and I link that specifically to the
+
+00:06:19.280 --> 00:06:27.439
+American culture. So there are pieces in the book where the
+
+00:06:27.440 --> 00:06:36.399
+typical American audience may be offended. And if your skin
+
+00:06:36.400 --> 00:06:43.279
+is thick enough to deal with what I consider reasonable
+
+00:06:43.280 --> 00:06:48.319
+criticism, then the International Edition is definitely
+
+00:06:48.320 --> 00:06:54.439
+the better choice. Right. So yeah, I believe you also
+
+00:06:54.440 --> 00:06:56.959
+mentioned it. Pretty much exactly the same thing in your
+
+00:06:56.960 --> 00:07:00.239
+talk. So if you need to review, just watch the talk. And I
+
+00:07:00.240 --> 00:07:03.439
+think Mohsen also provides extra information about this.
+
+00:07:03.440 --> 00:07:07.079
+Moving on to the second question. Thank you for this talk.
+
+NOTE Q: Thank you for this talk! How does your perspective interface with works such as Yanis Varoufakis' Technofeudalism?
+
+00:07:07.080 --> 00:07:10.319
+How does your perspective interface with work such as Yanis
+
+00:07:10.320 --> 00:07:14.639
+Varoufakis' Technofeudalism?
+
+00:07:14.640 --> 00:07:24.919
+I haven't read much of that. I think there is a whole lot of
+
+00:07:24.920 --> 00:07:34.199
+global growth and collective understanding towards this
+
+00:07:34.200 --> 00:07:42.479
+notion that the direction we are headed in and by that, I mean
+
+00:07:42.480 --> 00:07:46.879
+American digital ecosystems
+
+00:07:46.880 --> 00:07:53.159
+are dangerous and that we should revisit
+
+00:07:53.160 --> 00:08:03.239
+the entirety of the model and strategy.
+
+00:08:03.240 --> 00:08:10.119
+If the person who asked the question has any additional
+
+00:08:10.120 --> 00:08:16.119
+information, I'll be happy to hear it. Sure. We'll see if the
+
+00:08:16.120 --> 00:08:19.559
+person actually comes back to this. All right. In the
+
+00:08:19.560 --> 00:08:21.979
+meantime, moving on to the next question.
+
+NOTE Q: To what extent do you agree that the introduction of proprietary systems in education creates an environment for exploitation while at the same time diluting the learning value of the curriculum?
+
+00:08:21.980 --> 00:08:22.959
+To what extent do
+
+00:08:22.960 --> 00:08:25.519
+you agree that the introduction of proprietary systems in
+
+00:08:25.520 --> 00:08:29.279
+education creates an environment for exploitation whilst
+
+00:08:29.280 --> 00:08:31.679
+at the same time diluting the learning value of the
+
+00:08:31.680 --> 00:08:34.879
+curriculum? My computing education at school amounted to
+
+00:08:34.880 --> 00:08:38.399
+learning how to use the Microsoft Office suite, i.e. the
+
+00:08:38.400 --> 00:08:44.679
+opposite of lasting open knowledge. Yeah, that's right on
+
+00:08:44.680 --> 00:08:49.719
+the mark. That's right on the mark. So the idea is that
+
+00:08:49.720 --> 00:08:55.919
+teaching and learning should be unrestricted. In the
+
+00:08:55.920 --> 00:09:02.479
+Muslim tradition and in Iranian tradition, we say that
+
+00:09:02.480 --> 00:09:12.919
+passing along the learning is the tax on having learned. So
+
+00:09:12.920 --> 00:09:20.359
+absolutely. I think it makes very little sense for the
+
+00:09:20.360 --> 00:09:27.039
+proprietary Microsoft software to be used as part of
+
+00:09:27.040 --> 00:09:33.519
+education. So the question is right on the mark. Okay,
+
+00:09:33.520 --> 00:09:38.519
+great. Let me just take a note of this. All right, moving on to
+
+00:09:38.520 --> 00:09:40.052
+the next question.
+
+NOTE Q: As a specific example of how "ownership is not clean" ...
+
+00:09:40.053 --> 00:09:43.359
+As a specific example of how ownership is
+
+00:09:43.360 --> 00:09:46.239
+not something clean, look at the Star Trek Picard series.
+
+00:09:46.240 --> 00:09:48.839
+They continuously asked Patrick Stewart to come to do
+
+00:09:48.840 --> 00:09:52.159
+another Star Trek series, but he couldn't because Star Trek
+
+00:09:52.160 --> 00:09:54.959
+changed from what it used to be, at least until they came up
+
+00:09:54.960 --> 00:09:57.999
+with a series that honored what Star Trek used to be. Does
+
+00:09:58.000 --> 00:10:21.839
+this intersect? Let me read this for a moment.
+
+00:10:21.840 --> 00:10:30.599
+Yeah, I am not sure I fully get the point, but. Let me make a
+
+00:10:30.600 --> 00:10:35.959
+point about my criticisms of the FOSS movement
+
+00:10:35.960 --> 00:10:47.399
+in the presentation and in the book. The idea is that we have
+
+00:10:47.400 --> 00:10:53.919
+jumped on the FOSS movement and recognize it as an
+
+00:10:53.920 --> 00:11:02.279
+alternative but we haven't looked deeply enough to see if
+
+00:11:02.280 --> 00:11:07.759
+our own philosophy and movement have problems. The
+
+00:11:07.760 --> 00:11:14.959
+problems that I note is that the FOSS movement does not
+
+00:11:14.960 --> 00:11:21.279
+recognize clearly and explicitly that the entirety of the
+
+00:11:21.280 --> 00:11:30.399
+intellectual property rights regime is flawed. The second
+
+00:11:30.400 --> 00:11:37.239
+piece is that it's only now that we are seeing the FOSS
+
+00:11:37.240 --> 00:11:45.479
+movement is broader than the Western world. The third
+
+00:11:45.480 --> 00:11:54.919
+problem is that the labels of Free Software and Open Source
+
+00:11:54.920 --> 00:12:01.159
+are not necessarily correct. The fourth problem is that we
+
+00:12:01.160 --> 00:12:07.239
+are not paying enough attention to establishing a
+
+00:12:07.240 --> 00:12:09.999
+relationship with society.
+
+00:12:10.000 --> 00:12:16.439
+So there's a whole chapter in the book dedicated to this
+
+00:12:16.440 --> 00:12:23.959
+topic. What I'm not sure about is if I got the point of the
+
+00:12:23.960 --> 00:12:30.279
+question correctly. So again, if the person who asked the
+
+00:12:30.280 --> 00:12:35.679
+question could clarify, I'll be happy to further expand.
+
+00:12:35.680 --> 00:12:40.279
+Okay, considering the time, we only have about one minute to
+
+00:12:40.280 --> 00:12:42.959
+ten seconds until we go. So what we're going to do, as we
+
+00:12:42.960 --> 00:12:45.439
+usually do, Mohsen, is that we're going to move the stream
+
+00:12:45.440 --> 00:12:47.839
+onto the next talk. And if you want to take a little bit of time
+
+00:12:47.840 --> 00:12:51.799
+in this room to answer the question, I'm putting a link to the
+
+00:12:51.800 --> 00:12:56.519
+pad in the BBB chat so you can open it on your end. But as we are
+
+00:12:56.520 --> 00:12:59.319
+still live for 15 more seconds, do you have any last words?
+
+00:12:59.320 --> 00:13:09.039
+Keep up the good work. Those would be my last words, that the
+
+00:13:09.040 --> 00:13:14.239
+Free Software and the Open Source and Emacs are a very valid
+
+00:13:14.240 --> 00:13:24.479
+strategy for inside of IPR resistance. And thank you, Leo
+
+00:13:24.480 --> 00:13:29.719
+and Sacha and the rest of the folks for this wonderful yearly
+
+00:13:29.720 --> 00:13:33.559
+event. Well, thank you so much. And it's always a pleasure to
+
+00:13:33.560 --> 00:13:36.119
+have you. And thank you for your thankings. So we'll be
+
+00:13:36.120 --> 00:13:38.439
+moving to the next talk in 10 seconds. Mohsen, thank you so
+
+00:13:38.440 --> 00:13:47.559
+much. And I'll see you later. Thank you. Bye-bye. Bye.
+
+00:13:47.560 --> 00:13:50.159
+All right. We are off air. So thank you so much, Mohsen. I'll
+
+00:13:50.160 --> 00:13:52.559
+need to get moving to get ready for the next talk. So again,
+
+00:13:52.560 --> 00:13:54.519
+feel free to take the time you need to answer the questions.
+
+00:13:54.520 --> 00:13:56.719
+I'm going to stop sharing my screen because I need to leave.
+
+00:13:56.720 --> 00:13:59.319
+But take all the time you need. And when you're finished, you
+
+00:13:59.320 --> 00:14:04.039
+can just leave the room. OK. All right, bye-bye. Thank you.
+
+00:14:04.040 --> 00:14:23.439
+Great. I see one more person in the room.
+
+00:14:23.440 --> 00:14:35.679
+Hi, John.
+
+00:14:35.680 --> 00:14:38.079
+I was looking at the questions.
+
+00:14:38.080 --> 00:14:46.239
+To see if there is more that I can add. So,
+
+00:14:46.240 --> 00:14:54.919
+through the regard of societal impacts on ethical,
+
+00:14:54.920 --> 00:14:58.439
+philosophical and wider FOSS community. I'm involved in
+
+00:14:58.440 --> 00:15:02.239
+politics in my country, my party is very sympathetic to
+
+00:15:02.240 --> 00:15:05.277
+FOSS ideas and I have public...
+
+NOTE Q: Do you have any recommended reading materials designed for such an audience?
+
+00:15:05.278 --> 00:15:08.039
+Do you have any recommendation
+
+00:15:08.040 --> 00:15:12.359
+to reading materials designed for such an audience? Um,
+
+00:15:12.360 --> 00:15:17.999
+yeah, this is with regard to the last question
+
+00:15:18.000 --> 00:15:24.439
+that's on the etherpad at this moment. The idea is
+
+00:15:24.440 --> 00:15:32.199
+that my own book would be an excellent resource. I'd
+
+00:15:32.200 --> 00:15:39.279
+say the bibliography in the book contains various
+
+00:15:39.280 --> 00:15:43.039
+other pointers that could be quite useful.
+
+00:15:43.040 --> 00:15:55.399
+I'm reading again.
+
+00:15:55.400 --> 00:15:57.799
+Yeah.
+
+00:15:57.800 --> 00:16:20.159
+Very good. If there are no other questions,
+
+00:16:20.160 --> 00:16:31.839
+I think I'm going to consider this a day and move on.
+
+00:16:31.840 --> 00:16:43.760
+Thank you.
diff --git a/2024/captions/emacsconf-2024-casual--reimagining-the-emacs-user-experience-with-casual-suite--charles-choi--answers.vtt b/2024/captions/emacsconf-2024-casual--reimagining-the-emacs-user-experience-with-casual-suite--charles-choi--answers.vtt
new file mode 100644
index 00000000..7c6db8c8
--- /dev/null
+++ b/2024/captions/emacsconf-2024-casual--reimagining-the-emacs-user-experience-with-casual-suite--charles-choi--answers.vtt
@@ -0,0 +1,966 @@
+WEBVTT
+
+NOTE Opening
+
+00:00:00.000 --> 00:00:05.239
+Leo? I'm doing well as well and I'm so happy to have seen your
+
+00:00:05.240 --> 00:00:10.719
+talk because the interaction with Emacs is always
+
+00:00:10.720 --> 00:00:13.719
+something that I find very interesting, and stuff like
+
+00:00:13.720 --> 00:00:18.839
+Transient, stuff like Hydra before, I think they really
+
+00:00:18.840 --> 00:00:22.119
+improve the user experience of users, and I'm really glad
+
+00:00:22.120 --> 00:00:24.479
+that I've seen you talk. Perhaps just starting with the
+
+00:00:24.480 --> 00:00:27.639
+first question, do you have anything else that you'd like to
+
+00:00:27.640 --> 00:00:30.719
+add on your talk? Because we are pretty stringent with the
+
+00:00:30.720 --> 00:00:33.199
+amount of time that we give for talks, but is there anything
+
+00:00:33.200 --> 00:00:35.639
+that you would have liked to mention to people that you
+
+00:00:35.640 --> 00:00:42.719
+weren't able to fit into the talk? I think probably one of the
+
+00:00:42.720 --> 00:00:46.599
+design considerations I've done is that many of the
+
+00:00:46.600 --> 00:00:49.359
+commands that I've exposed through my casual interfaces
+
+00:00:49.360 --> 00:00:56.399
+have been in Emacs. They've been in there forever, but very
+
+00:00:56.400 --> 00:01:00.439
+few people uh, myself included really know that they're
+
+00:01:00.440 --> 00:01:05.999
+there, uh, because they're just not discoverable through,
+
+00:01:06.000 --> 00:01:09.559
+uh, basically the existing mechanisms, you know, prior to
+
+00:01:09.560 --> 00:01:13.479
+transient and which key to, to even know that those, those
+
+00:01:13.480 --> 00:01:19.399
+functions are there. Yeah. So I think I'm going to start
+
+00:01:19.400 --> 00:01:21.519
+asking you questions whilst people start writing them in a
+
+00:01:21.520 --> 00:01:25.759
+pad. But yeah, I also think that discoverability is a very
+
+00:01:25.760 --> 00:01:29.559
+huge point that having stuff like the stuff that you've
+
+00:01:29.560 --> 00:01:32.679
+showed today actually allows. One example that I'd like to
+
+00:01:32.680 --> 00:01:35.759
+give that many people tend to forget, and you've already
+
+00:01:35.760 --> 00:01:39.559
+mentioned it in your presentation, is that I've learned so
+
+00:01:39.560 --> 00:01:43.479
+much about using git in general thanks to Magit, for the
+
+00:01:43.480 --> 00:01:46.719
+reason that it shows you so many options that you might not be
+
+00:01:46.720 --> 00:01:50.799
+aware of. For instance, I like to really think about when
+
+00:01:50.800 --> 00:01:54.519
+you think about logging in git, Magit allows you to
+
+00:01:54.520 --> 00:01:58.119
+discover so many of the finer options, like I only want to
+
+00:01:58.120 --> 00:02:01.519
+see the first commit since the merge, or I only want to
+
+00:02:01.520 --> 00:02:05.999
+consider this subsection of commits going from master or
+
+00:02:06.000 --> 00:02:08.999
+main to the point of your branch. So many things like this
+
+00:02:09.000 --> 00:02:11.759
+that you get to discover thanks to Transient. So do you have
+
+00:02:11.760 --> 00:02:16.879
+any similar experience on your end? Oh yeah, far too
+
+00:02:16.880 --> 00:02:22.359
+many, particularly with EditKit,
+
+00:02:22.360 --> 00:02:28.279
+having access to these commands,
+
+00:02:28.280 --> 00:02:31.771
+particularly with different granularity on
+
+00:02:31.772 --> 00:02:34.773
+S-expressions, sentences, words...
+
+00:02:34.774 --> 00:02:37.395
+Probably the most surprising thing I found
+
+00:02:37.396 --> 00:02:43.021
+was just how how compelling the
+
+00:02:43.022 --> 00:02:49.054
+S-expression would be as a unit of text for working with.
+
+00:02:49.055 --> 00:02:53.988
+I found that in most contexts, or in many places,
+
+00:02:53.989 --> 00:03:02.719
+it did what I wanted. I found that to be very surprising.
+
+00:03:02.720 --> 00:03:06.159
+So unless you've got anything else to add, I think we can just
+
+00:03:06.160 --> 00:03:10.639
+jump into questions. Okay, certainly. I'll be reading them
+
+00:03:10.640 --> 00:03:13.599
+for you so that it's easier for you. So the first question is,
+
+NOTE Q: I wonder whether casual can only be used with the packages you
+
+00:03:13.600 --> 00:03:17.599
+I wonder whether casual can only be used with the packages
+
+00:03:17.600 --> 00:03:19.599
+you mentioned or whether it can be used with whatever
+
+00:03:19.600 --> 00:03:25.399
+packages you like. I think it's really the latter. I'm not
+
+00:03:25.400 --> 00:03:29.879
+quite sure what the... What the question was really
+
+00:03:29.880 --> 00:03:35.039
+pointing at, you know, is the question asking for why I chose
+
+00:03:35.040 --> 00:03:41.679
+the packages or the different modes that I did? Or is it, are
+
+00:03:41.680 --> 00:03:45.519
+they looking at it from a developer perspective of, can we
+
+00:03:45.520 --> 00:03:50.399
+integrate casual with other packages? I mean, since we've
+
+00:03:50.400 --> 00:03:52.839
+got a little bit of time ahead of us, feel free to answer both
+
+00:03:52.840 --> 00:03:59.279
+questions. Um, I think the answer is, uh. Well, for the 1st,
+
+00:03:59.280 --> 00:04:05.599
+1, I've, I've generally tried to stick with using. The modes
+
+00:04:05.600 --> 00:04:11.039
+that are already packaged in, um, and so there was a. A big
+
+00:04:11.040 --> 00:04:16.759
+refactoring of it where. Initially, I made separate repos
+
+00:04:16.760 --> 00:04:20.879
+for the different modes that I supported. And then through a
+
+00:04:20.880 --> 00:04:24.959
+discussion, which I won't go into here, that got changed
+
+00:04:24.960 --> 00:04:30.239
+where I consolidated all of the different transient menus
+
+00:04:30.240 --> 00:04:35.039
+for modes that are built in for behavior that's built into
+
+00:04:35.040 --> 00:04:39.199
+the Emacs. I put that into a single package called casual.
+
+00:04:39.200 --> 00:04:44.799
+And then integrations with other third party packages that
+
+00:04:44.800 --> 00:04:49.879
+are not built in were given the same standalone repo here. In
+
+00:04:49.880 --> 00:04:55.719
+terms of folks wanting to integrate that, it's the beauty of
+
+00:04:55.720 --> 00:05:01.159
+open source. They can get the repo and uh, and basically
+
+00:05:01.160 --> 00:05:05.199
+study that the code base, uh, actually, if they even install
+
+00:05:05.200 --> 00:05:08.599
+it through, uh, you know, the package manager in this case,
+
+00:05:08.600 --> 00:05:12.679
+uh, coming from the Melbourne distribution, um, they can
+
+00:05:12.680 --> 00:05:17.919
+inspect that code and, and, um, make modifications or even.
+
+00:05:17.920 --> 00:05:21.519
+uh, you know, integrate that with their other packages and,
+
+00:05:21.520 --> 00:05:25.279
+uh, do that to their heart's content. Um, I think one of the
+
+00:05:25.280 --> 00:05:29.639
+things that I need to, or at least, uh, you know, that I, I, I
+
+00:05:29.640 --> 00:05:32.519
+planned on sort of elaborating further on in the
+
+00:05:32.520 --> 00:05:36.399
+documentation is, is that transient already has built in
+
+00:05:36.400 --> 00:05:41.279
+mechanisms for modifying an existing transient. So you can
+
+00:05:41.280 --> 00:05:47.279
+add commands or, uh, re redefine the bindings. And so. That
+
+00:05:47.280 --> 00:05:51.959
+mechanism is available for users if they're not happy with
+
+00:05:51.960 --> 00:05:57.159
+those bindings or they want to add their own commands to a
+
+00:05:57.160 --> 00:06:01.959
+menu. Yeah, and people are... I'm personally familiar with
+
+00:06:01.960 --> 00:06:05.119
+this, again, with Magit, because sometimes, even though
+
+00:06:05.120 --> 00:06:07.479
+you have a lot of discoverability for functions that you may
+
+00:06:07.480 --> 00:06:10.359
+not know, sometimes you also happen to realize that
+
+00:06:10.360 --> 00:06:13.999
+something is missing in the list of available options. I'm
+
+00:06:14.000 --> 00:06:16.919
+not sure if Casual actually supports something similar to
+
+00:06:16.920 --> 00:06:21.559
+Magit, which is levels of options being displayed.
+
+00:06:21.560 --> 00:06:24.039
+Actually, I'm not sure if it's transient native or if it's
+
+00:06:24.040 --> 00:06:27.439
+just something that Magit adds over this. No, transient
+
+00:06:27.440 --> 00:06:30.599
+supports levels. I've decided
+
+00:06:30.600 --> 00:06:36.799
+in large part, I've tried to avoid that just to avoid the
+
+00:06:36.800 --> 00:06:43.119
+added complexity of trying to define those levels. Yeah, I
+
+00:06:43.120 --> 00:06:47.479
+was going to say that perhaps it doesn't gel very well with
+
+00:06:47.480 --> 00:06:49.839
+the notion of casualness that you seem to be introducing the
+
+00:06:49.840 --> 00:06:52.439
+package. On one end, you've got something that is supposed
+
+00:06:52.440 --> 00:06:56.639
+to be very casual, very easy to use, and on the other end, you
+
+00:06:56.640 --> 00:06:59.599
+add levels for stuff that is fairly advanced. So advanced
+
+00:06:59.600 --> 00:07:05.759
+versus casual, kind of makes sense that you check this over.
+
+00:07:05.760 --> 00:07:09.359
+Alright, moving to the second question which is related to
+
+00:07:09.360 --> 00:07:10.853
+the previous one.
+
+NOTE Q: Are there any patterns emerging, such that it would seem possible to 1) systematize 2) automate(?) the mapping of mode commands to keyboard-driven menus? Possibly even have an auto casual wrapper for an uncovered mode?
+
+00:07:10.854 --> 00:07:13.159
+Are there any patterns emerging such that
+
+00:07:13.160 --> 00:07:15.639
+it would be impossible, sorry, such that it would be
+
+00:07:15.640 --> 00:07:19.719
+possible to once systematize and to automate the mapping of
+
+00:07:19.720 --> 00:07:23.519
+mode commands to keyboard-driven menus, possibly even
+
+00:07:23.520 --> 00:07:26.559
+have an auto-casual wrapper for an uncovered mode? Does it
+
+00:07:26.560 --> 00:07:35.519
+make sense to you? Yes, and I've gotten these comments from a
+
+00:07:35.520 --> 00:07:42.799
+number of different folks who really want to see some sort
+
+00:07:42.800 --> 00:07:49.639
+of design rule to, or basically, what is it? Some sort of
+
+00:07:49.640 --> 00:07:54.679
+design system to be able to generate the UI.
+
+00:07:54.680 --> 00:08:01.399
+Conceptually, I think it's doable, but on the flip side, it
+
+00:08:01.400 --> 00:08:05.319
+just requires so much coordination that it makes it really
+
+00:08:05.320 --> 00:08:11.199
+untenable. In this case, I have very strong opinions. I
+
+00:08:11.200 --> 00:08:15.719
+think we're better off trying to handcraft the user
+
+00:08:15.720 --> 00:08:20.759
+interface to get basically the best user experience. To try
+
+00:08:20.760 --> 00:08:26.399
+to emulate that with a design system, good luck, but I'm not
+
+00:08:26.400 --> 00:08:31.519
+I'm not interested in working on that. Right, yeah. I think
+
+00:08:31.520 --> 00:08:34.119
+if I try to think a little more about this, it feels like
+
+00:08:34.120 --> 00:08:36.559
+there's a notion of intention that is very important when
+
+00:08:36.560 --> 00:08:41.479
+you are designing UI and UX. And to have this intention, it
+
+00:08:41.480 --> 00:08:45.319
+feels like you cannot just base yourself of a design idea to
+
+00:08:45.320 --> 00:08:48.799
+organize the options. You cannot just work off a pattern. I
+
+00:08:48.800 --> 00:08:53.599
+think you need to have the trace of human understanding in
+
+00:08:53.600 --> 00:08:56.679
+order to have a UX that really works. And judging by the
+
+00:08:56.680 --> 00:08:58.999
+option that you've picked in the demos that you've showed
+
+00:08:59.000 --> 00:09:04.039
+today, I don't think it'd be particularly easy to organize
+
+00:09:04.040 --> 00:09:07.959
+them in a UX just casually for any mode. I think you need some
+
+00:09:07.960 --> 00:09:14.159
+human introspection to understand this, if that makes
+
+00:09:14.160 --> 00:09:14.679
+sense.
+
+00:09:14.680 --> 00:09:17.279
+Moving to the next question, which is related to something
+
+00:09:17.280 --> 00:09:19.605
+we discussed about with Magit.
+
+NOTE Q: Does Casual have a log where you can see what commands were invoked?
+
+00:09:19.606 --> 00:09:21.079
+Does Casual have a log where
+
+00:09:21.080 --> 00:09:23.759
+you can see what commands were invoked? This is always
+
+00:09:23.760 --> 00:09:27.479
+available via M-x view-lossage or via the command-log-mode,
+
+00:09:27.480 --> 00:09:30.993
+but I'm wondering if it can do for Emacs command what
+
+00:09:30.994 --> 00:09:34.479
+magit-process-buffer does for learning Git commands. And for
+
+00:09:34.480 --> 00:09:37.439
+everyone who's currently in Emacs, whenever you're
+
+00:09:37.440 --> 00:09:40.639
+running a command in Magit, it's always printing the exact
+
+00:09:40.640 --> 00:09:44.799
+command that was run in a shell, inside this $
+
+00:09:44.800 --> 00:09:47.399
+menu. So does Casual actually provide something similar,
+
+00:09:47.400 --> 00:09:52.599
+Charles? I don't know. In general, because I'm building off
+
+00:09:52.600 --> 00:09:55.199
+of transient, it would have to be a mechanism that's
+
+00:09:55.200 --> 00:10:01.519
+available through transient. And You know, I would let
+
+00:10:01.520 --> 00:10:06.799
+Jonas speak more on that capability, because to be honest, I
+
+00:10:06.800 --> 00:10:14.879
+mean, even to my knowledge of transient is not that deep,
+
+00:10:14.880 --> 00:10:16.839
+actually.
+
+00:10:16.840 --> 00:10:21.399
+Well, it's funny that you say this because even though you
+
+00:10:21.400 --> 00:10:23.759
+say your knowledge might not be that big, you still managed
+
+00:10:23.760 --> 00:10:27.239
+to develop a whole suite of tools on top of it. So as far as
+
+00:10:27.240 --> 00:10:29.599
+people who do not know transient a whole lot, you're doing a
+
+00:10:29.600 --> 00:10:33.159
+pretty damn good job. Let me tell you that much. Thank you.
+
+00:10:33.160 --> 00:10:37.719
+Yeah, I think sort of what I bring to the table is, you know,
+
+00:10:37.720 --> 00:10:41.919
+quite a considerable career in software development on
+
+00:10:41.920 --> 00:10:47.879
+other software ecosystems. And as of late, I've spent
+
+00:10:47.880 --> 00:10:52.439
+basically the past decade working on iOS apps. Right. I
+
+00:10:52.440 --> 00:10:55.199
+think it's refreshing to be able to go back to something that
+
+00:10:55.200 --> 00:10:56.839
+looks like Emacs after iOS.
+
+00:10:56.840 --> 00:11:03.879
+Well, that's perhaps another longer conversation there.
+
+00:11:03.880 --> 00:11:08.599
+Speaking of longer conversation, we have only about 10
+
+00:11:08.600 --> 00:11:11.599
+minutes left until we need to move on to the next talk. But
+
+00:11:11.600 --> 00:11:13.759
+thank you everyone for all the questions you're asking. I'm
+
+00:11:13.760 --> 00:11:17.239
+not saying this because we finished, but it's good to see so
+
+00:11:17.240 --> 00:11:19.919
+many people writing in the chat and asking questions. It
+
+00:11:19.920 --> 00:11:23.079
+always shows that you're interested and that's always
+
+00:11:23.080 --> 00:11:26.079
+lovely to us. And you've mentioned Jonas. Obviously, we're
+
+00:11:26.080 --> 00:11:29.359
+talking about Jonas Bernoulli, i.e. Tarsius, the
+
+00:11:29.360 --> 00:11:33.439
+maintainer of transient. And what Charles just mentioned
+
+00:11:33.440 --> 00:11:37.559
+about having a transient tooling to print the lossage,
+
+00:11:37.560 --> 00:11:43.039
+basically, of which sex were run by which command, feels
+
+00:11:43.040 --> 00:11:44.839
+like this is something that would be interesting. So,
+
+00:11:44.840 --> 00:11:50.239
+perhaps, I'm not sure if Tarsius is still on the chat
+
+00:11:50.240 --> 00:11:52.639
+currently, but he was definitely around earlier today, so
+
+00:11:52.640 --> 00:11:55.839
+we'll make sure that the ID lands on his lap later on. All
+
+00:11:55.840 --> 00:12:00.203
+right, moving to the next question.
+
+NOTE Q: Is there a setting to close menu after executing command?
+
+00:12:00.204 --> 00:12:00.919
+Is there a setting to
+
+00:12:00.920 --> 00:12:07.479
+close menu after executing a command? By default, it will.
+
+00:12:07.480 --> 00:12:10.879
+There's a slot that you can define in a transient
+
+00:12:10.880 --> 00:12:17.199
+prefix called :transient. And if you set that to true,
+
+00:12:17.200 --> 00:12:20.639
+then it will persist the menu after executing the command.
+
+00:12:20.640 --> 00:12:26.159
+But by default, it will actually dismiss the menu. This
+
+00:12:26.160 --> 00:12:29.359
+feels... Did you actually get to play with Hydra before
+
+00:12:29.360 --> 00:12:36.279
+playing with transients? To be honest, no. Yeah, I kind of
+
+00:12:36.280 --> 00:12:41.719
+slept on Hydra or at least, you know, I really wasn't all that
+
+00:12:41.720 --> 00:12:44.639
+ambitious with working with different packages until
+
+00:12:44.640 --> 00:12:48.639
+about like, a little less than 2 years ago or so.
+
+00:12:48.640 --> 00:12:57.639
+And then the other part was also, um. You know, not not really
+
+00:12:57.640 --> 00:13:01.999
+a technical. Start a comparison because I really don't want
+
+00:13:02.000 --> 00:13:05.759
+to upset folks here, but, uh. But more along the lines of just
+
+00:13:05.760 --> 00:13:09.559
+going with the notion that transient was being built in or
+
+00:13:09.560 --> 00:13:15.279
+packaged as a built in package for Emacs. I went with using
+
+00:13:15.280 --> 00:13:20.679
+that for my implementation. Cool. And I don't think there's
+
+00:13:20.680 --> 00:13:23.199
+anything controversial with what you're saying right now
+
+00:13:23.200 --> 00:13:28.839
+because, you know, we had earlier today, Euro Rechenko, the
+
+00:13:28.840 --> 00:13:32.439
+new maintainer of Augment, mentioning that he'd like to
+
+00:13:32.440 --> 00:13:34.319
+have a better integration with Transient because
+
+00:13:34.320 --> 00:13:39.159
+Transient is, it looks like it's here to stay for a long time
+
+00:13:39.160 --> 00:13:42.879
+and might even land in core at some point. So, it definitely
+
+00:13:42.880 --> 00:13:49.519
+feels comparing Hydra because for me, most of my UI needs in
+
+00:13:49.520 --> 00:13:54.439
+Emacs prior to Transient were done via Hydra because it was a
+
+00:13:54.440 --> 00:13:57.799
+very convenient tooling. For people who do not know, Hydra
+
+00:13:57.800 --> 00:14:02.919
+is written by AboAbo. who's also authored packages like
+
+00:14:02.920 --> 00:14:08.639
+Lispy, an interactive Lisp mode, also for Ivy, which you
+
+00:14:08.640 --> 00:14:14.239
+might know as the counterpart of Helm, maybe five years ago.
+
+00:14:14.240 --> 00:14:17.959
+So all those packages, they were very innovative for the
+
+00:14:17.960 --> 00:14:21.199
+time and it's cool to see that some of the ideas which were
+
+00:14:21.200 --> 00:14:28.039
+introduced by IV and Helm and all this are then taken by tools
+
+00:14:28.040 --> 00:14:30.279
+like Transient and done perhaps with a little more
+
+00:14:30.280 --> 00:14:33.639
+hindsight now that people have experienced a little more of
+
+00:14:33.640 --> 00:14:38.359
+it. Okay, we have still a little bit of time. Moving on to the
+
+00:14:38.360 --> 00:14:40.281
+next question.
+
+NOTE Q: What modes are you working on at the moment for casual / are excited to explore?
+
+00:14:40.282 --> 00:14:41.919
+What modes are you working on at the moment
+
+00:14:41.920 --> 00:14:44.159
+for Casual or are you excited to explore?
+
+00:14:44.160 --> 00:14:53.999
+Well, so I just recently published one for calendar. And so I
+
+00:14:54.000 --> 00:14:56.839
+think the calendar interface has a lot of really
+
+00:14:56.840 --> 00:15:00.479
+interesting behavior, particularly its support for
+
+00:15:00.480 --> 00:15:07.479
+non-Gregorian events, which is, you know, for folks who'd
+
+00:15:07.480 --> 00:15:13.079
+like, in my case, looking at the lunar calendar, it's great
+
+00:15:13.080 --> 00:15:17.799
+to have tooling to be able to not have to leave Emacs to figure
+
+00:15:17.800 --> 00:15:19.759
+out when a lunar date is.
+
+00:15:19.760 --> 00:15:29.599
+Then, I think, you know, for the most part, My work on casual
+
+00:15:29.600 --> 00:15:34.959
+was really kind of my summer of code for Emacs here. And so in
+
+00:15:34.960 --> 00:15:41.519
+many ways, the velocity of casual development is going to
+
+00:15:41.520 --> 00:15:48.919
+slow down where I've got a big bulk of the modes that I really
+
+00:15:48.920 --> 00:15:57.519
+wanted to take care of. Um, I think one experimental thing
+
+00:15:57.520 --> 00:16:00.999
+that I think is very unbaked, but I would, you know, if folks
+
+00:16:01.000 --> 00:16:06.879
+are interested, uh, maybe looking at it is, uh, taking a look
+
+00:16:06.880 --> 00:16:13.079
+at edebug and trying to make that an easier thing to do. Um,
+
+00:16:13.080 --> 00:16:18.359
+that is ambitious. Uh, yeah, so maybe too ambitious.
+
+00:16:18.360 --> 00:16:23.713
+Uh, other things are like really scary projects.
+
+00:16:23.714 --> 00:16:25.195
+And so, not to say that
+
+00:16:25.196 --> 00:16:28.319
+I really have a desire to do it, but another
+
+00:16:28.320 --> 00:16:33.239
+one would be ediff. Right. Okay. Relitigating it's
+
+00:16:33.240 --> 00:16:43.639
+interface, um, to have a transient menu. I say
+
+00:16:43.640 --> 00:16:47.919
+these things, but I'm also scared of those things. Yeah, I
+
+00:16:47.920 --> 00:16:50.719
+mean, I think it's a lovely way to tackle the project,
+
+00:16:50.720 --> 00:16:55.479
+really, because you are fully aware that edebug and ediffs
+
+00:16:55.480 --> 00:16:59.399
+are mastodons when it comes to Emacs. They work very well. If
+
+00:16:59.400 --> 00:17:02.639
+you've ever tried to do a conflict resolution in Magit and
+
+00:17:02.640 --> 00:17:07.199
+you've pressed e, that usually opens ediff for you. If you
+
+00:17:07.200 --> 00:17:09.959
+happen to know how it works, it's amazing, but if you do not know
+
+00:17:09.960 --> 00:17:13.719
+it works, the interface is a little... It's a lot to take in
+
+00:17:13.720 --> 00:17:20.879
+at the moment. You have to know a, b, w... I can, and I
+
+00:17:20.880 --> 00:17:24.439
+can never remember which one is the lower and which one is the
+
+00:17:24.440 --> 00:17:27.359
+upper. Like, it constantly goes in different directions. I
+
+00:17:27.360 --> 00:17:29.719
+can never remember which is the commit I'm trying to merge,
+
+00:17:29.720 --> 00:17:32.759
+which is the commit I'm currently being on. It has nothing to
+
+00:17:32.760 --> 00:17:36.839
+do with Magit. It's merely Git and the way they conceive
+
+00:17:36.840 --> 00:17:39.719
+this. And probably, there might be a very nice way to
+
+00:17:39.720 --> 00:17:42.079
+remember it, but I still haven't found it after 10 years as a
+
+00:17:42.080 --> 00:17:44.919
+software developer. So, I guess I need to dig a little
+
+00:17:44.920 --> 00:17:48.519
+deeper. But what I find lovely about the approach is that for
+
+00:17:48.520 --> 00:17:52.599
+you, working on the interface to those tools is actually
+
+00:17:52.600 --> 00:17:55.159
+something that allows you to discover how they work, but
+
+00:17:55.160 --> 00:17:59.119
+also how to make it more easy for people to understand how
+
+00:17:59.120 --> 00:18:02.039
+those tools work. So you're doing the work of
+
+00:18:02.040 --> 00:18:05.399
+understanding, of digesting a lot of the commands, so that
+
+00:18:05.400 --> 00:18:08.599
+people do not have to go through the same pain as you have. So I
+
+00:18:08.600 --> 00:18:14.279
+find this a very noble endeavor in a way.
+
+NOTE Getting older
+
+00:18:14.280 --> 00:18:18.559
+In so many ways, as perhaps I've mentioned
+
+00:18:18.560 --> 00:18:23.639
+in my talk, I'm getting older. I can't remember all
+
+00:18:23.640 --> 00:18:28.759
+these damn commands and my hand dexterity is failing. I
+
+00:18:28.760 --> 00:18:33.199
+mean, there's so many. Like multiple keystroke
+
+00:18:33.200 --> 00:18:37.479
+bindings, which I absolutely loathe. At most,
+
+00:18:37.480 --> 00:18:40.799
+like I can, I can only physically handle like, two
+
+00:18:40.800 --> 00:18:47.799
+characters, three maybe, at a time. So maybe
+
+00:18:47.800 --> 00:18:51.239
+that's just me, and others may
+
+00:18:51.240 --> 00:18:55.999
+feel differently, but at the same time,
+
+00:18:56.000 --> 00:19:01.519
+the work that I've invested here is has been very personal
+
+00:19:01.520 --> 00:19:06.239
+for me because I just don't want to work that hard, and I want to
+
+00:19:06.240 --> 00:19:11.159
+keep using Emacs. Yeah, and that's again a very good
+
+00:19:11.160 --> 00:19:13.719
+endeavor, I think, to have. And there's one last thing that
+
+00:19:13.720 --> 00:19:16.039
+I'd like to mention, because you've mentioned this project
+
+00:19:16.040 --> 00:19:19.879
+of yours, Casual, being some kind of summer of code, with the
+
+00:19:19.880 --> 00:19:22.399
+implication that you've worked a whole lot of it during the
+
+00:19:22.400 --> 00:19:26.919
+summer or during this period. and perhaps investment will
+
+00:19:26.920 --> 00:19:31.119
+die down a little bit now. But I think it's completely fine to
+
+00:19:31.120 --> 00:19:33.879
+have moments when you feel particularly excited and you do a
+
+00:19:33.880 --> 00:19:36.959
+lot of work, and sometimes it dies down a little bit.
+
+00:19:36.960 --> 00:19:41.439
+Personally, I've been... Four years ago, I was working a lot
+
+00:19:41.440 --> 00:19:44.679
+on Org Roam and I had my Summer of Code on Org Roam. And that was
+
+00:19:44.680 --> 00:19:47.159
+great. I was able to do a lot of things, to get a lot of things
+
+00:19:47.160 --> 00:19:50.559
+out of my head. But eventually, you know, you have to go make
+
+00:19:50.560 --> 00:19:53.279
+some money to survive or you have to take care of family and
+
+00:19:53.280 --> 00:19:56.399
+stuff like this. So, life tends to get in the way of your
+
+00:19:56.400 --> 00:20:00.519
+hobbies, especially when, you know, it's so... It's
+
+00:20:00.520 --> 00:20:03.239
+hobbies that involve so much of your time to get things
+
+00:20:03.240 --> 00:20:07.879
+right, like programming does. But, you know, we appreciate
+
+00:20:07.880 --> 00:20:09.799
+all the work you've done, Charles, and the fact that you've
+
+00:20:09.800 --> 00:20:12.679
+put it out there for people to enjoy. It's already a victory.
+
+00:20:12.680 --> 00:20:14.999
+You don't need to feel compelled to keep working on it
+
+00:20:15.000 --> 00:20:18.159
+because ultimately, as you said, the beauty of open source
+
+00:20:18.160 --> 00:20:21.759
+is that people can just send PRs and get the project going
+
+00:20:21.760 --> 00:20:28.519
+again. Yeah. I mean, and if anything, you know, folks have
+
+00:20:28.520 --> 00:20:33.319
+expressed to me that, you know, in many ways, a lot of this
+
+00:20:33.320 --> 00:20:37.959
+stuff should be, you know, sort of folded in the core. And,
+
+00:20:37.960 --> 00:20:45.159
+you know, I would love to see at least the ideals of, or at
+
+00:20:45.160 --> 00:20:49.319
+least an openness into thinking, rethinking the interface
+
+00:20:49.320 --> 00:20:54.119
+for Emacs. So, you know, it doesn't have to be, basically
+
+00:20:54.120 --> 00:20:59.119
+work the way it worked for basically the last half of the 20th
+
+00:20:59.120 --> 00:21:03.519
+century here. Yeah, Emacs is flexible enough to have
+
+00:21:03.520 --> 00:21:10.279
+different approaches and, you know, transient is one
+
+00:21:10.280 --> 00:21:17.759
+approach, but at the same time, you know, the ability to
+
+00:21:17.760 --> 00:21:22.559
+reimagine the user interface for, you know, the computing
+
+00:21:22.560 --> 00:21:28.159
+needs, you know, for basically users needs today, whether
+
+00:21:28.160 --> 00:21:33.119
+you write or code or anything of that nature, I think is an
+
+00:21:33.120 --> 00:21:39.039
+exciting and great thing. Yeah, well, thank you so much for
+
+00:21:39.040 --> 00:21:41.639
+this conclusion. So I'm a little sorry, because sadly, we
+
+00:21:41.640 --> 00:21:45.919
+needed to move the stream to the next talk. So we've lost
+
+00:21:45.920 --> 00:21:49.639
+about 20 seconds of what you said. But don't worry, whatever
+
+00:21:49.640 --> 00:21:51.999
+you've said will be available on the website. I didn't want
+
+00:21:52.000 --> 00:21:55.759
+to interrupt, sadly, because I didn't want to be rude. But I
+
+00:21:55.760 --> 00:21:58.679
+think we did a great job answering the questions. So thank
+
+00:21:58.680 --> 00:22:01.199
+you so much for taking the time. I'll need to get going,
+
+00:22:01.200 --> 00:22:02.759
+because we might have a problem with the next talk. So thank
+
+00:22:02.760 --> 00:22:05.919
+you so much, Charles. Certainly. Take care. Thank you.
+
+00:22:05.920 --> 00:22:12.120
+Appreciate it. Bye.
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
new file mode 100644
index 00000000..3266d254
--- /dev/null
+++ b/2024/captions/emacsconf-2024-color--colour-your-emacs-with-ease--ryota--answers.vtt
@@ -0,0 +1,748 @@
+WEBVTT
+
+00:00:00.000 --> 00:00:06.039
+... Org mode and kind of note taking. And that meant that it wasn't
+
+00:00:06.040 --> 00:00:10.679
+too difficult to get started with. But when I started more on
+
+00:00:10.680 --> 00:00:14.959
+the coding side, because I'm a software engineer, you know,
+
+00:00:14.960 --> 00:00:20.679
+on the day job. That kind of got me to think that the colors and
+
+00:00:20.680 --> 00:00:26.479
+how themes look, how Emacs looks, was affecting. And that's
+
+00:00:26.480 --> 00:00:30.719
+how it kind of came to picture. So I could have kind of gone
+
+00:00:30.720 --> 00:00:34.919
+into a little bit more coding side of things, but I didn't
+
+00:00:34.920 --> 00:00:38.319
+want to stress too much on the talk. So that's why I kind of
+
+00:00:38.320 --> 00:00:43.439
+stuck to a very small bits of Org Mode and Elisp. And yeah, I
+
+00:00:43.440 --> 00:00:48.159
+think that's how it came about. Yeah, but that's perfectly
+
+00:00:48.160 --> 00:00:52.119
+fine. That's one of the chief reasons why we have two tracks
+
+00:00:52.120 --> 00:00:54.799
+for Emacs content. We've had those for the last four years, I
+
+00:00:54.800 --> 00:00:57.279
+think. It's because we have a general track, which is more
+
+00:00:57.280 --> 00:00:59.239
+geared towards people who want a general... well,
+
+00:00:59.240 --> 00:01:01.799
+generally people who are highly interested into org mode
+
+00:01:01.800 --> 00:01:03.999
+and not necessarily into coding, but just to whet their
+
+00:01:04.000 --> 00:01:08.399
+appetite to what can be done. And on the DevTrack, we have,
+
+00:01:08.400 --> 00:01:11.519
+well, this year we have talked about Rust and about other
+
+00:01:11.520 --> 00:01:13.559
+fancy things that people can do with Emacs. But, you know,
+
+00:01:13.560 --> 00:01:15.559
+I'm also a software engineer, you know, we do this all the
+
+00:01:15.560 --> 00:01:18.079
+time. Sometimes it's just fine to just chat about colors and
+
+00:01:18.080 --> 00:01:20.959
+just the results of what we develop rather than how the
+
+00:01:20.960 --> 00:01:24.839
+sausage is made. So that's completely fine too. I'm not sure
+
+NOTE Why colour?
+
+00:01:24.840 --> 00:01:28.879
+if you mentioned it in your presentation, but why color, out
+
+00:01:28.880 --> 00:01:31.479
+of all the things you could be ricing on your setup, why were
+
+00:01:31.480 --> 00:01:37.559
+you so interested about colors? I think it was just that
+
+00:01:37.560 --> 00:01:40.239
+mainly that I had to do a lot of context switch between
+
+00:01:40.240 --> 00:01:44.119
+different languages. Elisp is not the one because Elisp is
+
+00:01:44.120 --> 00:01:48.079
+something that I would do for Emacs editing. But for day job,
+
+00:01:48.080 --> 00:01:52.999
+I had to use mainly Go as I work with Kubernetes quite a bit. So
+
+00:01:53.000 --> 00:01:58.119
+Go and also web languages like TypeScript, JavaScript, you
+
+00:01:58.120 --> 00:02:01.519
+know, those languages, where I felt that whenever I was
+
+00:02:01.520 --> 00:02:05.359
+switching context to a different language, I felt that it's
+
+00:02:05.360 --> 00:02:08.839
+kind of annoying to see all the different colors in
+
+00:02:08.840 --> 00:02:11.999
+languages like TypeScript, where, you know, VS Code way
+
+00:02:12.000 --> 00:02:15.799
+would be very full of colors. which I felt that, okay, like,
+
+00:02:15.800 --> 00:02:18.759
+why do I have to have that many different colors on let and
+
+00:02:18.760 --> 00:02:23.759
+constant or the keywords where it could be just a white text?
+
+00:02:23.760 --> 00:02:27.679
+It didn't have to be that colorful. So that was the bit, the
+
+00:02:27.680 --> 00:02:31.399
+most annoying bit when it came to context switching. And I
+
+00:02:31.400 --> 00:02:34.759
+felt that that just didn't happen in the Org Mode or writing
+
+00:02:34.760 --> 00:02:40.799
+in general. So I had to find a way to make it work, make more
+
+00:02:40.800 --> 00:02:46.199
+coding make my coding more kind of friendly to me and that's
+
+00:02:46.200 --> 00:02:50.039
+when I thought maybe just the colors are something that's
+
+00:02:50.040 --> 00:02:54.039
+bothering me and it actually was the case and that's how I got
+
+00:02:54.040 --> 00:02:59.359
+to more into the color kind of journey and got too much into it
+
+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?
+
+00:03:04.040 --> 00:03:06.999
+learn Elisp and to get into the Emacs core? Because it's
+
+00:03:07.000 --> 00:03:09.399
+funny how you find plenty of people using Emacs in Org Mode
+
+00:03:09.400 --> 00:03:11.399
+and then they find something that they take particular
+
+00:03:11.400 --> 00:03:15.039
+issue with, for you it's the color, and then they just go all
+
+00:03:15.040 --> 00:03:18.039
+in trying to pull the rope as far as they can to try to
+
+00:03:18.040 --> 00:03:21.359
+understand as much as possible about what code is managing
+
+00:03:21.360 --> 00:03:23.879
+this part of the application. Like for you it was color, for
+
+00:03:23.880 --> 00:03:27.999
+me it was the org agenda, I desperately wanted to make Org
+
+00:03:28.000 --> 00:03:32.439
+Agenda do something that it wasn't able to do. And five
+
+00:03:32.440 --> 00:03:35.199
+years, well, actually, no, 10 years later, I find myself
+
+00:03:35.200 --> 00:03:38.199
+hosting Emacs Cons. So, you never know just how far you're
+
+00:03:38.200 --> 00:03:40.399
+going to be pulling this rope. So, it's really interesting
+
+00:03:40.400 --> 00:03:44.679
+for me that my call was this. But back to the question, is this
+
+00:03:44.680 --> 00:03:47.759
+what eventually motivated you to get into Elisp and the core
+
+00:03:47.760 --> 00:03:53.439
+of Emacs? I think that the original journey to move to Emacs
+
+00:03:53.440 --> 00:03:56.959
+was around keybindings that I got annoyed with with other
+
+00:03:56.960 --> 00:03:59.839
+solutions, not just, you know, not speaking of Emacs
+
+00:03:59.840 --> 00:04:02.879
+keybinding or anything, like anything in general. The main
+
+00:04:02.880 --> 00:04:07.519
+reason was that I used Dovrak keyboard layout, and that
+
+00:04:07.520 --> 00:04:10.799
+meant that all the C-c, C-v, C-p, whatever, It just is
+
+00:04:10.800 --> 00:04:13.919
+all over the place. So I had to find something that could work
+
+00:04:13.920 --> 00:04:17.039
+for me. And Emacs was a solution that allowed me to do
+
+00:04:17.040 --> 00:04:20.479
+anything. And that's the kind of the journey that it
+
+00:04:20.480 --> 00:04:24.039
+originally started. And from there, started tweaking org
+
+00:04:24.040 --> 00:04:28.439
+mode and writing experience to be tuned to my liking. Color
+
+00:04:28.440 --> 00:04:32.559
+was another thing that I thought, OK, maybe I could do it
+
+00:04:32.560 --> 00:04:36.239
+easily with org mode. And when I started to use more of the
+
+00:04:36.240 --> 00:04:40.799
+coding side of things on Emacs, I felt that, okay, that was
+
+00:04:40.800 --> 00:04:45.159
+something I needed to solve. So Elisp was always kind of
+
+00:04:45.160 --> 00:04:48.439
+just a toolkit that, you know, I knew that it was available. I
+
+00:04:48.440 --> 00:04:52.199
+knew that it would be something that I want to be able to use.
+
+00:04:52.200 --> 00:04:57.159
+So I think in a way color was a good segue to understand how I
+
+00:04:57.160 --> 00:05:03.359
+can kind of work out more of a complex logic with the editor
+
+00:05:03.360 --> 00:05:06.359
+without having to write JavaScript or things that I don't
+
+00:05:06.360 --> 00:05:09.399
+particularly like. So yeah, I think the journey around the
+
+00:05:09.400 --> 00:05:11.879
+functional languages, functional kind of programming was
+
+00:05:11.880 --> 00:05:15.439
+always something that I was keen about. And yeah, the whole
+
+00:05:15.440 --> 00:05:18.479
+journey kind of made sense for me. And then moving on to the
+
+00:05:18.480 --> 00:05:21.999
+color was just one way to get more involved in. So I can
+
+00:05:22.000 --> 00:05:26.279
+totally see that this journey kind of making to a little bit
+
+00:05:26.280 --> 00:05:30.759
+different angle But yeah, we shall see how that really turns
+
+00:05:30.760 --> 00:05:33.799
+out. But for now, I think I'm happy with the color setup. Now I
+
+00:05:33.800 --> 00:05:37.599
+can really focus on the coding. Well, that's all good. And
+
+00:05:37.600 --> 00:05:40.839
+I'm sure plenty of people listening to you now, you know,
+
+00:05:40.840 --> 00:05:43.639
+find this relatable, how they eventually got into
+
+00:05:43.640 --> 00:05:46.879
+programming. Like for you, you did say that you were a
+
+00:05:46.880 --> 00:05:50.519
+software engineer now. But I found plenty of people,
+
+00:05:50.520 --> 00:05:54.679
+especially doing workshops, that just started you know,
+
+00:05:54.680 --> 00:05:57.639
+their software engineering journey just with Emacs and
+
+00:05:57.640 --> 00:05:59.239
+they just realized they were doing something completely
+
+00:05:59.240 --> 00:06:01.999
+different, like I was studying humanities. But then you
+
+00:06:02.000 --> 00:06:05.079
+touch Emacs and you realize, yeah, this whole programming
+
+00:06:05.080 --> 00:06:06.679
+shtick is actually pretty damn cool.
+
+00:06:06.680 --> 00:06:09.079
+And then you find yourself again,
+
+00:06:09.080 --> 00:06:10.999
+five to 10 years later, becoming a software
+
+00:06:11.000 --> 00:06:12.999
+engineer. So yeah, that's all good.
+
+00:06:13.000 --> 00:06:13.919
+So we do have a couple of
+
+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.399
+people have questions and for me it's okay for me to chat with
+
+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.639
+themselves. And again, if you want to ask questions to Ryota
+
+00:06:27.640 --> 00:06:31.039
+directly, feel free to join us on BBB and whenever we're done
+
+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: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?
+
+00:06:35.320 --> 00:06:37.799
+All right, so starting with the first question,
+
+00:06:37.800 --> 00:06:39.999
+is there any intention to create a library
+
+00:06:40.000 --> 00:06:42.559
+for working with more experimental color spaces, pulling
+
+00:06:42.560 --> 00:06:45.679
+code out of Hasliberg for this purpose, perhaps? Although I
+
+00:06:45.680 --> 00:06:50.479
+do not know. Hasliberg, you might? Yeah, Hasliberg. And to
+
+00:06:50.480 --> 00:06:55.119
+answer the question, started the journey just for myself
+
+00:06:55.120 --> 00:06:58.479
+and I didn't think that it would be actually useful for other
+
+00:06:58.480 --> 00:07:03.319
+use cases and this conference talk just came about kind of
+
+00:07:03.320 --> 00:07:08.079
+out of sheer luck really. So the idea I think I can definitely
+
+00:07:08.080 --> 00:07:12.199
+work it out and I don't think there will be too, the original
+
+00:07:12.200 --> 00:07:17.639
+code that I started with was I had to use some color space and I
+
+00:07:17.640 --> 00:07:22.479
+started with sRGB and then went to HSL and then went to LCH. So
+
+00:07:22.480 --> 00:07:25.479
+I think there has been quite a bit that I learned from it. At
+
+00:07:25.480 --> 00:07:29.999
+the same time, I may be tempted to actually maybe perhaps
+
+00:07:30.000 --> 00:07:34.159
+contribute back to ct.el rather than creating my own. I
+
+00:07:34.160 --> 00:07:36.279
+think that would make more sense perhaps.
+
+00:07:36.280 --> 00:07:39.479
+But for my own kind of taste that I thought
+
+00:07:39.480 --> 00:07:42.839
+that it would be something I can work out in my theme,
+
+00:07:42.840 --> 00:07:46.879
+but I don't have any I think, you know, making a
+
+00:07:46.880 --> 00:07:49.999
+library is definitely something that I can think about, but
+
+00:07:50.000 --> 00:07:53.679
+perhaps maybe making it too many packages isn't exactly
+
+00:07:53.680 --> 00:07:57.319
+what I want. But for my own use case, I think I just wanted to
+
+00:07:57.320 --> 00:07:59.919
+have something that just didn't have any external
+
+00:07:59.920 --> 00:08:04.119
+dependency so that I can use the vanilla Emacs with my
+
+00:08:04.120 --> 00:08:09.639
+colors. I think that's how it started, but I'm definitely up
+
+00:08:09.640 --> 00:08:13.719
+for it if there is interest about it. Yeah, well, thank you
+
+00:08:13.720 --> 00:08:15.279
+for this. It's always good to contribute.
+
+00:08:15.280 --> 00:08:16.399
+I'm tempted to say
+
+00:08:16.400 --> 00:08:18.279
+that's how they get you. You know, you do something really
+
+00:08:18.280 --> 00:08:23.639
+cool and you share it with people and they have the, you know,
+
+00:08:23.640 --> 00:08:27.239
+they just ask you, oh, do you have your code online? And you
+
+00:08:27.240 --> 00:08:29.399
+realize, no, I haven't pushed it. And then they start
+
+00:08:29.400 --> 00:08:32.359
+pressing you on. well, you need to do this, this is amazing
+
+00:08:32.360 --> 00:08:35.879
+and you need to share it. You know, I had plenty of people ask
+
+00:08:35.880 --> 00:08:40.519
+me to share my dot files when I was tackling the org agenda
+
+00:08:40.520 --> 00:08:44.039
+issue that I mentioned earlier. And yeah, eventually when
+
+00:08:44.040 --> 00:08:47.479
+you get to publishing your stuff, you also feel great
+
+00:08:47.480 --> 00:08:50.279
+because you're putting a little bit of your intelligence
+
+00:08:50.280 --> 00:08:53.679
+into the world and it can be the start of the journey for
+
+00:08:53.680 --> 00:08:56.239
+someone else. You know, maybe someone will find your
+
+00:08:56.240 --> 00:08:58.679
+library at some point and realize, yeah, I wanted to do
+
+00:08:58.680 --> 00:09:01.239
+something slightly differently. and then they either
+
+00:09:01.240 --> 00:09:04.439
+contribute to a library or they make their own but it's a
+
+00:09:04.440 --> 00:09:07.359
+complete journey that starts with just people taking the
+
+00:09:07.360 --> 00:09:12.039
+time to publish the content of the brain basically. Yeah,
+
+00:09:12.040 --> 00:09:15.519
+that's the power of open source now. It's just how we really
+
+00:09:15.520 --> 00:09:19.119
+appreciate the open source culture being cultivated
+
+00:09:19.120 --> 00:09:23.159
+throughout so many years. And yeah, this is something that
+
+00:09:23.160 --> 00:09:26.999
+I'm definitely keen about. So yeah, open for suggestions.
+
+00:09:27.000 --> 00:09:30.079
+And exactly, that's how I started with the journey. And
+
+00:09:30.080 --> 00:09:33.519
+yeah, while this is very experimental and very personal,
+
+00:09:33.520 --> 00:09:38.199
+yeah, I'm not, you know, tied down to one particular way
+
+00:09:38.200 --> 00:09:41.399
+only. So yeah we'll be open to suggestions like this one
+
+00:09:41.400 --> 00:09:44.719
+which I would definitely think about. Yeah that's amazing
+
+00:09:44.720 --> 00:09:46.999
+and just to be clear you know this is not a there's no
+
+00:09:47.000 --> 00:09:50.639
+incentive one. I'm not pushing you to publish your library.
+
+00:09:50.640 --> 00:09:53.799
+You know it was very personal for you and at the end if you
+
+00:09:53.800 --> 00:09:56.199
+believe it might be useful for others it's a nice thing to
+
+00:09:56.200 --> 00:09:58.799
+eventually think about publishing it. But just the fact
+
+00:09:58.800 --> 00:10:01.439
+that you showed up at EmacsConf... Sorry, I'm
+
+00:10:01.440 --> 00:10:02.639
+starting to lose my voice on the morning
+
+00:10:02.640 --> 00:10:03.839
+of the first day. That's
+
+00:10:03.840 --> 00:10:07.639
+not boding well for the two next days. I mean, just one day.
+
+00:10:07.640 --> 00:10:09.159
+But just the
+
+00:10:09.160 --> 00:10:13.199
+fact that you're showing up at EmacsConf and sharing about
+
+00:10:13.200 --> 00:10:17.039
+all of this, the process, how you got to it eventually, it's
+
+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.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.639
+question and then try to cough a little bit. So can we have...
+
+00:10:31.640 --> 00:10:36.759
+Oh, sorry, Bala. Sorry. I was the one who asked the question.
+
+00:10:36.760 --> 00:10:40.279
+I thought I could ask it live here rather than... Thank you.
+
+00:10:40.280 --> 00:10:46.039
+I'll go cough a little bit. So here I am. Thanks, Ryota, for
+
+00:10:46.040 --> 00:10:50.519
+the nice talk. This is great. I loved it. Your attention to
+
+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.520 --> 00:10:54.959
+So I was just looking at the code and I was
+
+00:10:54.960 --> 00:10:58.759
+wondering, do you have a dark and a light theme variation
+
+00:10:58.760 --> 00:11:02.599
+which can be made from your theme? Or do you have to customize
+
+00:11:02.600 --> 00:11:06.199
+it every time? That was my question. And thanks for that.
+
+00:11:06.200 --> 00:11:09.679
+Thank you very much. I appreciate your feedback and
+
+00:11:09.680 --> 00:11:15.039
+questions. So to answer the question, the short answer is
+
+00:11:15.040 --> 00:11:18.439
+that I do have both dark and light themes with some sorts of
+
+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.679
+few things that I showed in the demo. where I showed, I think,
+
+00:11:26.680 --> 00:11:29.999
+three different dark theme colors. So light theme is
+
+00:11:30.000 --> 00:11:31.559
+definitely something that I can do.
+
+00:11:31.560 --> 00:11:33.759
+And the idea around Hasliberg theme
+
+00:11:33.760 --> 00:11:36.279
+and just my theming in general was that
+
+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.600 --> 00:11:42.159
+work in the standard way, I would just use the standard color.
+
+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.920 --> 00:11:48.519
+to have a bit of a warm colors near me, I would use the orange
+
+00:11:48.520 --> 00:11:52.279
+theme, without changing too much of the kind of general
+
+00:11:52.280 --> 00:11:55.639
+feeling and experience. So that can be said for the light
+
+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.839
+customization isn't that difficult to extend. So I do have
+
+00:12:04.840 --> 00:12:09.359
+both dark and light, but primarily I'm just looking at the
+
+00:12:09.360 --> 00:12:12.839
+dark theme as my main driver. But yeah, they are both
+
+00:12:12.840 --> 00:12:18.239
+available. Great. Thank you so much. I will definitely try
+
+00:12:18.240 --> 00:12:21.719
+your theme out. I'm definitely on the lookout for a nice,
+
+00:12:21.720 --> 00:12:26.119
+friendly theme. Thank you very much. As I said, this is a
+
+00:12:26.120 --> 00:12:31.279
+personal theme. I'm not sure if it really fits everyone's
+
+00:12:31.280 --> 00:12:37.159
+need, but it is one inspiration that I hope that can lead to
+
+00:12:37.160 --> 00:12:40.639
+another nice theming that could work for someone
+
+00:12:40.640 --> 00:12:44.199
+specifically for some use cases. I don't have to solve
+
+00:12:44.200 --> 00:12:48.719
+everyone's problem. Yeah, and I mean, it was sufficient to
+
+00:12:48.720 --> 00:12:50.719
+be inspirational to people. I mean, just Bala just
+
+00:12:50.720 --> 00:12:53.759
+mentioned it right now, but I'm sure plenty of people who
+
+00:12:53.760 --> 00:12:55.999
+watched live, but also people will be watching in the
+
+00:12:56.000 --> 00:12:58.599
+future, will have the interest to speak by what you've done.
+
+00:12:58.600 --> 00:13:05.079
+So thank you again so much for this. Yep. All right, well, I
+
+00:13:05.080 --> 00:13:09.719
+don't see any further questions. So I suggest we move
+
+00:13:09.720 --> 00:13:14.279
+towards closure. Ryota, do you have any last words? No, I
+
+00:13:14.280 --> 00:13:17.079
+don't. So yeah, thank you very much for attending. And it was
+
+00:13:17.080 --> 00:13:20.519
+great fun putting this together. And I really didn't think
+
+00:13:20.520 --> 00:13:24.759
+that I would be talking about my personal colors and
+
+00:13:24.760 --> 00:13:27.759
+personal favorites, like orange being my favorite color.
+
+00:13:27.760 --> 00:13:30.119
+This wouldn't be something that I would say out in any
+
+00:13:30.120 --> 00:13:34.159
+conference, to be honest. But it just came out to be. And
+
+00:13:34.160 --> 00:13:37.479
+happy that I had a chance. So thank you very much for giving me
+
+00:13:37.480 --> 00:13:41.439
+the opportunity to talk. in this amazing conference and
+
+00:13:41.440 --> 00:13:44.319
+yeah I can't just wait to check out other talks which you know
+
+00:13:44.320 --> 00:13:46.919
+I know that there isn't you know other talks that are
+
+00:13:46.920 --> 00:13:50.199
+happening right now I was actually wanted to to join them and
+
+00:13:50.200 --> 00:13:52.759
+check check that out so I will probably do that right now.
+
+00:13:52.760 --> 00:13:56.839
+Well, sure. Well, I won't hold you any longer then. Thank
+
+00:13:56.840 --> 00:13:59.759
+you. For me, it was just amazing to, you know, generally when
+
+00:13:59.760 --> 00:14:01.639
+you ask someone what their favorite color, you know, they
+
+00:14:01.640 --> 00:14:04.399
+just tell you orange or blue or whatever. They don't go then
+
+00:14:04.400 --> 00:14:07.039
+to chat about 20 minutes about their favorite color and how
+
+00:14:07.040 --> 00:14:10.079
+they tuned their entire editor to work exactly around their
+
+00:14:10.080 --> 00:14:14.759
+favorite colors. So it was inspiring. And I also want to try
+
+00:14:14.760 --> 00:14:17.999
+it out, frankly, because my theme has been utterly bad for
+
+00:14:18.000 --> 00:14:20.639
+the last five years and I need some change into my life. All
+
+00:14:20.640 --> 00:14:24.319
+right. Thank you so much for your time. Thank you very much,
+
+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--answers.vtt b/2024/captions/emacsconf-2024-emacs30--emacs-30-highlights--philip-kaludercic--answers.vtt
new file mode 100644
index 00000000..74b1254c
--- /dev/null
+++ b/2024/captions/emacsconf-2024-emacs30--emacs-30-highlights--philip-kaludercic--answers.vtt
@@ -0,0 +1,957 @@
+WEBVTT
+
+00:00:00.000 --> 00:00:05.079
+You sound great. And on the stream, my eyeball says it looks
+
+00:00:05.080 --> 00:00:08.239
+great with Leo doing the streaming. So I say let's dive right
+
+00:00:08.240 --> 00:00:12.639
+in. You got a long, huge line. And in order to be a little more
+
+00:00:12.640 --> 00:00:16.279
+dialectical, I'll be reading the questions. So first
+
+NOTE Q: which-key was a third-party package for a long time. Is there work to bring any other popular packages into core Emacs for Emacs 31+? (magit, counsel, etc)
+
+00:00:16.280 --> 00:00:18.559
+question, which key was a third party package for a long
+
+00:00:18.560 --> 00:00:21.879
+time? Is there work to bring any other popular packages into
+
+00:00:21.880 --> 00:00:25.399
+the core of Emacs for Emacs 31 plus, like Magit or Counsel?
+
+00:00:25.400 --> 00:00:30.279
+Uh, right. I already answered that one on the, as you can see,
+
+00:00:30.280 --> 00:00:33.999
+uh, right. Yeah. Do you want to quickly read the answer so
+
+00:00:34.000 --> 00:00:38.439
+that everyone, I just can read it out again. Um, as far as I
+
+00:00:38.440 --> 00:00:41.159
+remember, the one package that was being discussed just
+
+00:00:41.160 --> 00:00:43.999
+around the time that the Emacs 30 branch was cut was macro
+
+00:00:44.000 --> 00:00:47.599
+step. That's the package that was like, does an overlay, uh,
+
+00:00:47.600 --> 00:00:51.479
+replaces a macro with the macro expansion using overlays.
+
+00:00:51.480 --> 00:00:53.799
+So you don't have to pop up another buffer, modified,
+
+00:00:53.800 --> 00:00:57.599
+modified current buffer. But we didn't manage to address
+
+00:00:57.600 --> 00:01:00.759
+all the concerns in time for the Emacs 30 cuts and I believe
+
+00:01:00.760 --> 00:01:03.799
+it's sort of stagnated around that but it might be picked up
+
+00:01:03.800 --> 00:01:07.399
+anytime someone mentions it on Emacs Devil again. Another
+
+00:01:07.400 --> 00:01:11.519
+package question mentioned was Magit. That's a constant
+
+00:01:11.520 --> 00:01:14.959
+discussion regarding Magit. And actually, from the top of
+
+00:01:14.960 --> 00:01:19.039
+my head, I can't recall if Magit is on NonGNU ELPA or GNU ELPA
+
+00:01:19.040 --> 00:01:22.999
+right now. It's still on NonGNU ELPA.
+
+00:01:23.000 --> 00:01:29.039
+For those who don't know, only packages which are in ELPA are
+
+00:01:29.040 --> 00:01:33.039
+considered for addition, considered to be added to the
+
+00:01:33.040 --> 00:01:36.119
+Emacs core, to be bundled along with Emacs. And then there's
+
+00:01:36.120 --> 00:01:40.519
+another totally parallel discussion about having a sort of
+
+00:01:40.520 --> 00:01:43.519
+fat Emacs distribution, I call it fat Emacs distribution,
+
+00:01:43.520 --> 00:01:48.119
+where Emacs comes with a lot of ELPA packages or the
+
+00:01:48.120 --> 00:01:55.039
+pre-installed by default. Part of Emacs itself. Yeah.
+
+00:01:55.040 --> 00:01:59.159
+Maybe I could jump in with an active listening style,
+
+00:01:59.160 --> 00:02:03.359
+you know, kind of follow up question almost. You know, I
+
+00:02:03.360 --> 00:02:07.159
+understand the kind of different repositories. We have
+
+00:02:07.160 --> 00:02:13.799
+things that aren't maintained by GNU at all, you know, most
+
+00:02:13.800 --> 00:02:17.919
+notably MELPA. And then we have kind of NonGNU ELPA, which
+
+00:02:17.920 --> 00:02:21.639
+is sort of an entryway project where it's not necessarily
+
+00:02:21.640 --> 00:02:24.759
+curated, but there'll be some advice given, which you can
+
+00:02:24.760 --> 00:02:28.159
+take or leave. And that's the repository where anything
+
+00:02:28.160 --> 00:02:32.519
+that was the newer repository that represents, you know,
+
+00:02:32.520 --> 00:02:36.319
+help, you know, help, help supplied from GNU. And then
+
+00:02:36.320 --> 00:02:41.319
+there's the, actually the GNU, the GNU ELPA, what most of us
+
+00:02:41.320 --> 00:02:46.479
+are used to calling just ELPA. And that's what you're
+
+00:02:46.480 --> 00:02:50.839
+talking about there when you say,
+
+00:02:50.840 --> 00:02:53.959
+I mean, all packages on ELPA are officially considered to be
+
+00:02:53.960 --> 00:02:56.959
+part of Emacs, they're licensed under the same conditions
+
+00:02:56.960 --> 00:03:00.359
+as Emacs itself, same license, same everything. And
+
+00:03:00.360 --> 00:03:03.719
+they're more likely to be, to drop, to kind of be dropping
+
+00:03:03.720 --> 00:03:07.839
+patched. Oh yeah, it's time for this to move to core. Is that
+
+00:03:07.840 --> 00:03:12.559
+right? They have the legal conditions for that to be done.
+
+00:03:12.560 --> 00:03:15.039
+Everything's necessary from a paperwork standpoint. I
+
+00:03:15.040 --> 00:03:17.959
+mean, but other than that, there's not really a big
+
+00:03:17.960 --> 00:03:21.159
+difference between GNU ELPA and NonGNU ELPA. It's
+
+00:03:21.160 --> 00:03:23.839
+really just the main thing is this copyrights notice. So if
+
+00:03:23.840 --> 00:03:28.519
+you want to add a package to ELPA, to GNU ELPA, then all
+
+00:03:28.520 --> 00:03:32.359
+significance contributors have to have signed the FSF
+
+00:03:32.360 --> 00:03:36.399
+copyright assignment and the package script, actually the
+
+00:03:36.400 --> 00:03:41.519
+ELPA build script, checks if the copyright lines are all
+
+00:03:41.520 --> 00:03:43.879
+attributed to the Free Software Foundation.
+
+00:03:43.880 --> 00:03:52.119
+But that's not going to attach, right? So because that's not
+
+00:03:52.120 --> 00:03:57.799
+in place, it'd be a lot more work to merge it to core. I didn't
+
+00:03:57.800 --> 00:04:01.039
+hear the beginning. Nevermind. I think I understood. You
+
+00:04:01.040 --> 00:04:05.559
+made your point well. Okay. All right, moving on to the
+
+00:04:05.560 --> 00:04:06.466
+second question.
+
+NOTE Q: Any way to get the goodness of Emacs for android with this other stuff?
+
+00:04:06.467 --> 00:04:08.279
+When thinking about using Emacs on
+
+00:04:08.280 --> 00:04:11.279
+Android, I started realizing all the other software I also
+
+00:04:11.280 --> 00:04:15.279
+want on it. For example, PDF Tools wants a small additional
+
+00:04:15.280 --> 00:04:18.519
+Emacs-specific program to be installed on, and notmuch
+
+00:04:18.520 --> 00:04:21.359
+obviously wants notmuch. Any way to get the goodness of
+
+00:04:21.360 --> 00:04:25.639
+Emacs for Android with this other stuff, using either Nix OS
+
+00:04:25.640 --> 00:04:29.279
+or Guix or nix-on-droid to make an APK with extra stuff? Are you
+
+00:04:29.280 --> 00:04:34.439
+familiar with this topic? Absolutely not. The extent to
+
+00:04:34.440 --> 00:04:39.319
+which I have used Emacs on Android was entirely
+
+00:04:39.320 --> 00:04:43.719
+demonstrated in this video, I think. In my previous video. I
+
+00:04:43.720 --> 00:04:48.719
+mean, I know it does a few scrolling stuff, but I have no idea
+
+00:04:48.720 --> 00:04:52.719
+how external stuff, because I mean, Android is, it's a Unix
+
+00:04:52.720 --> 00:04:55.439
+or it's a Linux based system, but it's really heavily
+
+00:04:55.440 --> 00:05:01.439
+modified to the preferences of Google, which includes not
+
+00:05:01.440 --> 00:05:04.719
+being able to have your own software on it. Yeah,
+
+00:05:04.720 --> 00:05:08.799
+definitely. All right, moving on to the next question. Does
+
+00:05:08.800 --> 00:05:12.239
+package-vc... Oh, no, that's fine. I mean, you can't answer
+
+00:05:12.240 --> 00:05:15.199
+all the questions. I mean, it wouldn't be fun for me
+
+00:05:15.200 --> 00:05:15.753
+otherwise.
+
+NOTE Q: Does package-vc download a tarball from the specified git repository or clone the repository itself?
+
+00:05:15.754 --> 00:05:17.919
+Does package-vc download a tarball from the
+
+00:05:17.920 --> 00:05:21.759
+specified Git repository or clone the repository itself?
+
+00:05:21.760 --> 00:05:25.439
+It clones the repository. That's the VC part in the name.
+
+00:05:25.440 --> 00:05:33.719
+package-vc uses VC, the C-x v stuff. In Emacs 29, there's a
+
+00:05:33.720 --> 00:05:37.679
+new command called vc-clone, which in Emacs 31, it was
+
+00:05:37.680 --> 00:05:42.479
+actually exposed as an interactive command. And when you
+
+00:05:42.480 --> 00:05:47.319
+clone the repository, or when you, you can give it any URL of a
+
+00:05:47.320 --> 00:05:50.559
+Git repository or a CVS repository or subversion
+
+00:05:50.560 --> 00:05:53.519
+repository. Interestingly enough, most people only use
+
+00:05:53.520 --> 00:05:57.559
+Git, but anything that's, that implements this clone
+
+00:05:57.560 --> 00:06:01.519
+command for VC, and it could download it. So there's no
+
+00:06:01.520 --> 00:06:05.119
+tarballs involved. Which is also, one should emphasize,
+
+00:06:05.120 --> 00:06:07.879
+part of the difficulty of VC packages because when you have
+
+00:06:07.880 --> 00:06:10.759
+version control and you want to upgrade it, it might be that
+
+00:06:10.760 --> 00:06:14.399
+the upstream did a force push. For that, you make local
+
+00:06:14.400 --> 00:06:17.519
+changes and then you have to merge them upstream with the
+
+00:06:17.520 --> 00:06:21.239
+upstream changes when fetching stuff. It's one of the big
+
+00:06:21.240 --> 00:06:23.559
+downsides of version-controlled stuff, and I'm saying
+
+00:06:23.560 --> 00:06:26.999
+this as the guy who actually wrote package-vc. There's
+
+00:06:27.000 --> 00:06:29.719
+times to use it, there's advantages to it, but that's
+
+00:06:29.720 --> 00:06:32.959
+something you should keep in mind, why tarballs are
+
+00:06:32.960 --> 00:06:37.969
+interesting to have, in my opinion. Okay.
+
+NOTE How is the new behavior of M-q in prog-mode (prog-fill-reindent-defun or something like that) different from the behavior of C-M-q (indent-pp-sexp) in older Emacs versions?
+
+00:06:37.970 --> 00:06:39.639
+How is the new
+
+00:06:39.640 --> 00:06:42.439
+behavior of M-q in prog mode, prog-fill-reindent-defun
+
+00:06:42.440 --> 00:06:45.159
+or something like that, different from the behavior
+
+00:06:45.160 --> 00:06:48.799
+of C-M-q, i.e. indent-pp-sexp in older Emacs
+
+00:06:48.800 --> 00:06:52.199
+version? My apologies if indent-pp-sexp, it's really tough to
+
+00:06:52.200 --> 00:06:55.959
+read M-x commands out loud. It's not bound to
+
+00:06:55.960 --> 00:07:01.519
+C-M-q by default, I can't tell. Let me try that command
+
+00:07:01.520 --> 00:07:05.599
+out because I've never tried it, never used it before.
+
+00:07:05.600 --> 00:07:09.079
+You know, that isn't bound by default. I bind that up myself
+
+00:07:09.080 --> 00:07:11.759
+and I have that binding. I think that's, that's not right. It
+
+00:07:11.760 --> 00:07:15.119
+says so. I mean, I'm currently executing it here in Emacs and
+
+00:07:15.120 --> 00:07:20.839
+it says you can also run the commands indent-pp-sexp with
+
+00:07:20.840 --> 00:07:26.359
+M-q, C-M-q. Apparently it is. I mean, I
+
+00:07:26.360 --> 00:07:31.359
+didn't set it myself. I don't know what's up with that. to try
+
+00:07:31.360 --> 00:07:35.439
+and move it. And then each line started with points or pretty
+
+00:07:35.440 --> 00:07:37.239
+printed. I mean, the difference, the main difference
+
+00:07:37.240 --> 00:07:41.279
+between that and the command highlighted, what's the name
+
+00:07:41.280 --> 00:07:47.479
+again? I forget it all the time. The prog-mode command.
+
+00:07:47.480 --> 00:07:50.359
+prog-fill-reindent-defun is that
+
+00:07:50.360 --> 00:07:56.319
+it checks if it's in a string or not. If it's in a string or if
+
+00:07:56.320 --> 00:07:58.959
+it's in a comma, then it will refill. Otherwise, it's going
+
+00:07:58.960 --> 00:07:59.799
+to re-indent.
+
+00:07:59.800 --> 00:08:05.679
+That's, I think, as far as I see, that's going to be the main
+
+00:08:05.680 --> 00:08:09.599
+difference. If we have some long comments somewhere. Let's
+
+00:08:09.600 --> 00:08:15.439
+try that out. Yeah, that's the difference. I just, you can't
+
+00:08:15.440 --> 00:08:19.679
+see it, but I did try it. Okay, good. Thank you. You did a
+
+00:08:19.680 --> 00:08:22.119
+wonderful job describing visually what you're doing. All
+
+00:08:22.120 --> 00:08:26.759
+right, moving on to the next question, and we have about, we
+
+00:08:26.760 --> 00:08:28.759
+have just enough time to cover the last three questions,
+
+00:08:28.760 --> 00:08:32.239
+especially because the next one, I can pretty much surmise
+
+00:08:32.240 --> 00:08:33.143
+the answer.
+
+NOTE Q: Any plans for Emacs running in iOS?
+
+00:08:33.144 --> 00:08:36.759
+Any plans for Emacs running on iOS? Probably not
+
+00:08:36.760 --> 00:08:40.319
+because it's not, I mean, as I emphasized in the video, the
+
+00:08:40.320 --> 00:08:43.639
+Emacs port in Android is completely free. And to my
+
+00:08:43.640 --> 00:08:45.319
+knowledge, that's not something that's currently
+
+00:08:45.320 --> 00:08:49.799
+possible with iOS. You need Xcode or something like that to
+
+00:08:49.800 --> 00:08:56.639
+build iOS stuff. So that's a big no-no. I mean, maybe Apple's
+
+00:08:56.640 --> 00:09:00.919
+going to change their mind on that one. Well, I won't be the
+
+00:09:00.920 --> 00:09:04.039
+one liaising with Apple to make sure that they do, but PR
+
+00:09:04.040 --> 00:09:07.599
+welcomes, I guess, or motivated folks welcome. Second to
+
+00:09:07.600 --> 00:09:08.647
+last question.
+
+NOTE 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?
+
+00:09:08.648 --> 00:09:11.719
+I am worried about the situation on non-free
+
+00:09:11.720 --> 00:09:14.519
+systems. There was talk about the Windows and the macOS
+
+00:09:14.520 --> 00:09:17.039
+versions being as good as unmaintained. Where do we go from
+
+00:09:17.040 --> 00:09:20.399
+here? I gather that most users of Emacs are still on non-free
+
+00:09:20.400 --> 00:09:24.799
+platforms and will remain to be there. I don't know about the
+
+00:09:24.800 --> 00:09:28.279
+last point, if that's true, because there's no statistics
+
+00:09:28.280 --> 00:09:35.039
+on that matter. But the main, I mean, someone has to, I know
+
+00:09:35.040 --> 00:09:37.959
+that Corwin is involved with the Mac, with the Windows
+
+00:09:37.960 --> 00:09:43.199
+stuff. Modestly. Sure, I'd love to jump in, but I'm far more
+
+00:09:43.200 --> 00:09:45.839
+interested in your thoughts than mine. Please, please
+
+00:09:45.840 --> 00:09:51.039
+continue. Someone has to do the work. Eli uses, as far as I
+
+00:09:51.040 --> 00:09:58.719
+know, Eli's on the Windows XP system. So as long as he's doing
+
+00:09:58.720 --> 00:10:02.519
+that, there's going to be Windows support for one form or
+
+00:10:02.520 --> 00:10:07.959
+another, or at least DOS. All right. And now you put a quarter
+
+00:10:07.960 --> 00:10:12.439
+in me, so I'll jump right back in. That's perfect for where I
+
+00:10:12.440 --> 00:10:14.519
+guess I would take the question. To me, it's an
+
+00:10:14.520 --> 00:10:17.439
+accessibility issue. Think about it this way. Maybe that
+
+00:10:17.440 --> 00:10:23.319
+Windows XP system is what someone can afford. Likewise,
+
+00:10:23.320 --> 00:10:27.679
+from a freedom versus I have to do my job and I have to use
+
+00:10:27.680 --> 00:10:31.679
+certain technology to do my job. Maybe Emacs is what
+
+00:10:31.680 --> 00:10:35.559
+somebody can afford right? It might be the only free tool
+
+00:10:35.560 --> 00:10:37.439
+that they use and they don't have a lot of choice about the
+
+00:10:37.440 --> 00:10:40.039
+operating system that they're in most of the day. In fact,
+
+00:10:40.040 --> 00:10:42.279
+somebody could be in the situation where their computing
+
+00:10:42.280 --> 00:10:45.839
+device at work is really their internet access, right? All
+
+00:10:45.840 --> 00:10:48.279
+of those situations are possible. Therefore, I tend to
+
+00:10:48.280 --> 00:10:53.479
+assume they all exist and when I ask, you know, how much It
+
+00:10:53.480 --> 00:10:58.039
+definitely is concerning when we hear about kind of black
+
+00:10:58.040 --> 00:11:02.079
+holes in the brain trust of something like support for the
+
+00:11:02.080 --> 00:11:06.359
+Windows port. I feel like I've heard a lot of people
+
+00:11:06.360 --> 00:11:10.959
+answering that call, but the importance of that is that it
+
+00:11:10.960 --> 00:11:14.119
+doesn't stop echoing, right? Free software goes as long as
+
+00:11:14.120 --> 00:11:16.399
+there are people that are irritated enough about something
+
+00:11:16.400 --> 00:11:20.839
+to sort of come hack on it. Yeah. And the same applies to Mac
+
+00:11:20.840 --> 00:11:25.199
+OS. But I don't know any concrete details about who's
+
+00:11:25.200 --> 00:11:28.079
+currently working on it. I can't recollect any details on
+
+00:11:28.080 --> 00:11:29.439
+who's currently working on what.
+
+00:11:29.440 --> 00:11:35.279
+Okay. And that leaves us with the last question of the day.
+
+NOTE Q: Is there a best practice on what Org to use when following emacs-latest?
+
+00:11:35.280 --> 00:11:38.159
+I'm a bit confused about what version of Org that I should
+
+00:11:38.160 --> 00:11:40.919
+write towards because there's Org in Emacs, the one that
+
+00:11:40.920 --> 00:11:44.279
+ships built-in. There's the one in ELPA. There's the one in
+
+00:11:44.280 --> 00:11:48.519
+Org, probably the Org ELPA, I assume. Is there a best
+
+00:11:48.520 --> 00:11:51.959
+practice on what Org to use when following Emacs latest?
+
+00:11:51.960 --> 00:11:58.919
+when following us latest. It depends on, I think, my rough
+
+00:11:58.920 --> 00:12:02.559
+heuristic is if you do use Org a lot and if you follow the
+
+00:12:02.560 --> 00:12:06.279
+newest features, then use the version on Elpa, because the
+
+00:12:06.280 --> 00:12:09.959
+Elpa version should be the most up-to-date one. The Org Elpa
+
+00:12:09.960 --> 00:12:14.999
+was deprecated, to my knowledge. If that seems true, please
+
+00:12:15.000 --> 00:12:18.319
+someone interrupt me before I make a fool of myself.
+
+00:12:18.320 --> 00:12:24.519
+No one's done that yet.
+
+00:12:24.520 --> 00:12:29.519
+I think a couple of years ago there were chats and then we
+
+00:12:29.520 --> 00:12:33.999
+deprecated the all contrib ELPA, but I think all the ELPA is
+
+00:12:34.000 --> 00:12:40.759
+still alive. I didn't know that about that. Okay, in that
+
+00:12:40.760 --> 00:12:44.839
+case, that relativizes how absolute my answer is.
+
+00:12:44.840 --> 00:12:49.559
+Personally, I just use the version in Emacs, which is
+
+00:12:49.560 --> 00:12:53.399
+bundled with Emacs, which is regularly updated on master
+
+00:12:53.400 --> 00:12:58.319
+whenever there's a release. But that might take maybe, it
+
+00:12:58.320 --> 00:13:03.559
+might be a short time behind the ELPA version, or the other
+
+00:13:03.560 --> 00:13:11.879
+ELPA, the Org ELPA, which we mentioned. But I'm a very light
+
+00:13:11.880 --> 00:13:16.119
+Org mode user, so please don't take my word for that one. No,
+
+00:13:16.120 --> 00:13:23.439
+and I'm happy to come to you. Yeah. I
+
+00:13:23.440 --> 00:13:27.719
+feel like we lost Leo again. OK. Well, that's all right. I
+
+00:13:27.720 --> 00:13:31.279
+wanted a bite at that, Apple. I'm a little bit. Yeah, I also
+
+00:13:31.280 --> 00:13:34.239
+describe myself as a light org user, but somehow your
+
+00:13:34.240 --> 00:13:37.159
+comment made me think, well, maybe I do use it just a little
+
+00:13:37.160 --> 00:13:41.719
+bit more than you, Philip.
+
+00:13:41.720 --> 00:13:45.359
+From my standpoint, I'm using it as a technical basis for
+
+00:13:45.360 --> 00:13:49.959
+dungeon mode in order to keep the game notes for the games
+
+00:13:49.960 --> 00:13:52.479
+that are made using this game engine I'm making that I talked
+
+00:13:52.480 --> 00:13:56.079
+about a few years ago. As soon as you said technical grounds,
+
+00:13:56.080 --> 00:13:59.319
+you definitely use it more. Right, right. So I've studied
+
+00:13:59.320 --> 00:14:04.159
+its internals a bit, and I have my own thoughts about this or
+
+00:14:04.160 --> 00:14:06.959
+that. But of course, I'm rolling with the punches because
+
+00:14:06.960 --> 00:14:10.119
+I'm just grateful that the bear dances. What an amazing
+
+00:14:10.120 --> 00:14:14.519
+thing is Org Mode. But Leo knows far more than me,
+
+00:14:14.520 --> 00:14:18.359
+conveniently having his stage right here, so he can't
+
+00:14:18.360 --> 00:14:22.359
+defend himself from this. But I've had thoughts around this
+
+00:14:22.360 --> 00:14:28.559
+space. Are you back, Leo? Yeah, sorry, I'm back. You save us
+
+00:14:28.560 --> 00:14:33.479
+all. Maybe closing remarks. I was trying to clear my throat
+
+00:14:33.480 --> 00:14:36.079
+to be very inconspicuous about me coming back, but
+
+00:14:36.080 --> 00:14:39.319
+apparently I was ousted. Yeah, I was trying to answer the
+
+00:14:39.320 --> 00:14:42.239
+question and I was trying to desperately save you from
+
+00:14:42.240 --> 00:14:45.999
+answering, Philip, because yes, the thing about Org Mode is
+
+00:14:46.000 --> 00:14:48.879
+that if you are the kind of people who tend to check out master
+
+00:14:48.880 --> 00:14:51.919
+on Org Mode, generally it's roughly pretty stable. Like
+
+00:14:51.920 --> 00:14:54.319
+when we were working with Org Element and stuff like this,
+
+00:14:54.320 --> 00:14:56.479
+Perhaps there were some elements of stability which
+
+00:14:56.480 --> 00:14:59.199
+weren't there quite yet, but usually now it's pretty
+
+00:14:59.200 --> 00:15:02.039
+stable. So I think that if you are really excited about
+
+00:15:02.040 --> 00:15:04.639
+contributing to Org Mode and stuff like this, I think there
+
+00:15:04.640 --> 00:15:08.199
+isn't all that many risks to just checking out Org Mode
+
+00:15:08.200 --> 00:15:10.999
+Master, so cloning the repository and just keeping up to
+
+00:15:11.000 --> 00:15:15.119
+date. Otherwise, ELPA is a fairly safe bet if you want to have
+
+00:15:15.120 --> 00:15:19.839
+the latest stable version. And we've got a question about
+
+00:15:19.840 --> 00:15:24.759
+[??] as with Emacs itself. You can follow whatever is
+
+00:15:24.760 --> 00:15:28.519
+published in your package archives or in your system
+
+00:15:28.520 --> 00:15:32.399
+distribution package manager. You can build it yourself if
+
+00:15:32.400 --> 00:15:36.839
+you want to contribute and fix bugs, add features, and so on.
+
+00:15:36.840 --> 00:15:40.399
+Yeah, and I don't think perhaps a little more with Emacs,
+
+00:15:40.400 --> 00:15:43.439
+because the features that tends to get introduced in Emacs
+
+00:15:43.440 --> 00:15:48.039
+are slightly more wild. Not wild in the sense that they are
+
+00:15:48.040 --> 00:15:50.679
+less stable, but wild in the sense that they tend to change a
+
+00:15:50.680 --> 00:15:54.119
+lot more stuff. The core of Org, at least during Bastien's
+
+00:15:54.120 --> 00:15:56.879
+maintenance ship, was very stable when you think about it.
+
+00:15:56.880 --> 00:15:59.719
+So things might change with Ihor right now in terms of how he
+
+00:15:59.720 --> 00:16:02.839
+wants to change some of the core behaviors, but it's usually
+
+00:16:02.840 --> 00:16:06.079
+pretty stable. And whether you use the latest major
+
+00:16:06.080 --> 00:16:09.159
+version, the latest minor version, things are probably
+
+00:16:09.160 --> 00:16:11.679
+going to be pretty stable. It's like you heard me while you
+
+00:16:11.680 --> 00:16:16.199
+were offline. And I do agree with that, in case you might have
+
+00:16:16.200 --> 00:16:18.319
+heard both our remarks and think we're talking different
+
+00:16:18.320 --> 00:16:22.439
+angles. Actually, I think we would tend to agree on this, Leo
+
+00:16:22.440 --> 00:16:26.759
+and I. For the record, when I'm saying, oh, I have to go keep up
+
+00:16:26.760 --> 00:16:30.719
+with org, that's because org grows behaviors that I've got
+
+00:16:30.720 --> 00:16:34.639
+my own. I had to figure out at some point my own way to do it, and
+
+00:16:34.640 --> 00:16:38.119
+now I'm learning how it's done, right? So I'm like, in my
+
+00:16:38.120 --> 00:16:41.279
+abstraction, blah, right? And those conversations
+
+00:16:41.280 --> 00:16:44.279
+usually end at, and somebody else took the time to figure out
+
+00:16:44.280 --> 00:16:48.039
+how to actually make Emacs do that. Go be quiet. And I do, and I
+
+00:16:48.040 --> 00:16:52.999
+do consider that under Bastien's tenure, it has been quite
+
+00:16:53.000 --> 00:16:57.039
+stable. We might notice the occasional like, oh, this
+
+00:16:57.040 --> 00:17:00.519
+highlights now and that didn't, right? But very often, very
+
+00:17:00.520 --> 00:17:03.599
+infrequently is it breaking my workflow as a user, any of it.
+
+00:17:03.600 --> 00:17:07.799
+It's interesting to me that this mirrors my experience with
+
+00:17:07.800 --> 00:17:12.679
+Emacs itself, where I think, in my perception, Emacs master
+
+00:17:12.680 --> 00:17:17.199
+is very stable and I might notice the slight changes between
+
+00:17:17.200 --> 00:17:21.839
+git pulls. But otherwise, in my experience, Org mode
+
+00:17:21.840 --> 00:17:24.879
+suddenly changes something, I don't know what changed or
+
+00:17:24.880 --> 00:17:29.439
+what's going on or what caused it, and it seemed... I
+
+00:17:29.440 --> 00:17:33.719
+perceive it as being a sudden uncontrolled change or
+
+00:17:33.720 --> 00:17:36.239
+something. I think that's apt. Right. That gets
+
+00:17:36.240 --> 00:17:40.159
+right at it. If we're following, if we're pulling for more
+
+00:17:40.160 --> 00:17:42.759
+pretty regularly, cronjob every night or pulling a few
+
+00:17:42.760 --> 00:17:44.639
+times a day or something like that, we're going to the
+
+00:17:44.640 --> 00:17:48.639
+internals yeah, we'll have a different experience than,
+
+00:17:48.640 --> 00:17:51.959
+you know, if we only remember to update Org once every four
+
+00:17:51.960 --> 00:17:54.759
+months. It really pays to stick with everything. And
+
+00:17:54.760 --> 00:17:59.199
+suddenly lots of things might change. Whatever broke in my
+
+00:17:59.200 --> 00:18:03.439
+own config, right? And so a lot of, like a lot of things within
+
+00:18:03.440 --> 00:18:06.759
+Emacs, but also within the free software tool chain, it's
+
+00:18:06.760 --> 00:18:09.559
+how much you're going to invent in the config, invest in the
+
+00:18:09.560 --> 00:18:14.199
+config, might limit you know, and maintaining your config
+
+00:18:14.200 --> 00:18:17.199
+may limit the depth of how far it makes sense for you to go with
+
+00:18:17.200 --> 00:18:21.759
+the tool at any given point in time. Actually just looked up
+
+00:18:21.760 --> 00:18:25.279
+my org config and it's four, I said four options, user
+
+00:18:25.280 --> 00:18:29.239
+options. So that's, if that's the measurements of org
+
+00:18:29.240 --> 00:18:32.119
+expertise, that's my level, it's four.
+
+00:18:32.120 --> 00:18:38.559
+That's all good then. Four of four, I'm assuming that is,
+
+00:18:38.560 --> 00:18:44.279
+right? Four of what? What was the metric there, four of like a
+
+00:18:44.280 --> 00:18:48.119
+thousand? Four out of the number of user options that Word
+
+00:18:48.120 --> 00:18:54.239
+provides. Oh, okay, I see. Four, yeah, more like 10,000. I'm
+
+00:18:54.240 --> 00:18:59.079
+there. Yeah. All right. On that note, I suggest we move to
+
+00:18:59.080 --> 00:19:00.999
+what's close because it's fairly late for me and I need to
+
+00:19:01.000 --> 00:19:03.119
+sleep. And Philip, I think it's pretty late for you as well,
+
+00:19:03.120 --> 00:19:07.239
+isn't it? I'm in Germany, so it's about... So it is pretty
+
+00:19:07.240 --> 00:19:09.799
+late. It's the same time zone as me. It's 11 p.m. for you.
+
+00:19:09.800 --> 00:19:16.399
+Truly, yeah. Yeah, so I suggest we both take the chance to go
+
+00:19:16.400 --> 00:19:20.359
+to bed as soon as we can. But Philip, thank you so much for
+
+00:19:20.360 --> 00:19:22.759
+both the presentation and also the answers that you
+
+00:19:22.760 --> 00:19:26.119
+provided to us and the nice little chat we had at the end. We
+
+00:19:26.120 --> 00:19:29.519
+look forward to seeing you again next year, perhaps for
+
+00:19:29.520 --> 00:19:34.159
+Emacs 31. I'm not sure. I was chatting with wasamasa
+
+00:19:34.160 --> 00:19:37.679
+trying to make prognostics about when Emacs 30 is going to be
+
+00:19:37.680 --> 00:19:40.839
+released. There's a pre-release coming soon. I should have
+
+00:19:40.840 --> 00:19:46.719
+mentioned that earlier. Well, there you go. Gone.
+
+00:19:46.720 --> 00:19:51.839
+All right. Well, thank you so much, Philip. We'll be moving
+
+00:19:51.840 --> 00:19:54.479
+towards close. Give us about two minutes to get set up in the
+
+00:19:54.480 --> 00:19:58.439
+other room. And Philip, we'll see you next time. Goodbye.
+
+00:19:58.440 --> 00:20:02.160
+Bye-bye. Thank you.
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-guile--beguiling-emacs-guileemacs-relaunched--robin-templeton--answers.vtt b/2024/captions/emacsconf-2024-guile--beguiling-emacs-guileemacs-relaunched--robin-templeton--answers.vtt
new file mode 100644
index 00000000..510e556e
--- /dev/null
+++ b/2024/captions/emacsconf-2024-guile--beguiling-emacs-guileemacs-relaunched--robin-templeton--answers.vtt
@@ -0,0 +1,720 @@
+WEBVTT
+
+00:00:00.000 --> 00:00:08.119
+All right. Hey, thanks for bearing with us there. We had a
+
+00:00:08.120 --> 00:00:11.239
+couple of bumps in the road, a cross between a couple of
+
+00:00:11.240 --> 00:00:13.479
+different versions of our program that we deliver here,
+
+00:00:13.480 --> 00:00:17.959
+different ways that we bring this stream together between
+
+00:00:17.960 --> 00:00:22.359
+the recorded content that that speakers are putting
+
+00:00:22.360 --> 00:00:26.879
+together in advance in the live content, such as what you're
+
+00:00:26.880 --> 00:00:31.039
+seeing right here. So thanks go to Sacha and Leo, and
+
+00:00:31.040 --> 00:00:34.359
+everybody behind the stages gluing it all together. And
+
+00:00:34.360 --> 00:00:40.199
+we're back here now, and I'm speaking with Robin, who us
+
+00:00:40.200 --> 00:00:42.799
+ready to take on some of your questions and address some of
+
+00:00:42.800 --> 00:00:46.879
+the comments over here on the etherpad. If you want to jump in
+
+00:00:46.880 --> 00:00:51.319
+there, there's links in the chat. And thanks so much, Robin,
+
+00:00:51.320 --> 00:00:53.999
+for your talk. And it's also been a pleasure chatting with
+
+00:00:54.000 --> 00:00:57.919
+you just a little bit over the last couple of months on IRC.
+
+00:00:57.920 --> 00:01:33.319
+Yeah, absolutely. Great meeting you.
+
+00:01:33.320 --> 00:01:37.679
+All right. All right, everyone. I think I am streaming now.
+
+00:01:37.680 --> 00:01:42.439
+So let's look at it. Let's see. I see the IRC scrolling. So
+
+00:01:42.440 --> 00:01:47.199
+let's see where that's going. Yes, the Common Lisp is what I
+
+00:01:47.200 --> 00:01:50.519
+thought would piss people off. And because it's not part of
+
+00:01:50.520 --> 00:01:54.239
+either community, but I think it would be a good compromise
+
+00:01:54.240 --> 00:01:57.839
+for building a Lisp into a language that's more suitable for
+
+00:01:57.840 --> 00:02:01.879
+building large systems like the kind that we are building in
+
+00:02:01.880 --> 00:02:07.279
+Emacs today. I also left out an important part of the talk,
+
+00:02:07.280 --> 00:02:12.079
+which is part of the motivation for transitioning from C to
+
+00:02:12.080 --> 00:02:15.599
+Lisp. And that's the performance characteristics
+
+00:02:15.600 --> 00:02:19.399
+fundamentally change when you get a modern and high
+
+00:02:19.400 --> 00:02:23.559
+performance Lisp system involved. it starts getting less
+
+00:02:23.560 --> 00:02:27.799
+practical to just call out to C to speed up every operation.
+
+00:02:27.800 --> 00:02:31.559
+Among other things, you lose the ability to use more
+
+00:02:31.560 --> 00:02:34.759
+advanced control structures, like the limited
+
+00:02:34.760 --> 00:02:40.039
+continuations. And you also have to pay the overhead of
+
+00:02:40.040 --> 00:02:43.879
+calling out to our foreign function. So it gets to be an
+
+00:02:43.880 --> 00:02:47.879
+increasingly better deal to optimize your list
+
+00:02:47.880 --> 00:02:52.719
+implementation and provide ways for building faster list
+
+00:02:52.720 --> 00:02:55.879
+programs, such as type annotations, once you've gotten
+
+00:02:55.880 --> 00:03:01.479
+over a certain threshold of performance.
+
+NOTE Q: About fibers: My understanding is that the problem with making Elisp concurrent is that none of the data structures (buffer, cons, vector, window etc) are concurrency-safe.  How do fibers help with this?
+
+00:03:01.480 --> 00:03:07.359
+I'm going to look at the pad. Here we go. The first question is
+
+00:03:07.360 --> 00:03:12.519
+about fibers and whether they help with making Elisp
+
+00:03:12.520 --> 00:03:18.279
+concurrent in terms of its data structures. Yes, that's
+
+00:03:18.280 --> 00:03:23.879
+absolutely correct. Fibers by themselves do not provide
+
+00:03:23.880 --> 00:03:26.799
+thread safety for any of the existing Emacs data
+
+00:03:26.800 --> 00:03:32.879
+structures. What they are useful for is building things
+
+00:03:32.880 --> 00:03:38.199
+that don't use Emacs data structures, say a network client
+
+00:03:38.200 --> 00:03:44.559
+that reads input from a stream or in scheme, a port or a stream
+
+00:03:44.560 --> 00:03:49.679
+instead of a buffer. And we can also take a look at options for
+
+00:03:49.680 --> 00:03:54.199
+making more Emacs features concurrency safe or thread
+
+00:03:54.200 --> 00:03:58.079
+safe. For example, we could introduce the idea of a thread
+
+00:03:58.080 --> 00:04:03.039
+local buffer that didn't require locks for sharing between
+
+00:04:03.040 --> 00:04:09.239
+different threads. And I'm not sure how that would develop,
+
+00:04:09.240 --> 00:04:12.319
+but I'm sure the Emacs maintainers already have some ideas
+
+00:04:12.320 --> 00:04:17.519
+in this direction. Fibers will basically provide a
+
+00:04:17.520 --> 00:04:22.159
+high-performance system that you can use apart from
+
+00:04:22.160 --> 00:04:28.079
+ordinary Emacs-less constructs.
+
+NOTE Q: Do you have a rough idea of how much of Guile is written in C?
+
+00:04:28.080 --> 00:04:34.839
+Let's see. We have another question. Emacs is roughly 25% C.
+
+00:04:34.840 --> 00:04:38.839
+How much of Guile is in C?
+
+00:04:38.840 --> 00:04:45.679
+Well, part of my point about C is not so much that there, well,
+
+00:04:45.680 --> 00:04:50.279
+obviously, I phrased it a little provocatively, but the
+
+00:04:50.280 --> 00:04:54.719
+problem is not so much that there is C, but that there is so
+
+00:04:54.720 --> 00:05:00.279
+much C involved in every single layer of the application.
+
+00:05:00.280 --> 00:05:04.559
+So, for example, we're limited in our ability to use tools
+
+00:05:04.560 --> 00:05:08.159
+like limit continuations, which can be used to express
+
+00:05:08.160 --> 00:05:13.599
+buffer local variable binding in a few dozen lines, because
+
+00:05:13.600 --> 00:05:21.839
+Emacs has so much calling back and forth between guile and C,
+
+00:05:21.840 --> 00:05:26.599
+due to so much basic functionality being in primitive C
+
+00:05:26.600 --> 00:05:34.119
+subroutines. So that's one issue apart from the question of
+
+00:05:34.120 --> 00:05:38.359
+how much is in a particular language. To answer the question
+
+00:05:38.360 --> 00:05:45.879
+about Guile, Guile has about 165,000 lines of scheme code
+
+00:05:45.880 --> 00:05:51.599
+and about 160,000 lines of C code, so it's about half and
+
+00:05:51.600 --> 00:05:55.879
+half. And that shouldn't really be surprising given that it
+
+00:05:55.880 --> 00:06:00.359
+is actually focused on low-level things like building a
+
+00:06:00.360 --> 00:06:05.079
+high-performance bytecode compiler, and a just-in-time
+
+00:06:05.080 --> 00:06:09.719
+compiler, and so on, as well as providing its own fairly
+
+00:06:09.720 --> 00:06:14.999
+rich, but still far less complete than Emacs's standard
+
+00:06:15.000 --> 00:06:19.239
+library, in terms of Ice9 and other system libraries
+
+NOTE Q: A Common Lisp implementation for Guile sounds really cool! Is there already work on this underway?
+
+00:06:19.240 --> 00:06:24.359
+shipped with Guile. The next question is on a Common Lisp
+
+00:06:24.360 --> 00:06:27.759
+implementation for Guile, and whether work on it is
+
+00:06:27.760 --> 00:06:33.079
+underway. In fact, work on it is already underway. I've been
+
+00:06:33.080 --> 00:06:36.399
+working on it on and off in my spare time for a couple of years
+
+00:06:36.400 --> 00:06:40.039
+now. I've gotten, I think, a couple of chapters of the
+
+00:06:40.040 --> 00:06:43.519
+hyperspectin, if you want to measure it that way. But I've
+
+00:06:43.520 --> 00:06:51.719
+been focusing my work more on research and on what we need to
+
+00:06:51.720 --> 00:06:57.399
+do to have a LISP environment, a polyglot LISP environment,
+
+00:06:57.400 --> 00:07:02.759
+wherein the features of Common Lisp and Scheme and Emacs
+
+00:07:02.760 --> 00:07:08.919
+Lisp can all work easily and ergonomically together. So
+
+00:07:08.920 --> 00:07:13.879
+this involves things like the question of Lisps having
+
+00:07:13.880 --> 00:07:22.079
+Lisp1s versus Lisp2s. That is, a Lisp1-like scheme has one
+
+00:07:22.080 --> 00:07:27.599
+namespace, like every variable is a single name that can
+
+00:07:27.600 --> 00:07:31.999
+refer to one value, whereas in Lisp2s like EmacsLisp,
+
+00:07:32.000 --> 00:07:37.399
+symbols can have different definitions as functions and as
+
+00:07:37.400 --> 00:07:41.119
+variables, as well as other namespaces like property
+
+00:07:41.120 --> 00:07:45.719
+lists. So Kent Pittman has some interesting thoughts on
+
+00:07:45.720 --> 00:07:51.039
+this that I've been looking into. Another issue is the
+
+00:07:51.040 --> 00:07:57.519
+interaction between package and module systems. So I don't
+
+00:07:57.520 --> 00:08:01.839
+have really anything ready to publish just yet on this, but I
+
+00:08:01.840 --> 00:08:05.279
+have been looking into the background issues of
+
+00:08:05.280 --> 00:08:08.119
+integrating this into Guile in a useful way.
+
+00:08:08.120 --> 00:08:15.719
+And let's see, one other thing I was going to mention.
+
+00:08:15.720 --> 00:08:27.679
+Okay, I've lost it. But yeah, there is some work already. And
+
+00:08:27.680 --> 00:08:30.399
+if people are interested in moving Emacs in this direction,
+
+00:08:30.400 --> 00:08:34.479
+then we'll certainly start working on it in earnest.
+
+NOTE Q: Did switching from guile 2 to 3 give any performance benefits?
+
+00:08:34.480 --> 00:08:41.119
+Another question, did switching from Guile 2 to 3 give any
+
+00:08:41.120 --> 00:08:46.279
+performance benefits? Well, honestly, we're not really
+
+00:08:46.280 --> 00:08:50.759
+benchmarking stuff here because Guile Emacs has so much
+
+00:08:50.760 --> 00:08:55.759
+overhead from structuring the compiler to closely conform
+
+00:08:55.760 --> 00:08:59.879
+to Emacs in terms of like even things as simple as metadata
+
+00:08:59.880 --> 00:09:03.879
+layout for variable information.
+
+00:09:03.880 --> 00:09:11.999
+So I haven't actually noticed a perceptual change. I would
+
+00:09:12.000 --> 00:09:15.359
+guess based on the Gabriel benchmark results that is
+
+00:09:15.360 --> 00:09:21.399
+benefited from what somewhat from Gal 3's performance
+
+00:09:21.400 --> 00:09:27.479
+improvements but for Emacs I just don't know yet and working
+
+00:09:27.480 --> 00:09:30.199
+on the compiler's code generation and lowering the
+
+00:09:30.200 --> 00:09:33.719
+overhead is going to be the thing that provides the most
+
+00:09:33.720 --> 00:09:37.319
+return for improving that aspect of Gal Emacs.
+
+00:09:37.320 --> 00:09:54.079
+Let's see, I see SICL mentioned here, as well as SPCL. And it
+
+00:09:54.080 --> 00:09:56.919
+could certainly help with the implementation of
+
+00:09:56.920 --> 00:10:01.519
+Commonwealth and Guile, because a lot of the basic stuff is
+
+00:10:01.520 --> 00:10:05.559
+just providing a new interface to some bit of
+
+00:10:05.560 --> 00:10:08.879
+functionality. Like the sequence library, it's mostly
+
+00:10:08.880 --> 00:10:13.279
+stuff that we already have through SR5 and so on. The
+
+00:10:13.280 --> 00:10:16.879
+difficult, well, not the difficult but the time consuming
+
+00:10:16.880 --> 00:10:21.599
+parts are going to be all the little DSL sitcom on this path
+
+00:10:21.600 --> 00:10:26.999
+packed up inside it like pretty printing format loop and so
+
+00:10:27.000 --> 00:10:32.359
+on. It's for those high-level features that I think we could
+
+00:10:32.360 --> 00:10:34.959
+potentially share code with other Common Lisp
+
+00:10:34.960 --> 00:10:39.039
+implementations. And Common Lisp implementations do tend
+
+00:10:39.040 --> 00:10:43.239
+to be permissively licensed, SPCL's public domain, for
+
+00:10:43.240 --> 00:10:46.439
+example, so there's no barrier to sharing code with them.
+
+NOTE Q: Do you know if the Emacs maintainers are interested in switching to Guile as the engine for Emacs Lisp?
+
+00:10:46.440 --> 00:10:52.719
+There's another question about whether the Emacs
+
+00:10:52.720 --> 00:10:55.679
+maintainers are interested in switching to Guile as the
+
+00:10:55.680 --> 00:10:59.199
+engine for Emacs Lisp. I can't speak for the current
+
+00:10:59.200 --> 00:11:05.439
+maintainers. I can say that people have talked to previous
+
+00:11:05.440 --> 00:11:10.439
+Emacs maintainers about the whole idea, and their attitude
+
+00:11:10.440 --> 00:11:15.479
+was generally cautiously optimistic. As in, it's not
+
+00:11:15.480 --> 00:11:18.799
+something they, it's somewhat political, they didn't want
+
+00:11:18.800 --> 00:11:23.479
+to get into it, but they didn't think that it was a bad idea,
+
+00:11:23.480 --> 00:11:25.919
+and they wanted to know more about how it might evolve in the
+
+00:11:25.920 --> 00:11:31.879
+future. I can comment that Eli Zaretsky, who I believe is the
+
+00:11:31.880 --> 00:11:36.879
+current Emacs maintainer, is very concerned about
+
+00:11:36.880 --> 00:11:44.679
+cross-platform compatibility. And so if I can guess at his
+
+00:11:44.680 --> 00:11:48.519
+priorities correctly, I think that that's something that
+
+00:11:48.520 --> 00:11:52.599
+we'll have to make sure is rock solid before we propose any
+
+00:11:52.600 --> 00:11:58.359
+kind of upstreaming of Gala Emacs. but in general
+
+00:11:58.360 --> 00:12:03.719
+maintainers have been cautious but curious. So I just
+
+00:12:03.720 --> 00:12:06.719
+wanted to break in and note at this point that as lives I
+
+00:12:06.720 --> 00:12:09.519
+didn't sorry I couldn't do so more gracefully while we were
+
+00:12:09.520 --> 00:12:13.439
+still on stream but I wanted to let you know that just as of 10
+
+00:12:13.440 --> 00:12:17.399
+seconds ago or so we've had to cut away into our next talk but
+
+00:12:17.400 --> 00:12:22.199
+we can keep going here as long as we like. Okay, let's wrap up.
+
+00:12:22.200 --> 00:12:25.399
+There's only a couple questions left on the pad, so I'll
+
+00:12:25.400 --> 00:12:29.999
+answer those, and then I'll be available on IRC. So, the next
+
+NOTE Q: Do you think guile-emacs will be able to use or (collaborate with) some of the other awesome projects around Emacs Lisp?
+
+00:12:30.000 --> 00:12:33.319
+question is whether Guile Emacs will be able to collaborate
+
+00:12:33.320 --> 00:12:35.959
+with projects like Gypsum and
+
+00:12:35.960 --> 00:12:44.319
+the native compilation projects or the pre-scheme
+
+00:12:44.320 --> 00:12:48.039
+efforts. Oh, yes, that is one of the things I forgot to bring
+
+00:12:48.040 --> 00:12:53.199
+up in my talk. So, first of all, Gypsum is approaching a
+
+00:12:53.200 --> 00:12:58.199
+similar idea from a different direction. And we clearly
+
+00:12:58.200 --> 00:13:03.919
+have a different focus. My focus is on improving Emacs Lisp
+
+00:13:03.920 --> 00:13:09.279
+and making Emacs itself better by integrating Guile Elisp
+
+00:13:09.280 --> 00:13:15.159
+and Emacs, rather than replacing eLisp or deprecating it in
+
+00:13:15.160 --> 00:13:20.159
+any way. But given gypsum's requirements, I do think that we
+
+00:13:20.160 --> 00:13:26.439
+could share a lot of code required for emulating basic Emacs
+
+00:13:26.440 --> 00:13:29.839
+functionality. And this could even become interesting if
+
+00:13:29.840 --> 00:13:35.799
+we get to the point of rewriting parts of Emacs in Lisp. With
+
+00:13:35.800 --> 00:13:41.279
+respect to the native compilation effort, I'm familiar
+
+00:13:41.280 --> 00:13:45.879
+with it. I'm not that impressed with the results of it. It's a
+
+00:13:45.880 --> 00:13:52.359
+very impressive effort, but as far as I can tell, it's
+
+00:13:52.360 --> 00:13:57.239
+accelerating a bytecode interpreter that just simply has
+
+00:13:57.240 --> 00:14:02.719
+an out-of-date design, to be quite blunt. It's possible
+
+00:14:02.720 --> 00:14:08.919
+that Emacs's JIT has ideas that Guile should adopt, like
+
+00:14:08.920 --> 00:14:14.039
+perhaps libgccjit might perhaps be better than GNU
+
+00:14:14.040 --> 00:14:16.999
+Lightning, which is a relatively simple JIT that Guile
+
+00:14:17.000 --> 00:14:17.639
+uses.
+
+00:14:17.640 --> 00:14:25.839
+But it doesn't have to have a direct relationship to Guile
+
+00:14:25.840 --> 00:14:31.159
+Emacs. And as far as pre-scheme goes, I have been watching
+
+00:14:31.160 --> 00:14:36.199
+Flat Watson's work on pre-scheme with great interest
+
+00:14:36.200 --> 00:14:39.999
+because Scheme 48 used to be my favorite implementation.
+
+00:14:40.000 --> 00:14:44.919
+And I do think that it could be, it's a tool that we should look
+
+00:14:44.920 --> 00:14:47.879
+at when we're thinking about moving functionality into
+
+00:14:47.880 --> 00:14:53.199
+Lisp and could certainly make it easier to upstream some of
+
+00:14:53.200 --> 00:14:54.519
+the work we may end up doing.
+
+00:14:54.520 --> 00:15:04.199
+All right, do we have more questions?
+
+NOTE Q: SBCL, ...You mentioned Robert Strandh's SICL along with SBCL---does that work help with the implementation of CL in Guile?
+
+00:15:04.200 --> 00:15:13.159
+There's a question about SICL and SBCL. I think I answered
+
+00:15:13.160 --> 00:15:17.519
+that earlier. It should help us implement Common Lisp when
+
+00:15:17.520 --> 00:15:24.999
+it comes to high-level features and the various large
+
+00:15:25.000 --> 00:15:28.759
+subcomponents of Common Lisp. Another important factor is
+
+00:15:28.760 --> 00:15:32.279
+that Guile already has decent support for the Common Lisp
+
+00:15:32.280 --> 00:15:35.799
+object system. Without that, it would be far more
+
+00:15:35.800 --> 00:15:41.919
+difficult. But I do expect that we can share code with other
+
+00:15:41.920 --> 00:15:44.799
+Common Lisp implementations. I've personally rated
+
+00:15:44.800 --> 00:15:49.199
+Common Lisp compiler code when working on Guile Hoot, for
+
+00:15:49.200 --> 00:15:52.959
+example. So there are definitely places where they can
+
+00:15:52.960 --> 00:15:54.039
+contribute.
+
+00:15:54.040 --> 00:16:02.839
+Regarding the Hoot project and its relationship to
+
+00:16:02.840 --> 00:16:11.079
+Galimax, it's a purely speculative thing. First of all,
+
+00:16:11.080 --> 00:16:17.079
+Hoot is only tested on Scheme-to-WebAssembly
+
+00:16:17.080 --> 00:16:22.599
+compilations. I've heard some suggestions that some uses
+
+00:16:22.600 --> 00:16:26.439
+of Tree.io may not be compatible with the Hoot compiler. I'm
+
+00:16:26.440 --> 00:16:29.999
+not sure if that's the case or not.
+
+00:16:30.000 --> 00:16:41.199
+But it is a complete enough project that if Emacs is, say, 90%
+
+00:16:41.200 --> 00:16:45.119
+Lisp, there's only a few thousand lines of C code to
+
+00:16:45.120 --> 00:16:49.159
+implement, then it would be entirely practical to compile
+
+00:16:49.160 --> 00:16:54.159
+Emacs WebAssembly, as long as we had a back end, like one
+
+00:16:54.160 --> 00:16:58.119
+based on the browser's document object model, or some sort
+
+00:16:58.120 --> 00:17:04.439
+of graphical interface through WASI. And that may have some
+
+00:17:04.440 --> 00:17:07.359
+interesting applications for portability to unusual
+
+00:17:07.360 --> 00:17:11.359
+platforms. It may even bring performance advantages in
+
+00:17:11.360 --> 00:17:18.959
+cases where the WebAssembly implementation is connected
+
+00:17:18.960 --> 00:17:22.759
+to a tracing just-in-time compiler, because that may be
+
+00:17:22.760 --> 00:17:26.839
+more appropriate to the high level of dynamism the Emacs
+
+00:17:26.840 --> 00:17:32.439
+list has than the kind of simple template JITs that both
+
+00:17:32.440 --> 00:17:34.519
+Emacs and Guile are using.
+
+00:17:34.520 --> 00:17:39.799
+What a fascinating point. Just to break into active
+
+00:17:39.800 --> 00:17:43.999
+listening a little so this doesn't, to you, feel like you're
+
+00:17:44.000 --> 00:17:46.919
+talking to yourself. I can see from chat and the questions
+
+00:17:46.920 --> 00:17:51.439
+still coming in, you know, comments. You know, it isn't, but
+
+00:17:51.440 --> 00:17:54.999
+I just want you to be able to hear and feel that. Yeah, great,
+
+00:17:55.000 --> 00:18:00.679
+great point there. All right. Thank you. And yes, if there
+
+00:18:00.680 --> 00:18:04.679
+are more questions, keep throwing them at me. I should
+
+00:18:04.680 --> 00:18:07.999
+probably also mention I will have to jump out myself, but the
+
+00:18:08.000 --> 00:18:10.799
+recording will automatically end when we all jump out or
+
+00:18:10.800 --> 00:18:15.199
+just drop a note anywhere, ping me, whatever. And I'll come
+
+00:18:15.200 --> 00:18:18.439
+along and shut off the recording and we'll trim it up before
+
+00:18:18.440 --> 00:18:21.879
+we publish it. I'm looking forward to reading through
+
+00:18:21.880 --> 00:18:30.199
+anything I do miss. Thank you. Sounds good.
+
+00:18:30.200 --> 00:19:08.439
+All right, I'm not seeing changes in the etherpad. So I'm
+
+00:19:08.440 --> 00:19:14.999
+going to close this in maybe 30 seconds if there are no more
+
+00:19:15.000 --> 00:19:21.159
+additions. Thanks, everyone, for the interesting and very
+
+00:19:21.160 --> 00:19:26.399
+pointed questions on some of the most significant areas. I
+
+00:19:26.400 --> 00:19:31.919
+appreciate everyone's feedback. I'm glad this provoked so
+
+00:19:31.920 --> 00:19:33.679
+much curiosity in people.
+
+00:19:33.680 --> 00:19:44.519
+Thank you, janneke.
+
+00:19:44.520 --> 00:19:51.439
+All right, I think we are done with the Q&A session, so I'm
+
+00:19:51.440 --> 00:19:57.199
+going to close this BBB and we can continue with the rest of
+
+00:19:57.200 --> 00:19:58.719
+EmacsConf.
+
+00:19:58.720 --> 00:20:10.160
+You are currently the only person in this conference.
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
new file mode 100644
index 00000000..7c2708d9
--- /dev/null
+++ b/2024/captions/emacsconf-2024-gypsum--gypsum-my-clone-of-emacs-and-elisp-written-in-scheme--ramin-honary--answers.vtt
@@ -0,0 +1,725 @@
+WEBVTT
+
+00:00:00.000 --> 00:00:02.999
+...Troy Hinckley's project that I'm talking about. I was going
+
+00:00:03.000 --> 00:00:08.799
+to mention this in my presentation, but it's possible,
+
+00:00:08.800 --> 00:00:16.359
+theoretically, that Troy Hinckley, his project could be
+
+00:00:16.360 --> 00:00:18.559
+used as a scheme of limitation that actually runs my own
+
+00:00:18.560 --> 00:00:23.759
+version of Emacs. And although, you know, This is
+
+00:00:23.760 --> 00:00:30.719
+completely theoretical, and I don't know how difficult
+
+00:00:30.720 --> 00:00:34.079
+that would be. But if Troy Hinckley implemented enough of
+
+00:00:34.080 --> 00:00:39.879
+the R7-RS standard in Rust, it would theoretically be
+
+00:00:39.880 --> 00:00:46.719
+possible to run the Gypsum editor in Troy Hinckley's own
+
+00:00:46.720 --> 00:00:50.239
+editor. I thought that was kind of interesting, and I
+
+00:00:50.240 --> 00:00:59.119
+thought it was worth mentioning, at least in the questions
+
+00:00:59.120 --> 00:01:12.159
+and answers.
+
+00:01:12.160 --> 00:01:16.199
+I also mentioned this in the presentation. I wanted to see
+
+00:01:16.200 --> 00:01:20.119
+Robin Templeton's project presentation, but
+
+00:01:20.120 --> 00:01:22.399
+unfortunately it's going to be at like four in the morning
+
+00:01:22.400 --> 00:01:26.239
+for me. So I'm going to try and watch that tomorrow, but
+
+00:01:26.240 --> 00:01:29.559
+that's also going to be a very interesting project to keep an
+
+00:01:29.560 --> 00:01:34.039
+eye on if you're interested in Scheme. That's the project
+
+00:01:34.040 --> 00:01:37.519
+where you've got the Guylain interpreter running inside of
+
+00:01:37.520 --> 00:02:04.679
+the Emacs process. It's dynamically linked as a library.
+
+00:02:04.680 --> 00:02:08.759
+I'm ready for questions from anybody. You can ask or you can
+
+00:02:08.760 --> 00:02:32.079
+type. It's up to you.
+
+00:02:32.080 --> 00:02:37.319
+Okay, let me check the etherpad.
+
+00:02:37.320 --> 00:02:41.159
+Let's see here.
+
+00:02:41.160 --> 00:02:42.719
+I'm not sure if I'm doing that right.
+
+00:02:42.720 --> 00:02:54.199
+Let me check one more time. Oh, there it goes.
+
+00:02:54.200 --> 00:03:00.079
+Let's see, so this is...
+
+00:03:00.080 --> 00:03:02.239
+I didn't know about that first bit of history. Oh, I've heard
+
+00:03:02.240 --> 00:03:06.119
+RMS say that Scheme Guile is just a nicer Lisp, but I didn't
+
+00:03:06.120 --> 00:03:09.079
+know there were concrete talks attempts to use Guile for
+
+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:14.320 --> 00:03:17.439
+I'm curious to know how the hell Guile Emacs deals with all the
+
+00:03:17.440 --> 00:03:21.359
+dynamically scoped modules out there. Is there any effort
+
+00:03:21.360 --> 00:03:29.759
+to automatically modularize and name? Let's see.
+
+00:03:29.760 --> 00:03:40.919
+That might be a better question for Robin Templeton. In my
+
+00:03:40.920 --> 00:03:44.639
+own project,
+
+00:03:44.640 --> 00:03:49.399
+there's no module system for Emacs Lisp. There is a module
+
+00:03:49.400 --> 00:03:55.559
+system for Scheme. And the Emacs Lisp interpreter runs in
+
+00:03:55.560 --> 00:04:01.599
+its own environment. the require system or whatever module
+
+00:04:01.600 --> 00:04:06.359
+system that Emacs has, once it's implemented, all of that
+
+00:04:06.360 --> 00:04:09.759
+would just happen inside of the Emacs Lisp environment,
+
+00:04:09.760 --> 00:04:12.399
+which is inside of the Scheme environment. And
+
+00:04:12.400 --> 00:04:21.479
+environments are objects in Scheme.
+
+00:04:21.480 --> 00:04:26.399
+I think a more difficult question is how to handle
+
+00:04:26.400 --> 00:04:33.279
+threading, and Scheme has very good threading built in, in
+
+00:04:33.280 --> 00:04:34.839
+Serphe-18[??].
+
+00:04:34.840 --> 00:04:43.399
+But I don't think it will be easy to write Emacs Lisp form
+
+00:04:43.400 --> 00:04:48.479
+bindings to the Scheme multi-threading implementation.
+
+00:04:48.480 --> 00:04:52.279
+Emacs Lisp was just not cut out for that kind of thing. So I
+
+00:04:52.280 --> 00:04:56.559
+think each Emacs Lisp, you could, I suppose, have multiple
+
+00:04:56.560 --> 00:05:00.039
+threads each running their own Emacs Lisp environment.
+
+00:05:00.040 --> 00:05:04.999
+Scheme would make that very simple to do.
+
+00:05:05.000 --> 00:05:08.759
+And then there'd just be a question of how you would get those
+
+00:05:08.760 --> 00:05:11.679
+different interpreters to communicate with each other,
+
+00:05:11.680 --> 00:05:16.279
+perhaps using the same protocol that's used by the Emacs
+
+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?
+
+00:05:23.640 --> 00:05:26.839
+Would it be possible to support a GUI toolkit other than the
+
+00:05:26.840 --> 00:05:31.319
+GTK? Like, how is it still supports Lucid? Yes, this is
+
+00:05:31.320 --> 00:05:36.999
+absolutely a goal of the project. I'm trying to keep the back
+
+00:05:37.000 --> 00:05:41.599
+end separate as possible. The scheme has what you call
+
+00:05:41.600 --> 00:05:45.239
+parameters. And these are like global variables that are
+
+00:05:45.240 --> 00:05:50.519
+still somewhat thread safe. And every call to the GUI goes
+
+00:05:50.520 --> 00:05:58.199
+through a parameter. So the Emacs, the interpreter and the
+
+00:05:58.200 --> 00:06:01.679
+editor logic is all in one module. And then that module calls
+
+00:06:01.680 --> 00:06:06.319
+out into a separate GUI module. And then you can implement
+
+00:06:06.320 --> 00:06:11.599
+different GUI modules. So you could have one for GTK3, one
+
+00:06:11.600 --> 00:06:16.879
+for GTK4, if you want to write the extern C bindings around Qt
+
+00:06:16.880 --> 00:06:21.199
+or full tick, that would certainly be possible as well. It
+
+00:06:21.200 --> 00:06:25.919
+would be nice maybe to have an SDL implementation based
+
+00:06:25.920 --> 00:06:30.999
+maybe on Chikiti or some kind of immediate mode GUI,
+
+00:06:31.000 --> 00:06:37.399
+something like that. But definitely GTK3 through Guile GI
+
+00:06:37.400 --> 00:06:41.319
+is the reference implementation. Things start there. But
+
+00:06:41.320 --> 00:06:43.999
+I'm very interested in supporting other GUIs, yes. Let's
+
+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:46.040 --> 00:06:50.759
+Question, do you plan to provide improvements to ELisp
+
+00:06:50.760 --> 00:06:54.519
+as a language or focus on a compatibility layer to
+
+00:06:54.520 --> 00:06:57.999
+facilitate all new extensions in Scheme? Yeah, the second
+
+00:06:58.000 --> 00:07:04.719
+one. I want to move off to Scheme. I would like for this
+
+00:07:04.720 --> 00:07:08.999
+project to try and keep up to date with each new release of
+
+00:07:09.000 --> 00:07:13.799
+Emacs and Emacs Lisp. That's a difficult moving target to
+
+00:07:13.800 --> 00:07:18.639
+follow, I realize. But to the greatest extent possible, any
+
+00:07:18.640 --> 00:07:25.239
+new features to Emacs Lisp will be pulled in from GNU Emacs.
+
+00:07:25.240 --> 00:07:28.599
+If we happen to be able to implement something cool in
+
+00:07:28.600 --> 00:07:31.639
+Scheme, and be able to port it over to Emacs Lisp, then sure,
+
+00:07:31.640 --> 00:07:35.799
+it'd be nice to be able to upload or to submit that upstream to
+
+00:07:35.800 --> 00:07:43.079
+the GNU Emacs. But I think I would prefer to have new features
+
+00:07:43.080 --> 00:07:47.799
+written in Scheme. I would like this gypsum to be more of a
+
+00:07:47.800 --> 00:07:51.479
+Scheme app platform that just happens to be able to also run
+
+00:07:51.480 --> 00:07:56.199
+Emacs Lisp. That's how I see it. Of course, this will be a
+
+00:07:56.200 --> 00:08:00.799
+community project. I'm open to debate about that if anybody
+
+00:08:00.800 --> 00:08:02.079
+wants to convince me otherwise.
+
+00:08:02.080 --> 00:08:11.759
+Why is being able to interpret all of that EL a useful goal?
+
+00:08:11.760 --> 00:08:15.519
+Sure, there is a lot of code written in Elisp. Can we
+
+00:08:15.520 --> 00:08:18.959
+consider... Oh, it's still being written. Please go ahead
+
+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?
+
+00:08:19.440 --> 00:08:32.519
+Can we consider a translator like utility to convert eLisp
+
+00:08:32.520 --> 00:08:37.519
+to Scheme once Guile-Emacs has become a reality?
+
+00:08:37.520 --> 00:08:42.119
+Certainly. For the time being, I just wanted to get the
+
+00:08:42.120 --> 00:08:47.559
+interpreter running. So the actual, the Guile-Emacs Lisp,
+
+00:08:47.560 --> 00:08:51.919
+the one that was written in 2011 that I didn't write, that
+
+00:08:51.920 --> 00:08:57.599
+actually does compile to, I think it's the tree
+
+00:08:57.600 --> 00:08:59.239
+intermediate representation It's one of the intermediate
+
+00:08:59.240 --> 00:09:03.759
+languages that Guile uses to compile Guile scheme itself.
+
+00:09:03.760 --> 00:09:09.079
+So the Emacs lisp that was written before actually does
+
+00:09:09.080 --> 00:09:13.119
+that. It actually compiles and makes use of the entire Guile
+
+00:09:13.120 --> 00:09:17.479
+compiler tool chain and actually produces like JIT
+
+00:09:17.480 --> 00:09:21.719
+compilable binaries, which is really cool. Like I said,
+
+00:09:21.720 --> 00:09:27.519
+that's the one that I had trouble getting to work properly.
+
+00:09:27.520 --> 00:09:34.399
+Maybe we can follow that architecture. I'm not sure how to do
+
+00:09:34.400 --> 00:09:37.919
+that, but I would like to be able to do some kind of
+
+00:09:37.920 --> 00:09:41.999
+translating, keeping in mind that we want to have this be
+
+00:09:42.000 --> 00:09:48.919
+portable, do various schemes. And so Guile makes this very
+
+00:09:48.920 --> 00:09:52.719
+easy, but other schemes don't. Gambit might do this pretty
+
+00:09:52.720 --> 00:09:57.919
+well as well. It compiles to C and then compiles C down to a
+
+00:09:57.920 --> 00:10:06.159
+dynamically linkable library. So yeah, I think probably
+
+00:10:06.160 --> 00:10:09.559
+the most portable, I'm just thinking out loud right now,
+
+00:10:09.560 --> 00:10:13.239
+most portable implementation will just be able to
+
+00:10:13.240 --> 00:10:17.119
+translate Emacs Lisp directly to Scheme, which is not what
+
+00:10:17.120 --> 00:10:22.439
+the old Guile Emacs Lisp implementation does. That goes to
+
+00:10:22.440 --> 00:10:26.439
+TreeIL, so it's very, very Guile-specific, can't be
+
+00:10:26.440 --> 00:10:30.799
+ported. But yeah, if we could somehow get Emacs Lisp
+
+00:10:30.800 --> 00:10:36.999
+translated to Scheme and then compiled, say, in Shea Scheme
+
+00:10:37.000 --> 00:10:40.879
+or Gambit or MIT Scheme or one of those other compilers, that
+
+00:10:40.880 --> 00:10:44.919
+would be very cool. And I would absolutely love to do that.
+
+00:10:44.920 --> 00:10:49.279
+And I would very quickly accept any code into the code base
+
+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?
+
+00:10:50.600 --> 00:10:59.119
+Oh, and to answer the question about init.el,
+
+00:10:59.120 --> 00:11:02.839
+It's just because people spend a lot of time on their configs
+
+00:11:02.840 --> 00:11:06.959
+and it would be nice if, you know, you're starting to use this
+
+00:11:06.960 --> 00:11:14.079
+new editor and want it to be similar to Emacs users, just the
+
+00:11:14.080 --> 00:11:16.519
+Emacs community in general and people who are familiar with
+
+00:11:16.520 --> 00:11:20.879
+using Emacs. It would be more useful to everybody in the
+
+00:11:20.880 --> 00:11:25.119
+Emacs community if this were more compatible with GNU
+
+00:11:25.120 --> 00:11:35.999
+Emacs. And so that's why that's, I think that's an important
+
+00:11:36.000 --> 00:11:38.559
+goal.
+
+00:11:38.560 --> 00:12:01.839
+Question is not yet. Great. Oh, here comes another
+
+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)?
+
+00:12:02.280 --> 00:12:11.879
+Okay, what is the plan to handle elisp packages that depend
+
+00:12:11.880 --> 00:12:16.119
+on third-party or external libraries like git or magit
+
+00:12:16.120 --> 00:12:22.719
+or ripgrep? So that's going to be tricky. It depends on how
+
+00:12:22.720 --> 00:12:27.079
+these external packages are linked into emacs. If it's
+
+00:12:27.080 --> 00:12:32.879
+going to be a dynamic library like Robin Templeton's
+
+00:12:32.880 --> 00:12:38.039
+project which you load the libgit library into the Emacs
+
+00:12:38.040 --> 00:12:43.159
+process, that is going to be extremely difficult. So if you
+
+00:12:43.160 --> 00:12:49.359
+have an external library like, I don't know, libgit or
+
+00:12:49.360 --> 00:12:59.279
+what's the GUI thing? Cabal. No, not Cabal. Cairo, libcairo
+
+00:12:59.280 --> 00:13:01.439
+to do SVG graphics and so on.
+
+00:13:01.440 --> 00:13:09.719
+You can do that very easily with Guile, but then on top of
+
+00:13:09.720 --> 00:13:14.719
+that, implementing Emacs list bindings to it, I mean,
+
+00:13:14.720 --> 00:13:17.199
+you've got two layers there, and that makes things pretty
+
+00:13:17.200 --> 00:13:23.119
+difficult. So it's possible. And to some degree, maybe
+
+00:13:23.120 --> 00:13:27.799
+necessary for example, Cairo, if we want to do SVG graphics
+
+00:13:27.800 --> 00:13:30.599
+the way that Emacs Lisp does, we're going to have to have
+
+00:13:30.600 --> 00:13:33.959
+that. So that would be necessary. We would have to have those
+
+00:13:33.960 --> 00:13:39.199
+two layers. Yes, let's do that. But if it's like for Magit,
+
+00:13:39.200 --> 00:13:45.479
+you can just call out to your git process, and then you're
+
+00:13:45.480 --> 00:13:50.719
+just using the regular process APIs that Emacs Lisp has. And
+
+00:13:50.720 --> 00:13:57.119
+that can be, already we, like Guile has some very good
+
+00:13:57.120 --> 00:14:08.079
+implementations for process management. And so it would
+
+00:14:08.080 --> 00:14:12.439
+just be a matter of wrapping up those in the Emacs lisp form
+
+00:14:12.440 --> 00:14:24.919
+bindings. So yeah, dynamic libraries, I wanna try to avoid.
+
+00:14:24.920 --> 00:14:32.799
+And I would prefer to do things more through, you know,
+
+00:14:32.800 --> 00:14:40.399
+launching a child process in the Emacs process. and then
+
+00:14:40.400 --> 00:14:47.239
+communicating over the standard in, standard out
+
+00:14:47.240 --> 00:14:47.959
+channels.
+
+00:14:47.960 --> 00:14:52.799
+That's the easier way to do things, I think, because then you
+
+00:14:52.800 --> 00:14:58.519
+can just use the process library that Emacs already has, and
+
+00:14:58.520 --> 00:15:03.239
+you can just reuse all of that code.
+
+00:15:03.240 --> 00:15:09.079
+I'm not sure how ripgrep works, unfortunately, but I
+
+00:15:09.080 --> 00:15:15.279
+believe that's also a process, a child process. So, we can
+
+00:15:15.280 --> 00:15:23.479
+just reuse all of the Emacs Lisp code that does that already.
+
+00:15:23.480 --> 00:15:30.399
+We just need to make sure that the process management
+
+00:15:30.400 --> 00:15:35.119
+implementation and scheme is properly bound to Emacs Lisp,
+
+00:15:35.120 --> 00:15:43.359
+and it works the same as GNU Emacs does. Once that's all set,
+
+00:15:43.360 --> 00:15:48.399
+then these porcelains, like around git, should fall into
+
+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?
+
+00:15:55.280 --> 00:15:59.199
+How about Schemax as a name? I like the name. I like that name.
+
+00:15:59.200 --> 00:16:03.119
+I haven't really looked into like, is that already used or is
+
+00:16:03.120 --> 00:16:09.759
+that going to be confusing? But certainly something we can
+
+00:16:09.760 --> 00:16:10.959
+discuss.
+
+00:16:10.960 --> 00:16:13.039
+Another thing I should mention,
+
+00:16:13.040 --> 00:16:18.759
+I should probably set up a server or something like Discord
+
+00:16:18.760 --> 00:16:25.359
+or something like that. Discourse, not Discord.
+
+00:16:25.360 --> 00:16:31.599
+Discourse, the open source one, where we could actually
+
+00:16:31.600 --> 00:16:49.239
+chat about this stuff. For the time being, ActivityPub,
+
+00:16:49.240 --> 00:16:52.399
+mostly Mastodon, is how I communicate with people in real
+
+00:16:52.400 --> 00:16:57.279
+time, that or email. So if you want to get a hold of me, check
+
+00:16:57.280 --> 00:17:02.439
+the notes for this presentation and just send me an email.
+
+00:17:02.440 --> 00:17:09.039
+Any question at all is fine. If you want to contribute code,
+
+00:17:09.040 --> 00:17:12.799
+if you want to just learn how to contribute code, send me any
+
+00:17:12.800 --> 00:17:22.199
+questions. It's fine. I'm happy to answer them. And we can
+
+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?
+
+00:17:25.880 --> 00:17:30.239
+Okay, why is it not feasible for the Emacs layer that
+
+00:17:30.240 --> 00:17:34.319
+interprets Emacs Lisp, the core in C, have a Scheme
+
+00:17:34.320 --> 00:17:39.799
+interpreter instead of using Guile? Let's see, I have to,
+
+00:17:39.800 --> 00:17:48.799
+okay. Emacs layer interprets Emacs Lisp, the core in C, have
+
+00:17:48.800 --> 00:17:54.079
+a Scheme interpreter instead of using Guile. Okay, so that,
+
+00:17:54.080 --> 00:17:59.959
+the question xlarsx is asking, xlars, x, So Lars is asking,
+
+00:17:59.960 --> 00:18:02.319
+is it not feasible for there to be an
+
+00:18:02.320 --> 00:18:06.839
+Emacs layer that interprets Emacs Lisp have a scheme
+
+00:18:06.840 --> 00:18:33.079
+interpreter? This is Robin Templeton's project. And
+
+00:18:33.080 --> 00:18:39.839
+they're presenting later today. So check the roster and be
+
+00:18:39.840 --> 00:18:45.199
+sure to see that presentation because that's exactly what
+
+00:18:45.200 --> 00:18:52.119
+Robin Templeton is doing. That's not what I'm doing though.
+
+00:18:52.120 --> 00:18:57.239
+I'm trying to create something in Scheme. But yes, there is
+
+00:18:57.240 --> 00:19:02.959
+an attempt to get an Scheme interpreter to run inside of
+
+00:19:02.960 --> 00:19:07.159
+Emacs itself. And it has its own method of binding to Emacs
+
+00:19:07.160 --> 00:19:11.199
+Lisp functions and translating data like Lisp structures
+
+00:19:11.200 --> 00:19:14.439
+between Guile Scheme and Emacs Lisp. Robin will explain all
+
+00:19:14.440 --> 00:19:15.799
+of that in their presentation.
+
+00:19:15.800 --> 00:19:18.919
+OK, I think I've got through all the questions on Etherpad.
+
+00:19:18.920 --> 00:19:23.879
+But I'm going to hang out here for a bit longer. And yeah, feel
+
+00:19:23.880 --> 00:19:28.239
+free to do a video chat with me or send me more questions on
+
+00:19:28.240 --> 00:19:33.839
+Etherpad or here in the big blue button. And so I'm just going
+
+00:19:33.840 --> 00:21:49.119
+to hang out. And thanks for asking all your questions. And
+
+00:21:49.120 --> 00:21:50.839
+yeah, I look forward to working with all of you if you're
+
+00:21:50.840 --> 00:21:51.799
+interested. take it easy. Thanks so much for the talk and
+
+00:21:51.800 --> 00:21:53.199
+looking forward to seeing some of your progress as this
+
+00:21:53.200 --> 00:21:54.359
+moves forward, exciting space. We'll go ahead and leave the
+
+00:21:54.360 --> 00:21:54.879
+room open for you and thanks for offering to hang out and chat
+
+00:21:54.880 --> 00:21:55.639
+with other people that come by. Feel free to throw something
+
+00:21:55.640 --> 00:21:56.719
+in the chat if you want to remind people you're still here.
+
+00:21:56.720 --> 00:21:57.919
+Meanwhile, on the stream, we have moved along to our next
+
+00:21:57.920 --> 00:21:59.599
+talk on Rust, and that is just getting started. But again,
+
+00:21:59.600 --> 00:22:00.479
+we're continuing to record this, and I'll just keep an eye on
+
+00:22:00.480 --> 00:22:01.239
+it to stop the recording. Thank you. Thank you. It was
+
+00:22:01.240 --> 00:22:01.559
+awesome.
+
+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
+
+00:22:03.960 --> 00:22:05.439
+anybody else on BBB, so I'm going to go ahead and stop the
+
+00:22:05.440 --> 00:22:08.479
+recording. We can start it back up. I would say, yes, there's
+
+00:22:08.480 --> 00:22:09.519
+a lot of things you can do with this. You can handle
+
+00:22:09.520 --> 00:22:11.239
+processing. Yeah, I'm going to try and join over the chat for
+
+00:22:11.240 --> 00:22:14.679
+the next talk. I'm not sure if I can do both big blue buttons at
+
+00:22:14.680 --> 00:22:15.759
+the same time. You should be able to just watch your mute
+
+00:22:15.760 --> 00:22:19.159
+settings and mute tab settings and whatever all you have to
+
+00:22:19.160 --> 00:23:37.800
+avoid bleed through. Okay.
diff --git a/2024/captions/emacsconf-2024-hyperbole--fun-things-with-gnu-hyperbole--mats-lidell--answers.vtt b/2024/captions/emacsconf-2024-hyperbole--fun-things-with-gnu-hyperbole--mats-lidell--answers.vtt
new file mode 100644
index 00000000..f1425353
--- /dev/null
+++ b/2024/captions/emacsconf-2024-hyperbole--fun-things-with-gnu-hyperbole--mats-lidell--answers.vtt
@@ -0,0 +1,690 @@
+WEBVTT
+
+00:00:00.000 --> 00:00:12.919
+And I believe we are live. Hi, Mats, how are you doing? Oh, I'm
+
+00:00:12.920 --> 00:00:17.319
+fine. It's a pleasure to see you again after last year. And I
+
+00:00:17.320 --> 00:00:20.519
+was trying to think about it. We saw you last year, but didn't
+
+00:00:20.520 --> 00:00:26.919
+we see you as well in 2022? Yes. This is my third year. Yeah,
+
+00:00:26.920 --> 00:00:29.559
+well, thank you for being a regular at EmacsConf. It's
+
+00:00:29.560 --> 00:00:31.919
+always a pleasure to have you chat about hyperbole.
+
+00:00:31.920 --> 00:00:33.559
+Although I think you're the only one chatting about
+
+00:00:33.560 --> 00:00:37.159
+hyperbole this year compared to last year. Yes,
+
+00:00:37.160 --> 00:00:41.879
+unfortunately, that's, yeah, Bob has some family issues.
+
+00:00:41.880 --> 00:00:45.839
+So yeah, I'm here, but I'm here. Yeah, but we are happy to have
+
+00:00:45.840 --> 00:00:49.199
+you here. And as I was saying before, I'm not sure if you were,
+
+00:00:49.200 --> 00:00:52.519
+you had the time to watch the previous talk by Mohsen, you
+
+00:00:52.520 --> 00:00:56.239
+know, you had, there were plenty of ideas, I think that were
+
+00:00:56.240 --> 00:00:58.999
+very similar to what Hyperbole is trying to do by having
+
+00:00:59.000 --> 00:01:04.399
+buttons and having stuff that can be in any other mode that
+
+00:01:04.400 --> 00:01:08.399
+would allow you to supplement a coding file with extra
+
+00:01:08.400 --> 00:01:11.879
+information. So the ideas are living on. And even though
+
+00:01:11.880 --> 00:01:15.239
+hyperbole is one thing, I feel like other packages are also
+
+00:01:15.240 --> 00:01:17.759
+taking a lot of inspiration for it. So congratulations on
+
+00:01:17.760 --> 00:01:21.439
+being an inspiration, I suppose. Oh, thanks.
+
+00:01:21.440 --> 00:01:24.839
+Unfortunately, I have not had any time to watch anything of
+
+00:01:24.840 --> 00:01:29.759
+the Emacs conference since apparently my life is like every
+
+00:01:29.760 --> 00:01:33.559
+time it's Emacs conference, I do something else. So I've been
+
+00:01:33.560 --> 00:01:37.919
+just moving this weekend. So, I'm in a new apartment, but I'm
+
+00:01:37.920 --> 00:01:42.479
+connected and everything seems to work okay. So, I can't
+
+00:01:42.480 --> 00:01:45.199
+relate to what we said in any of the other talks, I'm afraid.
+
+00:01:45.200 --> 00:01:48.199
+So, sorry about that. No, that's okay. No, but that's
+
+00:01:48.200 --> 00:01:51.559
+completely fine, because you may be able to watch the talks
+
+00:01:51.560 --> 00:01:54.599
+at any point later on, because I'll remind the viewers that
+
+00:01:54.600 --> 00:01:57.319
+the talks are currently available on EmacsConf or the
+
+00:01:57.320 --> 00:02:01.199
+pre-recorded one. And I think we only had one live talk
+
+00:02:01.200 --> 00:02:04.239
+yesterday. All of them are already available with
+
+00:02:04.240 --> 00:02:08.039
+subtitles and all the funny stuff that we usually put. So
+
+00:02:08.040 --> 00:02:11.359
+that's an invitation for people to watch it. All right. So,
+
+00:02:11.360 --> 00:02:14.439
+Mats, before we start with the questions, I see people in the
+
+00:02:14.440 --> 00:02:17.959
+process of writing them. Was there anything else you wanted
+
+00:02:17.960 --> 00:02:21.159
+to add on top of your presentation? Maybe some supplements
+
+00:02:21.160 --> 00:02:29.039
+or whatnot? No, no. Nothing to add. Right. I mean, this year
+
+00:02:29.040 --> 00:02:31.519
+was more a bag of tricks, some new stuff that you've
+
+00:02:31.520 --> 00:02:36.159
+implemented in Hyperbole. And it's fun because I see the UI
+
+00:02:36.160 --> 00:02:40.159
+that you have for some of those modes. And earlier, you
+
+00:02:40.160 --> 00:02:42.399
+weren't able to watch those talks, but we were talking a lot
+
+00:02:42.400 --> 00:02:46.119
+about Transient and about what it allows you to do in terms of
+
+00:02:46.120 --> 00:02:51.039
+interactivity. I'm actually familiar with Transient. No,
+
+00:02:51.040 --> 00:02:56.279
+no, no. It's a mode written by Tarsius, so Jonas Bernoulli,
+
+00:02:56.280 --> 00:03:01.599
+the person behind Magit, and it's a very nice way to create
+
+00:03:01.600 --> 00:03:06.319
+menus for interactive setups. So, if you are interested in
+
+00:03:06.320 --> 00:03:10.039
+perhaps augmenting what you currently have with
+
+00:03:10.040 --> 00:03:12.959
+Hyperbole, it might be nice to look into Transient because I
+
+00:03:12.960 --> 00:03:16.359
+think this is heading towards eventually being merged into
+
+00:03:16.360 --> 00:03:18.879
+the core of Emacs. I mean, don't quote me on this. and I'm not
+
+00:03:18.880 --> 00:03:21.719
+sure how Tarsius feels about it, but because of the
+
+00:03:21.720 --> 00:03:25.879
+adoption, because Magit obviously uses transient, Org is
+
+00:03:25.880 --> 00:03:28.839
+trying to make a move towards adopting transient, it feels
+
+00:03:28.840 --> 00:03:32.479
+like Hyperbole would do well as well to adopt it because it's
+
+00:03:32.480 --> 00:03:36.799
+starting to become a grammar of general UI at this point.
+
+00:03:36.800 --> 00:03:40.839
+Yeah, now when you mention it, I remember because I'm a heavy
+
+00:03:40.840 --> 00:03:47.519
+user of Magic, of course. So I know Transient that way. I know
+
+00:03:47.520 --> 00:03:50.999
+also that people have been complaining about Hyperbole's
+
+00:03:51.000 --> 00:03:56.079
+menu system. You know that Hyperbole reach back to
+
+00:03:56.080 --> 00:04:02.639
+something like 1993, so it has some maybe things that are not
+
+00:04:02.640 --> 00:04:07.279
+modern in that sense. So we have it on the plate to maybe look
+
+00:04:07.280 --> 00:04:11.479
+into these things and how we can sort of make things modern,
+
+00:04:11.480 --> 00:04:16.279
+etc. Sure, but it's completely fine to take your time. You
+
+00:04:16.280 --> 00:04:19.359
+don't necessarily have to follow the latest fads when it
+
+00:04:19.360 --> 00:04:24.439
+comes to completion engines or interactive engines like
+
+00:04:24.440 --> 00:04:26.879
+Transient is. I'm not actually sure how you would call
+
+00:04:26.880 --> 00:04:31.519
+Transient. Is this a UI maker, an interaction engine? I
+
+00:04:31.520 --> 00:04:36.559
+don't know. I'll need to ask Tarsius at some point. All
+
+00:04:36.560 --> 00:04:41.439
+right. Okay. Okay so let's move on to the questions. We've
+
+00:04:41.440 --> 00:04:45.719
+got a couple of them and for the Q&A we'll have about five
+
+00:04:45.720 --> 00:04:49.199
+minutes and 30 seconds until we got to lunch. So starting
+
+00:04:49.200 --> 00:04:51.193
+with the first question.
+
+NOTE Q: How is the log buffer generated?
+
+00:04:51.194 --> 00:04:52.679
+How is the log buffer generated in
+
+00:04:52.680 --> 00:04:56.719
+your presentation? But it's a very quick answer to this.
+
+00:04:56.720 --> 00:04:59.839
+We recommend at EmacsConf that speakers use the
+
+00:04:59.840 --> 00:05:02.679
+interaction-log package, which allows you to have a
+
+00:05:02.680 --> 00:05:07.879
+slightly prettier lossage. Lossage being in Emacs how you
+
+00:05:07.880 --> 00:05:10.359
+call the comments that you've used. And so if you're
+
+00:05:10.360 --> 00:05:12.439
+interested in using this for your own presentation,
+
+00:05:12.440 --> 00:05:17.519
+interaction log, and you'll be able to find it fairly
+
+00:05:17.520 --> 00:05:18.999
+easily.
+
+00:05:19.000 --> 00:05:21.050
+Moving to the next question.
+
+NOTE Q: So, the "select a thing" C-c RET is similar to expand-region? How does it behave in codes (functions, class, ...)
+
+00:05:21.051 --> 00:05:23.651
+So the selector thing C-c RET
+
+00:05:23.652 --> 00:05:26.479
+is similar to expand-region. How does it behave in
+
+00:05:26.480 --> 00:05:31.999
+codes i.e functions or class?
+
+00:05:32.000 --> 00:05:45.319
+Well I think it behaves exactly the same. I mean in the
+
+00:05:45.320 --> 00:05:50.079
+In any sort of buffer, it might depend on what
+
+00:05:50.080 --> 00:05:54.679
+constitutes a word, et cetera, and a sentence in the mood.
+
+00:05:54.680 --> 00:06:00.799
+That's how I would say it. Right.
+
+00:06:00.800 --> 00:06:09.279
+I'm just, in that sense, I'm just a user of the function. I
+
+00:06:09.280 --> 00:06:12.359
+haven't implemented it. I haven't tested it more than that.
+
+00:06:12.360 --> 00:06:17.959
+We can do this as a demo that you start with maybe select a
+
+00:06:17.960 --> 00:06:21.999
+small thing and by hitting it over and over again, you select
+
+00:06:22.000 --> 00:06:26.399
+more and more. Yeah, but it's completely fine sometimes to
+
+00:06:26.400 --> 00:06:30.199
+merely be a user of something, you know. It's easy. It's a
+
+00:06:30.200 --> 00:06:33.079
+testament to how amazing Emacs is because everything is
+
+00:06:33.080 --> 00:06:35.759
+written in Lisp in the background, that as soon as you start
+
+00:06:35.760 --> 00:06:38.119
+becoming a maintainer of something, you kind of expect it to
+
+00:06:38.120 --> 00:06:40.639
+just be able to understand everything else. And whilst it's
+
+00:06:40.640 --> 00:06:43.919
+technically true, the limiter here is the amount of time
+
+00:06:43.920 --> 00:06:47.199
+that you can invest looking at the definitions,
+
+00:06:47.200 --> 00:06:50.359
+understanding what they do, and sadly we don't have the time
+
+00:06:50.360 --> 00:06:53.319
+to do all of this. And especially with Hyperbole, which is
+
+00:06:53.320 --> 00:06:55.959
+obviously interacting with major modes in something that
+
+00:06:55.960 --> 00:07:01.239
+is more involved than Org mode, for instance. We do have
+
+00:07:01.240 --> 00:07:05.879
+another question. So, I know you Hyperbole devs are active
+
+00:07:05.880 --> 00:07:08.919
+and interested in sharing and interoperating with other
+
+00:07:08.920 --> 00:07:09.971
+Emacs tools.
+
+NOTE 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?
+
+00:07:09.972 --> 00:07:11.839
+What is a recent tool that you find exciting to
+
+00:07:11.840 --> 00:07:14.799
+think about using in combination with Hyperbole or would
+
+00:07:14.800 --> 00:07:21.599
+like to suggest using in combination with it? Well, lately
+
+00:07:21.600 --> 00:07:24.519
+we've been focusing a lot of sort of trying to make Hyperbole
+
+00:07:24.520 --> 00:07:29.639
+work together with Org Mode and in in a good way so they can
+
+00:07:29.640 --> 00:07:36.119
+sort of, I mean... The idea with Hyperbole is not to be better
+
+00:07:36.120 --> 00:07:40.119
+than everything else, but more to be like the glue or spider
+
+00:07:40.120 --> 00:07:46.349
+that could integrate different modes in a good way together.
+
+00:07:46.350 --> 00:07:51.359
+So that being top of everything. And Org is a very
+
+00:07:51.360 --> 00:07:55.559
+popular mode, and there are a lot of sub-modes, or whatever
+
+00:07:55.560 --> 00:07:59.519
+you can call it, with Org for information management. And we
+
+00:07:59.520 --> 00:08:03.119
+would want Hyperbole to work together with Org in a good way,
+
+00:08:03.120 --> 00:08:09.119
+so Org users could benefit from Hyperbole as well. So we put
+
+00:08:09.120 --> 00:08:13.319
+in some effort in that. But I think there's a lot of way to go.
+
+00:08:13.320 --> 00:08:17.319
+There's much more that can be done there as well because
+
+00:08:17.320 --> 00:08:21.559
+different modes can easily compete in a bad way in the
+
+00:08:21.560 --> 00:08:26.519
+details. So it's a little bit of a tricky thing, especially
+
+00:08:26.520 --> 00:08:32.839
+like we have this and how probably we have this M-RET
+
+00:08:32.840 --> 00:08:36.319
+for the action production key and that's also used in many
+
+00:08:36.320 --> 00:08:40.639
+modes. So we would really, in the best of words, we would like
+
+00:08:40.640 --> 00:08:46.388
+Emacs to sort of come to some agreement on using of the
+
+00:08:46.389 --> 00:08:52.759
+M-RET in a good way for modes to sort of be able to work and
+
+00:08:52.760 --> 00:08:58.119
+live together. Yeah, I mean it's a tough thing to share the
+
+00:08:58.120 --> 00:09:01.759
+key bindings and the grammar of interaction between
+
+00:09:01.760 --> 00:09:04.719
+packages because you tell me M-RET, I don't want you
+
+00:09:04.720 --> 00:09:07.759
+to touch M-RET. For me it's just inserting a new line
+
+00:09:07.760 --> 00:09:10.639
+and not adding indentation at the start and everyone is
+
+00:09:10.640 --> 00:09:14.639
+going to have their own you know, feelings and thoughts about
+
+00:09:14.640 --> 00:09:17.959
+this, so it's really hard to impose any kind of system on
+
+00:09:17.960 --> 00:09:20.559
+this. But I'm glad to hear that you're looking into
+
+00:09:20.560 --> 00:09:23.239
+interaction with Org Mode because I remember the questions
+
+00:09:23.240 --> 00:09:26.359
+we were having on your first conference when people were
+
+00:09:26.360 --> 00:09:28.959
+asking, oh I'm so glad that you're talking about Hyperbole
+
+00:09:28.960 --> 00:09:31.719
+because the only way I'm interacting with it is when people
+
+00:09:31.720 --> 00:09:35.599
+chat about Org Mode and then whenever we had announcements
+
+00:09:35.600 --> 00:09:39.039
+about Hyperbole, be it on Reddit, be it on Hacker News,
+
+00:09:39.040 --> 00:09:41.999
+people would say, but don't we already have Org Mode? And we
+
+00:09:42.000 --> 00:09:44.879
+won't get into the topic again, because I think you've done a
+
+00:09:44.880 --> 00:09:47.279
+wonderful job of explaining the differences in previous
+
+00:09:47.280 --> 00:09:51.359
+years. And today, the conference, your talk at the
+
+00:09:51.360 --> 00:09:54.199
+conference also made it obvious that it's doing something
+
+00:09:54.200 --> 00:09:58.039
+that Org Mode is not able to do. But ultimately, being able to
+
+00:09:58.040 --> 00:10:00.254
+interface between the two is something great.
+
+NOTE On Ihor as the new maintainer for Org Mode
+
+00:10:00.255 --> 00:10:02.676
+And I kind of wanted to ask you as well the question,
+
+00:10:02.677 --> 00:10:04.719
+because you haven't
+
+00:10:04.720 --> 00:10:10.199
+seen the talk, but yesterday we had the announcement that
+
+00:10:10.200 --> 00:10:13.879
+Ihor Radchenko was becoming the new maintainer of Org Mode.
+
+00:10:13.880 --> 00:10:18.799
+So obviously, a new maintainer introduces idea of changes
+
+00:10:18.800 --> 00:10:23.719
+of, you know, philosophy and strategy and all this. Is this
+
+00:10:23.720 --> 00:10:28.199
+somehow on your end with Hyperbole inspiring you perhaps to
+
+00:10:28.200 --> 00:10:31.999
+also innovate in a sense to maybe try to change the way some
+
+00:10:32.000 --> 00:10:32.559
+things are done?
+
+00:10:32.560 --> 00:10:45.239
+Hmm, tricky question. I know, right? Yeah, no, well, I don't
+
+00:10:45.240 --> 00:10:46.159
+know.
+
+00:10:46.160 --> 00:10:52.799
+I don't know if it answers the question, but we have this
+
+00:10:52.800 --> 00:11:02.919
+idea that we meet and work from our point of view. And then we
+
+00:11:02.920 --> 00:11:07.679
+pick up maybe details from the outside world. So we're not
+
+00:11:07.680 --> 00:11:13.079
+heavily looking into what happens in the rest of the world
+
+00:11:13.080 --> 00:11:17.239
+when it comes to Emacs and personal information
+
+00:11:17.240 --> 00:11:21.159
+management, etc. But but we do pick up some ideas.
+
+00:11:21.160 --> 00:11:26.719
+Sometimes. But yeah, we mostly do hacking and then we want to
+
+00:11:26.720 --> 00:11:31.639
+we meet once a week and work on hyperbole and you know, so
+
+00:11:31.640 --> 00:11:35.599
+Yeah, that's already very cool. And the reason I'm
+
+00:11:35.600 --> 00:11:38.799
+mentioning this is not because I know that you are operating
+
+00:11:38.800 --> 00:11:42.079
+in a little bit of a silo when it comes to all of Hyperbole, but
+
+00:11:42.080 --> 00:11:45.399
+it's always nice for me personally to see a lot of energy
+
+00:11:45.400 --> 00:11:49.039
+being brought in by people. Whenever there's a new major
+
+00:11:49.040 --> 00:11:52.919
+version being published, be it Org Mode or be it Hyperbole,
+
+00:11:52.920 --> 00:11:55.519
+people are excited. There's a lot of energy in here because
+
+00:11:55.520 --> 00:11:58.039
+people are chatting about what you're doing. And that's why
+
+00:11:58.040 --> 00:12:02.399
+I find that people, a new maintenanceship for Org Mode
+
+00:12:02.400 --> 00:12:05.199
+actually benefits Hyperbole in a way because you get a lot of
+
+00:12:05.200 --> 00:12:07.559
+excitement, a lot of people thinking and bringing ideas to
+
+00:12:07.560 --> 00:12:12.279
+the table. And I think it's a prime time to actually try I'm
+
+00:12:12.280 --> 00:12:14.599
+using the word stealing, but in a very nice way, stealing in
+
+00:12:14.600 --> 00:12:17.519
+terms of floss, stealing some ideas and trying to see if you
+
+00:12:17.520 --> 00:12:21.199
+can run with them on your own end. And that's also why I was
+
+00:12:21.200 --> 00:12:24.479
+suggesting transient, because transient looks like it's
+
+00:12:24.480 --> 00:12:28.759
+on its path to reach core at some point. And it would be nice if
+
+00:12:28.760 --> 00:12:31.479
+you had the idea early on to integrate with it, because it
+
+00:12:31.480 --> 00:12:34.319
+might save you time later on and make your user happy,
+
+00:12:34.320 --> 00:12:37.319
+because they can find the same grammar between the Git,
+
+00:12:37.320 --> 00:12:41.639
+between org mode, and between hyperbole. All right. Is
+
+00:12:41.640 --> 00:12:46.439
+there... I don't think... Yeah, go on, please. Yeah, I just
+
+00:12:46.440 --> 00:12:49.879
+want to add on that, that, I mean, as an ultimate goal, in the
+
+00:12:49.880 --> 00:12:56.679
+far distance, we would want sort of Hyperbole or hyperbole
+
+00:12:56.680 --> 00:13:00.399
+type of functionality be part of the core Emacs. So in that
+
+00:13:00.400 --> 00:13:06.839
+sense, it's sort of totally sort of okay with us that
+
+00:13:06.840 --> 00:13:10.599
+different packages steal ideas and try to merge them into
+
+00:13:10.600 --> 00:13:16.359
+sort of the core system. Yeah. All right, I don't see any more
+
+00:13:16.360 --> 00:13:19.279
+questions, so I think we can move to close. Actually, we're
+
+00:13:19.280 --> 00:13:22.439
+actually three minutes over time, so I'm glad we managed to
+
+00:13:22.440 --> 00:13:24.759
+discuss a little more, but that's fine. Mats, do you have
+
+00:13:24.760 --> 00:13:31.519
+any last words? I'll try it out. Okay, well, then, you heard
+
+00:13:31.520 --> 00:13:35.479
+it, everyone. Just try it out. Try it out, and if you like it,
+
+00:13:35.480 --> 00:13:37.239
+you can join us on Sundays
+
+00:13:37.240 --> 00:13:41.959
+Right. And every Sunday, well, if you do not know what to do,
+
+00:13:41.960 --> 00:13:44.919
+you know, here's an idea for you. All right. Thank you so
+
+00:13:44.920 --> 00:13:47.079
+much, Mats, for coming again to Emacs Conf. And we look
+
+00:13:47.080 --> 00:13:50.319
+forward, perhaps, to seeing you next year. Yes. I'll be
+
+00:13:50.320 --> 00:13:55.119
+there. Hopefully, I can see some of the presentations live
+
+00:13:55.120 --> 00:13:58.399
+then. OK. That's OK. You've got the entire year to catch up on
+
+00:13:58.400 --> 00:14:01.159
+the ones you haven't seen this year and next year. But you'll
+
+00:14:01.160 --> 00:14:04.359
+have the time to catch another one live. All right. Yes.
+
+00:14:04.360 --> 00:14:09.519
+Great! For the folks watching, we will be taking a break, a
+
+00:14:09.520 --> 00:14:14.039
+one hour and one minute break. We'll be back at 1 p.m. EST and I
+
+00:14:14.040 --> 00:14:21.479
+think if my UTC conversion is working right, it should be 6
+
+00:14:21.480 --> 00:14:24.679
+p.m. UTC, so at least in one hour. All right, see you in a bit
+
+00:14:24.680 --> 00:14:30.159
+folks! Oh yes, and sorry, I've got a little elf speaking
+
+00:14:30.160 --> 00:14:32.999
+in my ears. In case you're interested in discussing further
+
+00:14:33.000 --> 00:14:35.999
+hyperbole with Mats, Mats is in the room right now and I see
+
+00:14:36.000 --> 00:14:39.919
+people have joined the BBB chat. So if you want to join and
+
+00:14:39.920 --> 00:14:42.439
+chat directly with Mats, I'm sure Mats would be more than
+
+00:14:42.440 --> 00:14:44.999
+happy to answer your questions. And obviously everything
+
+00:14:45.000 --> 00:14:48.239
+has been recorded and will be published later on. But for me,
+
+00:14:48.240 --> 00:14:54.119
+I will use the break to rest a little bit and I'll be back in the
+
+00:14:54.120 --> 00:14:59.039
+afternoon. All right, see you folks. Bye, take a break.
+
+00:14:59.040 --> 00:15:03.160
+Okay.
diff --git a/2024/captions/emacsconf-2024-hyperdrive--new-in-hyperdriveel-quick-install-peer-graph-transclusion--joseph-turner--answers.vtt b/2024/captions/emacsconf-2024-hyperdrive--new-in-hyperdriveel-quick-install-peer-graph-transclusion--joseph-turner--answers.vtt
new file mode 100644
index 00000000..7b377fed
--- /dev/null
+++ b/2024/captions/emacsconf-2024-hyperdrive--new-in-hyperdriveel-quick-install-peer-graph-transclusion--joseph-turner--answers.vtt
@@ -0,0 +1,630 @@
+WEBVTT captioned by sachac
+
+NOTE New version of hyperdrive.el
+
+00:00:00.000 --> 00:00:02.596
+One thing I wanted to mention was that
+
+00:00:02.597 --> 00:00:08.596
+as with last year, I just released a new version of
+
+00:00:08.597 --> 00:00:13.476
+hyperdrive.el and it depends on the latest release of
+
+00:00:13.477 --> 00:00:19.156
+transient.el and so if you are going to install this
+
+00:00:19.157 --> 00:00:25.156
+package, make sure that you restart your Emacs after you
+
+00:00:25.157 --> 00:00:29.796
+install it, if you aren't already up to date with transient,
+
+00:00:29.797 --> 00:00:35.316
+which was released yesterday. Otherwise, since it, this
+
+00:00:35.317 --> 00:00:40.876
+latest version of transient.el updates the transient
+
+00:00:40.877 --> 00:00:46.316
+prefix EIEIO class, and it won't work unless you restart
+
+00:00:46.317 --> 00:00:50.996
+Emacs. Okay, well, good to know. I think that's a small price
+
+00:00:50.997 --> 00:00:57.076
+to pay to be on a bleedingest of bleeding edges. All right, I
+
+00:00:57.077 --> 00:00:59.596
+see there's a question here. Let me see if I can read it. Yeah,
+
+00:00:59.597 --> 00:01:01.276
+sure. Do you want me to field it to you or do you want to read it?
+
+00:01:01.277 --> 00:01:04.104
+Oh, sure. Go ahead. I'd love to hear you read it. Sure.
+
+00:01:04.105 --> 00:01:06.686
+Thank you. So first question. Hi there.
+
+NOTE Q: Network effects are tricky - do you know of any public shares people can join to try this tool out properly?
+
+00:01:06.687 --> 00:01:07.787
+Thank you for the talk.
+
+00:01:07.788 --> 00:01:10.756
+I enjoyed watching it. I tried this tool last year and it
+
+00:01:10.757 --> 00:01:13.156
+seemed to work well, but I don't know anyone who actually
+
+00:01:13.157 --> 00:01:16.516
+uses it. Network effects are tricky. Do you know of any
+
+00:01:16.517 --> 00:01:19.636
+public shares people can join to try to try this tool out
+
+00:01:19.637 --> 00:01:24.396
+properly? Thank you. Network effects are indeed tricky.
+
+00:01:24.397 --> 00:01:29.916
+Yeah. That's kind of part of the purpose of the peer graph is
+
+00:01:29.917 --> 00:01:34.596
+to make it easier to discover peers in a way that's more, uh,
+
+00:01:34.597 --> 00:01:37.956
+more reliable and consistent than just somebody puts a
+
+00:01:37.957 --> 00:01:42.076
+public key on Reddit and then it's lost unless somebody
+
+00:01:42.077 --> 00:01:50.156
+finds it. Um, but the, the public keys that I know of are,
+
+00:01:50.157 --> 00:01:53.076
+there's the public key for the Ushin hyperdrive, which is
+
+00:01:53.077 --> 00:01:56.236
+basically just the same content that's on the website
+
+00:01:56.237 --> 00:02:00.156
+mirrored to a hyperdrive. Um, and then there are a few other
+
+00:02:00.157 --> 00:02:07.316
+ones. There's like, uh, hypha.coop has some WebZine
+
+00:02:07.317 --> 00:02:13.796
+content accessible via HyperDrive and also via IPFS. And
+
+00:02:13.797 --> 00:02:19.916
+then mauvesignweaver has a blog that's also available on
+
+00:02:19.917 --> 00:02:23.196
+Hyper. So that's blog.mauve.moe .
+
+00:02:23.197 --> 00:02:28.276
+But besides that, that's kind of the purpose of this
+
+00:02:28.277 --> 00:02:31.756
+peer graph thing is to make it easier to discover other
+
+00:02:31.757 --> 00:02:36.596
+peers. Yeah, to make it also very visual in a way, because,
+
+00:02:36.597 --> 00:02:40.436
+you know, I personally, it's funny because it reminded me of
+
+00:02:40.437 --> 00:02:45.156
+talks that I did in the past about the trust system for PGP
+
+00:02:45.157 --> 00:02:47.596
+keychains, because at the end of the day, you know, this
+
+00:02:47.597 --> 00:02:50.596
+trust system, whether you trust someone absolutely or
+
+00:02:50.597 --> 00:02:53.876
+relatively, the blocking system, it feels very related.
+
+00:02:53.877 --> 00:02:57.356
+Any kind of a chain of trust like this, feels very
+
+00:02:57.357 --> 00:03:00.436
+reminiscent, obviously, but it felt very nice that for you,
+
+00:03:00.437 --> 00:03:04.676
+you had a dynamic display of this web of trust. Whereas for
+
+00:03:04.677 --> 00:03:08.836
+me, I had to make fancy diagram in ticks, in latex, just to
+
+00:03:08.837 --> 00:03:14.956
+make sure that people understood what was actually going
+
+00:03:14.957 --> 00:03:21.596
+on. Yeah, one thing I want to point out is just the difference
+
+00:03:21.597 --> 00:03:25.556
+in utility for something like the PGP web of trust versus
+
+00:03:25.557 --> 00:03:29.956
+this kind of network of peers is, if I understand right, the
+
+00:03:29.957 --> 00:03:34.716
+main purpose of web of trust is to identify that a certain
+
+00:03:34.717 --> 00:03:42.516
+public key is actually created by the person that they claim
+
+00:03:42.517 --> 00:03:46.036
+to be. So you have a way of identifying that a key actually
+
+00:03:46.037 --> 00:03:49.996
+matches like a government identity. Whereas this kind of
+
+00:03:49.997 --> 00:03:53.356
+network of peers has nothing to do with authenticating a key
+
+00:03:53.357 --> 00:03:57.636
+or associating a key with an identity, like a government
+
+00:03:57.637 --> 00:04:03.396
+identity. The purpose is exclusively just to get more peers
+
+00:04:03.397 --> 00:04:07.276
+to be able to discover more peers who have things that are
+
+00:04:07.277 --> 00:04:07.676
+worth reading.
+
+00:04:07.677 --> 00:04:14.356
+Yeah, it's a different take on a concept, but even though the
+
+00:04:14.357 --> 00:04:18.836
+concept might be the same, I find there's a wealth of things
+
+00:04:18.837 --> 00:04:21.716
+that can be done thanks to this, because as you said, you
+
+00:04:21.717 --> 00:04:25.396
+trust someone to send you a file that is trustworthy. Well,
+
+00:04:25.397 --> 00:04:28.236
+with PGP, it's mostly about communication, but about file
+
+00:04:28.237 --> 00:04:33.356
+sharing, it just opens up completely new avenues. Yeah. Do
+
+00:04:33.357 --> 00:04:40.516
+you have anything else to add? And about that, I think one of
+
+00:04:40.517 --> 00:04:45.476
+the barriers to the PGP web of trust is that it required
+
+00:04:45.477 --> 00:04:48.916
+getting together to have key parties to meet people and
+
+00:04:48.917 --> 00:04:51.596
+verify identities. Whereas with this kind of thing,
+
+00:04:51.597 --> 00:04:54.076
+there's no need to do that because so long as your content is
+
+00:04:54.077 --> 00:04:57.876
+interesting, it doesn't matter that you're not who you
+
+00:04:57.877 --> 00:05:01.076
+claim to be or that you don't even claim to be anybody. Yeah, I
+
+00:05:01.077 --> 00:05:04.556
+mean, again, as you mentioned, it's not about identifying
+
+00:05:04.557 --> 00:05:08.196
+people, it's just about identifying value, in a way, in the
+
+00:05:08.197 --> 00:05:10.636
+content that people share. It has nothing to do with
+
+00:05:10.637 --> 00:05:13.916
+verifying their actual identity. But again, it's the same
+
+00:05:13.917 --> 00:05:16.596
+technology, it's the same understanding, but for
+
+00:05:16.597 --> 00:05:18.556
+different applications, which is lovely because
+
+00:05:18.557 --> 00:05:22.116
+programming is fractals all over. The same problems repeat
+
+00:05:22.117 --> 00:05:24.836
+themselves and the same solutions show up for widely
+
+00:05:24.837 --> 00:05:26.996
+different scenarios, which is always good. Yeah. Anything
+
+00:05:26.997 --> 00:05:32.676
+else? One more thing. Yeah. One more thing is that I wanted to
+
+00:05:32.677 --> 00:05:36.956
+give some kudos to, um, some of the other projects that
+
+00:05:36.957 --> 00:05:42.796
+inspired the pure graph work. One of them is Adam Porter's or
+
+00:05:42.797 --> 00:05:50.076
+graph view, um, which is a, um, a tool for visualizing
+
+00:05:50.077 --> 00:05:55.276
+different nodes in an org file and how they link to one
+
+00:05:55.277 --> 00:06:01.876
+another. Um, he did. the pioneering work to figure out how to
+
+00:06:01.877 --> 00:06:07.316
+render interactive graphs with GraphViz. And so we worked
+
+00:06:07.317 --> 00:06:12.476
+together on it and kind of hacked down the last parts that
+
+00:06:12.477 --> 00:06:16.796
+weren't working correctly. And so this is inspired a lot.
+
+00:06:16.797 --> 00:06:19.316
+The user interface is inspired a lot by Adam's work. And then
+
+00:06:19.317 --> 00:06:26.156
+also the idea of having people that you mark as blockers and
+
+00:06:26.157 --> 00:06:31.076
+block is inspired by another project called TrustNet by
+
+00:06:31.077 --> 00:06:37.196
+Alex Cobleigh. I can type in the link there. Alex, how do you
+
+00:06:37.197 --> 00:06:43.516
+spell it? Cobleigh? Yeah, I'll type it in here. Thank you. And I
+
+00:06:43.517 --> 00:06:50.596
+think the link is https://cblgh.org/trustnet. I think that is it.
+
+00:06:50.597 --> 00:06:57.836
+I'm not totally sure. But yeah. Okay, well, that's very good.
+
+00:06:57.837 --> 00:07:01.396
+and thank you for giving credits to the inspiration, because
+
+00:07:01.397 --> 00:07:05.556
+again, nothing is done without context, and it's always nice
+
+00:07:05.557 --> 00:07:08.516
+in the free software world to acknowledge people who have
+
+00:07:08.517 --> 00:07:11.676
+influenced us, because it's very nice when people start
+
+00:07:11.677 --> 00:07:14.556
+contributing, maintaining software, publishing stuff
+
+00:07:14.557 --> 00:07:17.916
+that they actually start collaborating with people who've
+
+00:07:17.917 --> 00:07:21.916
+inspired them, which is a nice way to climb over the shoulders
+
+00:07:21.917 --> 00:07:25.636
+of giants, which this community likes so much. All right,
+
+00:07:25.637 --> 00:07:28.676
+moving on to the next question. We are, we have about seven
+
+00:07:28.677 --> 00:07:31.063
+more minutes for questions, so we're still good.
+
+NOTE Q: blocklist or whitelist so I can make them containing useful information for only me while also being useful with in a public sense
+
+00:07:31.064 --> 00:07:33.956
+Second question, one use case for this sharing and building upon
+
+00:07:33.957 --> 00:07:37.996
+second brain, sorry, one use case for this is sharing and
+
+00:07:37.997 --> 00:07:41.436
+building upon second brains, i.e. Zettelkasten, that's
+
+00:07:41.437 --> 00:07:44.396
+denote or what I'm actually doing, but a blocker for me
+
+00:07:44.397 --> 00:07:46.916
+wanting to make one public is wanting to use a block list or
+
+00:07:46.917 --> 00:07:51.556
+whitelist so that I can make them... Cautioning?
+
+00:07:51.557 --> 00:07:56.156
+Quarantining? Containing. Yes, definitely containing.
+
+00:07:56.157 --> 00:07:59.756
+Why did I go for quarantine rather than containing? I guess
+
+00:07:59.757 --> 00:08:04.636
+my brain went to a dark place from the 2020s. So I can make
+
+00:08:04.637 --> 00:08:08.996
+containing useful information for only me while also being
+
+00:08:08.997 --> 00:08:16.156
+useful in a public sense. Yes, I think your question is about
+
+00:08:16.157 --> 00:08:22.276
+how to keep some of the content of your Zettelkasten private
+
+00:08:22.277 --> 00:08:29.956
+and only have certain parts of it be public. If your desire is
+
+00:08:29.957 --> 00:08:35.796
+to only share certain files in your Zettelkasten, then you
+
+00:08:35.797 --> 00:08:43.596
+can use the hyperdrive mirror command that we demonstrated
+
+00:08:43.597 --> 00:08:48.596
+in the Emacs 2023 talk. In short,
+
+00:08:48.597 --> 00:08:53.916
+It lets you specify either a regular expression that
+
+00:08:53.917 --> 00:08:58.036
+matches only some of the files that'll get uploaded from a
+
+00:08:58.037 --> 00:09:02.236
+directory of files on your machine. And only the files that
+
+00:09:02.237 --> 00:09:05.716
+match that regex will be put into the hyperdrive and shared
+
+00:09:05.717 --> 00:09:08.796
+with the world. But it doesn't have to be a regex. It could be a
+
+00:09:08.797 --> 00:09:13.276
+lambda. So it could match based on file size or modification
+
+00:09:13.277 --> 00:09:18.996
+time or really whatever you like. So I hope that answers your
+
+00:09:18.997 --> 00:09:23.956
+question. Great. And I personally, as someone who loves
+
+00:09:23.957 --> 00:09:27.876
+tinkering with my Elisp, I particularly like the ability to
+
+00:09:27.877 --> 00:09:31.156
+specify things with a lambda because it just opens up the
+
+00:09:31.157 --> 00:09:34.356
+ceiling of the possibilities with interactions between
+
+00:09:34.357 --> 00:09:37.316
+different parts of software. And, you know, as I have worked
+
+00:09:37.317 --> 00:09:39.956
+significantly in Org Roam, I could definitely see
+
+00:09:39.957 --> 00:09:44.116
+interactions with lambdas here to make sure that we can send
+
+00:09:44.117 --> 00:09:47.156
+and share files based on the filter list that is
+
+00:09:47.157 --> 00:09:51.036
+incrementally added to thanks to those lambdas. So thanks
+
+00:09:51.037 --> 00:09:55.116
+for this. One more thing I want to add about that is that the,
+
+00:09:55.117 --> 00:10:00.116
+that same question of being able to upload only certain
+
+00:10:00.117 --> 00:10:04.316
+files while leaving others to be private was something
+
+00:10:04.317 --> 00:10:07.556
+that was inspired by Karl Voit. I had an email thread with
+
+00:10:07.557 --> 00:10:16.036
+him in which he talked about how he uses his file tags project
+
+00:10:16.037 --> 00:10:21.676
+to organize his files. And he'll put a public tag on the files
+
+00:10:21.677 --> 00:10:26.476
+in his org database that he wants to have be published to his
+
+00:10:26.477 --> 00:10:29.916
+website. And so you could very easily just set a regular
+
+00:10:29.917 --> 00:10:33.636
+expression matches that public tag and then all of the other
+
+00:10:33.637 --> 00:10:39.676
+files would be not shared. Yeah, and, oh, sorry, I was, I
+
+00:10:39.677 --> 00:10:42.716
+misclicked, I was talking to production for a second. First
+
+00:10:42.717 --> 00:10:45.636
+time it happens today, so I think this is a testament to the
+
+00:10:45.637 --> 00:10:47.996
+level of tightness. But yeah, as you were saying, whatever
+
+00:10:47.997 --> 00:10:51.396
+heuristics you want is actually a good thing. I think people
+
+00:10:51.397 --> 00:10:54.636
+are a little antsy because they tend to brain dump into their
+
+00:10:54.637 --> 00:10:59.836
+Org Roam, Zettelkasten, Denote, and they
+
+00:10:59.837 --> 00:11:02.516
+really don't want some of their personal notes being out
+
+00:11:02.517 --> 00:11:05.596
+there. And well, if you are worried about this, I think
+
+00:11:05.597 --> 00:11:09.356
+learning some Elisp and implementing some Lambda function
+
+00:11:09.357 --> 00:11:13.116
+that allows you to filter with intention might be the best
+
+00:11:13.117 --> 00:11:17.636
+solution for you. So I hope we've covered the question as
+
+00:11:17.637 --> 00:11:21.436
+well as we could have. Next question is more about an idea
+
+00:11:21.437 --> 00:11:24.996
+about trying hyperdrive to distribute the Worg. Does that
+
+00:11:24.997 --> 00:11:28.596
+make sense to you? Yeah, I mean, you could distribute
+
+00:11:28.597 --> 00:11:32.636
+whatever you wanted. I think that'd be a great idea. Okay,
+
+00:11:32.637 --> 00:11:36.116
+great. Moving to the next question, and we have about three
+
+00:11:36.117 --> 00:11:38.316
+minutes, so I think we'll cover the last two questions and
+
+00:11:38.317 --> 00:11:41.023
+we'll move on to the next talk after that.
+
+NOTE 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.)?
+
+00:11:41.024 --> 00:11:43.164
+Could you comment on the visualization thing,
+
+00:11:43.165 --> 00:11:44.716
+Org visualization, and your
+
+00:11:44.717 --> 00:11:47.236
+experience with this type of content in buffers and the
+
+00:11:47.237 --> 00:11:52.916
+various possibilities, SVG, et cetera?
+
+00:11:52.917 --> 00:11:59.916
+Sure. So one thing that we worked on was I added a patch that
+
+00:11:59.917 --> 00:12:05.156
+was merged as part of Emacs 30, which fixes the way that image
+
+00:12:05.157 --> 00:12:14.196
+maps scale when images are scaled. So as an Emacs 30, if you
+
+00:12:14.197 --> 00:12:19.276
+zoom in on an image or shrink an image or rotate an image, now
+
+00:12:19.277 --> 00:12:24.276
+the image map, which is the overlay, so it's not actually an
+
+00:12:24.277 --> 00:12:26.716
+overlay, but it's, so to speak, it's an overlay that allows
+
+00:12:26.717 --> 00:12:30.116
+the images to be clickable based on, you know, where the
+
+00:12:30.117 --> 00:12:32.756
+actual visual display is. You can also click on it or hit help
+
+00:12:32.757 --> 00:12:37.356
+echo. And as of Emacs 30, now that scales with the image
+
+00:12:37.357 --> 00:12:37.796
+itself.
+
+00:12:37.797 --> 00:12:45.236
+The code to make that work on previous versions of Emacs, you
+
+00:12:45.237 --> 00:12:51.756
+can see the advice that we added in hyperdrive-sbb-view, that
+
+00:12:51.757 --> 00:12:55.956
+file in hyperdrive.el, if you're curious to see how you
+
+00:12:55.957 --> 00:13:01.196
+could polyfill that code, so to speak, to make it work on
+
+00:13:01.197 --> 00:13:06.076
+previous versions of Emacs before Emacs 30. But it works
+
+00:13:06.077 --> 00:13:11.076
+great. The way that this works is we generate a GraphViz
+
+00:13:11.077 --> 00:13:16.716
+string that will be sent to GraphViz to render an SVG and also
+
+00:13:16.717 --> 00:13:23.676
+render a CMAPX string. We pipe those back into Emacs and then
+
+00:13:23.677 --> 00:13:27.596
+we generate the image map from the CMAPX file and then we put
+
+00:13:27.597 --> 00:13:32.596
+that image map with the SVG, and we render it in a buffer.
+
+00:13:32.597 --> 00:13:37.076
+Works pretty well. You can check out the code to see exactly
+
+00:13:37.077 --> 00:13:41.876
+how it works. OK, great. Well, sadly, I think we are a little
+
+00:13:41.877 --> 00:13:44.996
+short on time to cover the last two questions. So Joseph, if
+
+00:13:44.997 --> 00:13:47.236
+you want to take a little bit of time maybe to answer the
+
+00:13:47.237 --> 00:13:51.196
+questions in the BBB, you can just do this, even though the
+
+00:13:51.197 --> 00:13:54.476
+stream will be moving to the next talk. But I'll use the
+
+00:13:54.477 --> 00:13:57.716
+opportunity to thank you both for the talk and for your
+
+00:13:57.717 --> 00:14:00.316
+answers, because they were very insightful. And thank you
+
+00:14:00.317 --> 00:14:03.636
+so much for taking the time to be with us today. Thank you,
+
+00:14:03.637 --> 00:14:05.876
+Leo. Enjoy the rest of the conference. Any last words in
+
+00:14:05.877 --> 00:14:10.356
+about 15 seconds? Thank you. I'm grateful for your taking
+
+00:14:10.357 --> 00:14:14.076
+all this time to make this conference possible. Well, you
+
+00:14:14.077 --> 00:14:16.916
+know, the conference would be nothing without the speakers
+
+00:14:16.917 --> 00:14:19.676
+coming and chatting, so you are the ones to thank. I mean, we
+
+00:14:19.677 --> 00:14:21.796
+like the thanking, obviously, but it's mostly you doing the
+
+00:14:21.797 --> 00:14:26.156
+work. All right. Thank you, Joseph. We'll see you later.
+
+00:14:26.157 --> 00:14:26.796
+Bye-bye.
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
new file mode 100644
index 00000000..5f0d3fc5
--- /dev/null
+++ b/2024/captions/emacsconf-2024-julia--exploring-shared-philosophies-in-julia-and-emacs--gabriele-bozzola--answers.vtt
@@ -0,0 +1,346 @@
+WEBVTT
+
+NOTE Q: Do you have any suggestions for interactive debugging of Julia code in Emacs?
+
+00:00:00.000 --> 00:00:05.319
+... answer to that. I, I think the infrastructure for an
+
+00:00:05.320 --> 00:00:08.599
+ecosystem in Julia in general is as mature as other
+
+00:00:08.600 --> 00:00:12.559
+languages, and even debugger infiltrator themselves are
+
+00:00:12.560 --> 00:00:17.519
+not particularly well developed. And so I don't think
+
+00:00:17.520 --> 00:00:21.519
+there's much we can do about that right now. I think that it's
+
+00:00:21.520 --> 00:00:25.999
+unfortunate that most of the development for these type of
+
+00:00:26.000 --> 00:00:31.759
+tools is tightly linked to VS code. But even there, I don't
+
+00:00:31.760 --> 00:00:35.719
+think that there's much done in terms of interactive
+
+00:00:35.720 --> 00:00:42.359
+debugging. So I, yeah, I think this has to be worked on mostly
+
+00:00:42.360 --> 00:00:47.519
+on the Julia side first. And then probably Emacs can get
+
+00:00:47.520 --> 00:00:51.239
+something out of that. I know that there's development in
+
+00:00:51.240 --> 00:00:55.559
+debugger.jl itself for future releases to make it at least
+
+00:00:55.560 --> 00:01:01.839
+faster and more stable. But yeah, I think we're not there as
+
+00:01:01.840 --> 00:01:06.879
+Julia community itself. So let alone Emacs, integration
+
+00:01:06.880 --> 00:01:11.239
+with Emacs. The way I personally debug is mostly using,
+
+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?
+
+00:01:15.200 --> 00:01:21.679
+Emacs. The second question, can you call out something that
+
+00:01:21.680 --> 00:01:26.839
+Julia has that Emacs does not and which could benefit Emacs?
+
+00:01:26.840 --> 00:01:31.879
+Nothing stands out to me except the usual multi-threading
+
+00:01:31.880 --> 00:01:36.119
+and things like this. I don't necessarily see something
+
+00:01:36.120 --> 00:01:42.479
+that Julia has going on that DMX doesn't have, but I see some
+
+00:01:42.480 --> 00:01:45.839
+differences and approaches that I think are important,
+
+00:01:45.840 --> 00:01:49.759
+like the community. I think Julia is a very active and tight
+
+00:01:49.760 --> 00:01:54.159
+community. Julia uses Slack and is very, very active. I
+
+00:01:54.160 --> 00:01:56.559
+think he might say something like that, but it's maybe more
+
+00:01:56.560 --> 00:02:01.799
+on Reddit, IRC. JuliaCon is big and brings together lots and
+
+00:02:01.800 --> 00:02:05.159
+lots of people. And I think the sense of community is really
+
+00:02:05.160 --> 00:02:10.479
+powerful. It's very easy to essentially meet people that
+
+00:02:10.480 --> 00:02:12.919
+are interested in what we're building and interested in
+
+00:02:12.920 --> 00:02:15.999
+what we're doing and interested in Julian, our, you know,
+
+00:02:16.000 --> 00:02:21.239
+hacker spirit. I think Emacs is a very strong community.
+
+00:02:21.240 --> 00:02:24.279
+We're here on a Saturday talking about Emacs, which again
+
+00:02:24.280 --> 00:02:29.679
+proves that we are doing this. But I'd like to emphasize that
+
+00:02:29.680 --> 00:02:33.639
+the community is a really important aspect in Julia that I
+
+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?
+
+00:02:38.160 --> 00:02:46.519
+about Lisp syntax with Julia, like what we can do in Python.
+
+00:02:46.520 --> 00:02:52.359
+I don't think that's, I don't, I am not aware of any package
+
+00:02:52.360 --> 00:02:56.879
+that does that. I would bet that there's something there. I
+
+00:02:56.880 --> 00:03:01.519
+think that that's possible. Indeed, there used to be a Lisp
+
+00:03:01.520 --> 00:03:08.079
+interpreter in Julia itself until the latest release. The
+
+00:03:08.080 --> 00:03:12.039
+syntax parsing was done with a Lisp, it was called TemtoList
+
+00:03:12.040 --> 00:03:18.679
+indeed. I think this got rid, get rid of this for our more
+
+00:03:18.680 --> 00:03:23.039
+Julia-based solution that is faster and with better code
+
+00:03:23.040 --> 00:03:28.599
+provenance. I think that it should be possible to use the
+
+00:03:28.600 --> 00:03:33.319
+metaprogramming features in Julia to change the structure
+
+00:03:33.320 --> 00:03:38.159
+of your syntax to be a Lispy syntax. I do want to emphasize
+
+00:03:38.160 --> 00:03:43.879
+that Julia is heavily inspired by Lisp, so I wouldn't be
+
+00:03:43.880 --> 00:03:49.239
+surprised if if something like this were possible.
+
+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.240 --> 00:03:54.399
+So the next question is about Julia
+
+00:03:54.400 --> 00:03:58.199
+Snail. I found Julia REPL to be a little bit easier to set up
+
+00:03:58.200 --> 00:04:02.839
+and use. So I just settled on that. I should maybe revisit
+
+00:04:02.840 --> 00:04:05.999
+that. In particular, I use the Julia REPL with the vterm
+
+00:04:06.000 --> 00:04:10.959
+backend, which essentially makes a companion REPL to my
+
+00:04:10.960 --> 00:04:15.439
+scripts. And that works for me. I do think that the tooling
+
+00:04:15.440 --> 00:04:19.239
+uh, could be improved. I think there is definitely much room
+
+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?
+
+00:04:26.080 --> 00:04:31.639
+so we have data inspector for Julia REPL.
+
+00:04:31.640 --> 00:04:37.279
+I don't think so. I don't, is there any data inspector
+
+00:04:37.280 --> 00:04:40.439
+in for, for the Julia REPL that we can use in Emacs?
+
+00:04:40.440 --> 00:04:44.839
+I'm not sure. I don't think so.
+
+00:04:44.840 --> 00:04:47.799
+I think the way I look at data is
+
+00:04:47.800 --> 00:04:50.519
+essentially ignoring Emacs when encoded. It's just using the
+
+00:04:50.520 --> 00:04:56.839
+REPL. And again, with Julia REPL. So I'm not aware of any
+
+00:04:56.840 --> 00:05:00.479
+specialized tool And again, maybe this is, again, a good
+
+00:05:00.480 --> 00:05:04.279
+moment to emphasize that tooling, the Julia community
+
+00:05:04.280 --> 00:05:09.079
+clusters around VS Code. And there is tools like the, pretty
+
+00:05:09.080 --> 00:05:14.199
+much all the work with VS Code, unfortunately. And while
+
+00:05:14.200 --> 00:05:17.759
+there's a very, very decent Julia mode and Julia repo mode
+
+00:05:17.760 --> 00:05:21.439
+and Julia snail, there's definitely, definitely room for
+
+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?
+
+00:05:24.360 --> 00:05:27.759
+Next, we have a question about literate programming in
+
+00:05:27.760 --> 00:05:32.439
+Julia. I haven't done much of it with Org Babel or
+
+00:05:32.440 --> 00:05:37.079
+anything else. I haven't done much of it. I can say that Julia
+
+00:05:37.080 --> 00:05:40.719
+has developed a new iteration of notebooks called Pluto.
+
+00:05:40.720 --> 00:05:47.119
+Here I'm thinking about Jupyter notebooks. The Pluto
+
+00:05:47.120 --> 00:05:55.359
+notebooks for Julia try to remove a bunch of the pain points
+
+00:05:55.360 --> 00:06:00.439
+that Jupyter notebooks have, meaning you cannot easily
+
+00:06:00.440 --> 00:06:03.639
+commit them to Git or things like this.
+
+00:06:03.640 --> 00:06:09.279
+I haven't used them, but I know some people are very fond of
+
+00:06:09.280 --> 00:06:13.559
+them. And so I think that that's what some of the Julia
+
+00:06:13.560 --> 00:06:16.879
+community would use for notebooks. And I think they can
+
+00:06:16.880 --> 00:06:22.239
+interact with Emacs with no problem. And that would be a form
+
+00:06:22.240 --> 00:06:26.879
+of later programming. But if you can do it in Python, you can
+
+00:06:26.880 --> 00:06:32.119
+do it in Julia. I think there is no reason. And actually, you
+
+00:06:32.120 --> 00:06:35.839
+can take advantage of all this just-in-time or
+
+00:06:35.840 --> 00:06:38.239
+just-out-of-time compilation by keeping the same
+
+00:06:38.240 --> 00:06:45.199
+session. So I think it will be definitely a nice use case. So
+
+00:06:45.200 --> 00:06:49.199
+these are the questions that I see here. I'm going to scroll
+
+00:06:49.200 --> 00:06:52.759
+through the comments and see if there's something that I
+
+00:06:52.760 --> 00:06:57.319
+should say about comments. I'm excited people want to learn
+
+00:06:57.320 --> 00:07:02.519
+Julia. I have to say that if I want to do GPU computing
+
+00:07:02.520 --> 00:07:06.399
+nowadays, I find it much easier to do it with Julia than with
+
+00:07:06.400 --> 00:07:11.759
+CUDA. So I encourage people to look into that. And I do,
+
+00:07:11.760 --> 00:07:19.359
+again, I would like to share what makes me excited about
+
+00:07:19.360 --> 00:07:23.799
+Emacs, about this being open, being collaborative, being
+
+00:07:23.800 --> 00:07:26.399
+respectable with documentation is something that I find in
+
+00:07:26.400 --> 00:07:30.999
+Julia. So I think people that are excited about the same
+
+00:07:31.000 --> 00:07:35.279
+features will find a little bit of joy in working with Julia.
+
+00:07:35.280 --> 00:07:41.999
+I think I addressed what I have here. I don't know if there's
+
+00:07:42.000 --> 00:07:43.559
+anything else that I should add.
+
+00:07:43.560 --> 00:07:52.879
+It took me a minute to unmute there.
+
+00:07:52.880 --> 00:07:57.519
+No, I think that was awesome. And thank you so much.
+
+00:07:57.520 --> 00:08:00.119
+I guess I thought it would
+
+00:08:00.120 --> 00:08:06.279
+collapse that shared area on BBB, my mistake, on the stream,
+
+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.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.839
+questions and comments. And thank you again so much for your
+
+00:08:17.840 --> 00:08:23.199
+talk and getting us all excited to learn Julia. Thank you.
+
+00:08:23.200 --> 00:08:27.759
+Enjoy EmacsConf. And again, thanks so much for attending,
+
+00:08:27.760 --> 00:08:42.400
+for being EmacsConf. Thank you.
diff --git a/2024/captions/emacsconf-2024-learning--survival-of-the-skillest-thriving-in-the-learning-jungle--bala-ramadurai--answers.vtt b/2024/captions/emacsconf-2024-learning--survival-of-the-skillest-thriving-in-the-learning-jungle--bala-ramadurai--answers.vtt
new file mode 100644
index 00000000..009f023d
--- /dev/null
+++ b/2024/captions/emacsconf-2024-learning--survival-of-the-skillest-thriving-in-the-learning-jungle--bala-ramadurai--answers.vtt
@@ -0,0 +1,961 @@
+WEBVTT
+
+00:00:00.000 --> 00:00:05.159
+I'm doing well. Thank you so much. I was supposed to chat and
+
+00:00:05.160 --> 00:00:08.799
+write down stuff in the etherpad, but you guys accommodated
+
+00:00:08.800 --> 00:00:12.439
+me very nicely, swiftly, efficiently, in spite of my quirky
+
+00:00:12.440 --> 00:00:16.599
+last minute requests. Yeah, but that's okay because, well,
+
+00:00:16.600 --> 00:00:19.479
+it's funny that you talk about accommodating you and doing
+
+00:00:19.480 --> 00:00:22.159
+all the things we need to do because, frankly, your talk is
+
+00:00:22.160 --> 00:00:24.199
+about getting things done and you've mentioned the book,
+
+00:00:24.200 --> 00:00:27.439
+obviously, but the philosophy of getting things done is
+
+00:00:27.440 --> 00:00:30.759
+ultimately what we've been applying with Emacs Conf so that
+
+00:00:30.760 --> 00:00:33.759
+when we have curveballs thrown at us, like you've done right
+
+00:00:33.760 --> 00:00:36.399
+now, we can accommodate them because we made sure that
+
+00:00:36.400 --> 00:00:41.039
+everything else was done. So we'll move to questions and I
+
+00:00:41.040 --> 00:00:45.039
+invite viewers to go to the pad, to the etherpad that is on IRC
+
+00:00:45.040 --> 00:00:48.199
+and also on the talk page and put your questions over there.
+
+00:00:48.200 --> 00:00:51.559
+But first I wanted to make sure, Bala, that if you had
+
+00:00:51.560 --> 00:00:54.639
+anything that you could not include in your presentation,
+
+00:00:54.640 --> 00:01:00.159
+just to give you some time to mention them now if you want. I
+
+00:01:00.160 --> 00:01:09.119
+think I mentioned most of what I wanted to convey. I wanted to
+
+00:01:09.120 --> 00:01:12.479
+keep it general with whichever format people are
+
+00:01:12.480 --> 00:01:15.719
+comfortable with, whether it's Org Mode, whether it's
+
+00:01:15.720 --> 00:01:21.599
+plain text, whether it is docx. In fact, I was speaking to one
+
+00:01:21.600 --> 00:01:25.799
+of my friends and he said, Hey, I use Google Sheets to note
+
+00:01:25.800 --> 00:01:28.679
+down everything, all the tasks that are coming. I said, suit
+
+00:01:28.680 --> 00:01:33.439
+yourself, whatever it is. So, in that way, this methodology
+
+00:01:33.440 --> 00:01:37.359
+or whatever, the way which we follow is quite flexible. The
+
+00:01:37.360 --> 00:01:41.679
+system is quite flexible in whichever way you want to use it.
+
+00:01:41.680 --> 00:01:46.919
+go ahead and use it. But start emptying your teacup. That
+
+00:01:46.920 --> 00:01:50.599
+will be my first and foremost. I have nothing else to add per
+
+00:01:50.600 --> 00:01:54.879
+se. Okay, cool. So we'll start with the first question and
+
+00:01:54.880 --> 00:01:58.279
+I'll be reading the questions to you. And just so we know, we
+
+00:01:58.280 --> 00:02:01.079
+have about eight minutes of Q&A until we need to move to the
+
+00:02:01.080 --> 00:02:03.553
+next talk. All right, so first question.
+
+NOTE Q: What is TRIZ?
+
+00:02:03.554 --> 00:02:06.399
+What is TRIZ? Okay,
+
+00:02:06.400 --> 00:02:11.679
+this is a Russian methodology. It's pardon my, I mean poor
+
+00:02:11.680 --> 00:02:16.679
+Russian, but it translates to theory of inventive problem
+
+00:02:16.680 --> 00:02:21.919
+solving. So, that's what it translates to. What it is, is it
+
+00:02:21.920 --> 00:02:26.119
+is said that all the inventions problem solved so far in
+
+00:02:26.120 --> 00:02:30.239
+humanity. If you can categorize them, they fall into
+
+00:02:30.240 --> 00:02:36.159
+exactly 40 principles. That's one of the core tenets in
+
+00:02:36.160 --> 00:02:40.959
+theory of inventive problem solving. Also, that creative
+
+00:02:40.960 --> 00:02:46.319
+people have a process they follow. and in defining a problem
+
+00:02:46.320 --> 00:02:49.839
+and solving a problem. So, this is what I was trained in a
+
+00:02:49.840 --> 00:02:55.359
+company that I work for and I started using it and started
+
+00:02:55.360 --> 00:02:59.199
+applying it. So, creative process starts with defining a
+
+00:02:59.200 --> 00:03:02.799
+problem and solving a problem in a very systematic manner
+
+00:03:02.800 --> 00:03:06.239
+and you can be as creative as the creatives that we know about
+
+00:03:06.240 --> 00:03:11.759
+as the methodology talks about. So, that is what TRIZ is,
+
+00:03:11.760 --> 00:03:15.639
+Theory of Inventive Problem Solving. There is lot of open
+
+00:03:15.640 --> 00:03:19.799
+source literature like we have in Emacs. It is the same way
+
+00:03:19.800 --> 00:03:24.159
+with TRIZ, people share very generous and you can learn
+
+00:03:24.160 --> 00:03:29.879
+about it. what it can be useful for what in the core of our talk
+
+00:03:29.880 --> 00:03:34.679
+also is that many times we face conflicts, that is, I don't
+
+00:03:34.680 --> 00:03:38.719
+want to spend a lot of time, you know, figuring out a system
+
+00:03:38.720 --> 00:03:42.919
+like this. However, I want everything in one place, you
+
+00:03:42.920 --> 00:03:46.839
+know, how can that happen? So start little by little is one
+
+00:03:46.840 --> 00:03:50.399
+suggestion I have. Don't And this is also a contradiction we
+
+00:03:50.400 --> 00:03:55.199
+have, right? So, we need to spend a lot of time to set up things
+
+00:03:55.200 --> 00:03:58.559
+before we can start organizing our life. But there's not a
+
+00:03:58.560 --> 00:04:01.599
+lot of time because we haven't organized our life. So, we
+
+00:04:01.600 --> 00:04:04.839
+don't have that's a conundrum or a contradiction. That's
+
+00:04:04.840 --> 00:04:09.479
+what TRIZ methodology is about to identify that this is a
+
+00:04:09.480 --> 00:04:15.039
+contradiction and we have to resolve it not compromise. So,
+
+00:04:15.040 --> 00:04:18.319
+resolve it in a manner that gives you enough time to set up a
+
+00:04:18.320 --> 00:04:22.439
+system and enough time, free time to enjoy your life or focus
+
+00:04:22.440 --> 00:04:26.559
+on a project and be present when you're working with
+
+00:04:26.560 --> 00:04:31.439
+something. So, that's what the crux of the methodology is.
+
+00:04:31.440 --> 00:04:34.359
+Okay, splendid answer. Thank you. Moving on to the next one.
+
+NOTE Q: Do you agree that learning similar but different things again and again is ultimately wasted bandwidth? What can we do as technologists to push back against this?
+
+00:04:34.360 --> 00:04:37.199
+Thank you for this talk. Very interesting. One of the things
+
+00:04:37.200 --> 00:04:40.199
+that frustrates me about modern web development is the rate
+
+00:04:40.200 --> 00:04:43.279
+of churn when it comes to useful knowledge. I think Emacs can
+
+00:04:43.280 --> 00:04:45.679
+help to counteract against this by building lasting tools
+
+00:04:45.680 --> 00:04:48.279
+where mastery can be built. Do you agree that learning
+
+00:04:48.280 --> 00:04:50.799
+similar but different things again and again is ultimately
+
+00:04:50.800 --> 00:04:54.079
+wasted bandwidth? What can we do as technologists to push
+
+00:04:54.080 --> 00:05:00.159
+back against this? Yeah, this is an interesting one
+
+00:05:00.160 --> 00:05:04.879
+because, I mean, I'm like everyone else where a new package
+
+00:05:04.880 --> 00:05:09.439
+shows up. I mentioned that in my talk also, the first
+
+00:05:09.440 --> 00:05:12.879
+introduction. Sajajo's newsletter is amazing. It has all
+
+00:05:12.880 --> 00:05:15.599
+these new things coming up and new developments coming up.
+
+00:05:15.600 --> 00:05:18.879
+Same thing with web dev, I guess, you have new things coming
+
+00:05:18.880 --> 00:05:25.519
+up. So you want to learn that new thing. However, you need to
+
+00:05:25.520 --> 00:05:31.559
+also be aware that there are so many other projects and
+
+00:05:31.560 --> 00:05:37.879
+hobbies or life that's also waiting for you. And it's not a
+
+00:05:37.880 --> 00:05:42.799
+balancing act, but if you if you pay attention and be present
+
+00:05:42.800 --> 00:05:46.199
+and give whatever is in front of you, it's full attention.
+
+00:05:46.200 --> 00:05:50.959
+Then look back and connect. That's an interesting way,
+
+00:05:50.960 --> 00:05:55.759
+because hindsight is 20 20. Use it to your advantage. So my I
+
+00:05:55.760 --> 00:05:59.679
+don't know, I don't want to push back against this because
+
+00:05:59.680 --> 00:06:02.879
+some of it is just amazing because it thinks that you think is
+
+00:06:02.880 --> 00:06:05.759
+a waste of time and it's a distraction right now. could
+
+00:06:05.760 --> 00:06:09.719
+potentially be. I'm not saying it will be because there are
+
+00:06:09.720 --> 00:06:13.359
+things that are truly a waste of time that could truly
+
+00:06:13.360 --> 00:06:17.250
+potentially tie back to something and be really helpful.
+
+NOTE org-mode export, CSS, WeasyPrint
+
+00:06:17.251 --> 00:06:22.039
+I can give you an example from our Emacs part of my life. I was
+
+00:06:22.040 --> 00:06:27.839
+experimenting with CSS and Cascade style sheets and how I
+
+00:06:27.840 --> 00:06:34.599
+can customize it to use it in org mode export. For me at the
+
+00:06:34.600 --> 00:06:38.639
+time, it seemed like a waste of time. I was spending so much
+
+00:06:38.640 --> 00:06:42.599
+time. Then I parked it. I didn't do much about it later. But
+
+00:06:42.600 --> 00:06:47.319
+then one of my students said, "Your slides are too bulky for me
+
+00:06:47.320 --> 00:06:49.588
+to scroll through to get to exactly what I am looking for."
+
+00:06:49.589 --> 00:06:55.319
+I was using the reveal HTML and I used to pass on the link
+
+00:06:55.320 --> 00:07:00.999
+before. And the student sort of hinted at a handout. And now
+
+00:07:01.000 --> 00:07:05.319
+that's not easy with the RevealJS framework. It's rather
+
+00:07:05.320 --> 00:07:08.439
+tricky. At least I couldn't figure it out. but then it
+
+00:07:08.440 --> 00:07:10.879
+occurred to me that, hey, wait a second i've already looked at
+
+00:07:10.880 --> 00:07:15.799
+this CSS thing and maybe that'll help. It did help. I can
+
+00:07:15.800 --> 00:07:18.995
+drop in the name of the tool that I use now.
+
+00:07:18.996 --> 00:07:23.016
+It's called WeasyPrint uh let me use the uh
+
+00:07:23.017 --> 00:07:24.877
+i don't know if some...
+
+00:07:24.878 --> 00:07:32.100
+If you can look it up, W-E-A-S-Y print.
+
+00:07:32.101 --> 00:07:32.519
+That's what it's called. And that's
+
+00:07:32.520 --> 00:07:36.399
+mighty useful. That's really, really useful. You can
+
+00:07:36.400 --> 00:07:40.919
+customize it. You can change everything. I think I can even,
+
+00:07:40.920 --> 00:07:44.519
+I'll probably even share the code later on. It's really
+
+00:07:44.520 --> 00:07:48.959
+useful and I've been able to, so what seemed like a waste of
+
+00:07:48.960 --> 00:07:52.039
+time is actually something that became useful later on. But
+
+00:07:52.040 --> 00:07:55.519
+there are several other things I have truly wasted and it's
+
+00:07:55.520 --> 00:07:58.439
+not been useful because I couldn't connect the dots. So,
+
+00:07:58.440 --> 00:08:06.239
+perhaps the, let's say, wasteful of time so that you look at
+
+00:08:06.240 --> 00:08:09.159
+something and see how to connect back like the Zettelkasten
+
+00:08:09.160 --> 00:08:12.839
+that everybody talks about. I do not use it, but I like the
+
+00:08:12.840 --> 00:08:15.399
+idea that you look at it keeping in mind that you could
+
+00:08:15.400 --> 00:08:19.359
+probably connect to something later on. Perhaps, just try
+
+00:08:19.360 --> 00:08:24.519
+it out. OK, great, Bala. Sadly, we are a little short on time
+
+00:08:24.520 --> 00:08:27.159
+to answer all the questions that we have. I see three
+
+00:08:27.160 --> 00:08:31.039
+questions currently that can still be answered, and I don't
+
+00:08:31.040 --> 00:08:33.919
+think any of them would be answerable within just one
+
+00:08:33.920 --> 00:08:37.559
+minute. So what I suggest we do, Bala, feel free. Do you have
+
+00:08:37.560 --> 00:08:40.919
+access to the pad on your end? Yes, I do. I do. I have it here.
+
+00:08:40.920 --> 00:08:43.707
+Okay, cool. I'm putting the link on BBB just in case you need
+
+00:08:43.708 --> 00:08:44.919
+to review it.
+
+00:08:44.920 --> 00:08:47.039
+We're going to leave the room open. By the way,
+
+00:08:47.040 --> 00:08:49.399
+if anyone in the crowd wants to join so that they can ask the
+
+00:08:49.400 --> 00:08:51.919
+question directly with their voice to Bala, feel free to do
+
+00:08:51.920 --> 00:08:56.119
+so. The links are on the website. But Bala, if no one shows up,
+
+00:08:56.120 --> 00:08:58.559
+if you could just answer the three questions that we haven't
+
+00:08:58.560 --> 00:09:01.239
+covered yet, actually. Well, three questions because
+
+00:09:01.240 --> 00:09:04.359
+Sacha just put the link right there. That'd be lovely. And
+
+00:09:04.360 --> 00:09:06.080
+we'll make sure that the entire Q&A
+
+00:09:06.120 --> 00:09:07.839
+finds its place into the
+
+00:09:07.840 --> 00:09:10.719
+website afterwards. How does that sound for you? Yeah,
+
+00:09:10.720 --> 00:09:14.559
+sounds great. Thank you so much. I'll do make sure that I will
+
+00:09:14.560 --> 00:09:17.159
+have the answers there, but I'm going to wait here for some
+
+00:09:17.160 --> 00:09:20.559
+time so that somebody can join. Okay, sure. Any last word in
+
+00:09:20.560 --> 00:09:26.799
+10 seconds for the public? Well, empty your teacup and enjoy
+
+00:09:26.800 --> 00:09:27.199
+your life.
+
+00:09:27.200 --> 00:09:29.879
+Splendid. Thank you so much, Bala, for coming
+
+00:09:29.880 --> 00:09:32.359
+again to EmacsConf this year, and hopefully we'll be seeing
+
+00:09:32.360 --> 00:09:36.439
+you next year with further talks to discuss. Yeah, thank you
+
+00:09:36.440 --> 00:09:39.559
+so much. All right, and right now we'll be moving to the next
+
+00:09:39.560 --> 00:09:42.039
+talk of the day in about five seconds. Thank you again, Bala,
+
+00:09:42.040 --> 00:09:46.799
+and see you later. Bye.
+
+00:09:46.800 --> 00:09:49.399
+All right, we are a fair. So, Bala, I'll need to move to make
+
+00:09:49.400 --> 00:09:51.759
+sure that everything is working for the next talk. So, do as
+
+00:09:51.760 --> 00:09:55.320
+we said, and everything will be fine. Okay.
+
+00:09:55.333 --> 00:09:58.879
+Okay, bye-bye, Bala. Bye. Bye, Leo.
+
+00:09:58.880 --> 00:10:15.119
+Okay.
+
+00:10:15.120 --> 00:10:21.679
+Hello everyone, do you want me to answer a question? I'll be
+
+00:10:21.680 --> 00:10:23.399
+happy to answer that. You want to discuss something? You
+
+00:10:23.400 --> 00:10:27.759
+want to share something? I'm here for that. Please let me
+
+00:10:27.760 --> 00:11:06.479
+know.
+
+00:11:06.480 --> 00:11:10.599
+I'll hang around for another 5 to 10 minutes. Please let me
+
+00:11:10.600 --> 00:11:14.439
+know if you have any questions or if you're the ones who ask
+
+00:11:14.440 --> 00:11:36.739
+those questions also, please let me know.
+
+00:11:36.740 --> 00:11:38.560
+Are you there?
+
+00:11:38.625 --> 00:11:44.359
+Hi, yes. Some tips I've found for getting
+
+00:11:44.360 --> 00:11:50.399
+things done with an image for this stuff is like for
+
+00:11:50.400 --> 00:11:53.919
+separations you have like your Zettelkasten, you're
+
+00:11:53.920 --> 00:11:56.799
+getting things done, and then beyond that you have like
+
+00:11:56.800 --> 00:12:00.559
+dailies and global.
+
+00:12:00.560 --> 00:12:06.439
+Daily Zettelkasten would be journaling. Okay, okay. And
+
+00:12:06.440 --> 00:12:10.479
+then, like, global or daily getting things done, I
+
+00:12:10.480 --> 00:12:11.919
+generally like doing it in a week.
+
+00:12:11.920 --> 00:12:13.800
+And then splitting the,
+
+00:12:13.833 --> 00:12:16.120
+like, core tasks, secondary tasks,
+
+00:12:16.121 --> 00:12:17.220
+unplanned tasks,
+
+00:12:17.221 --> 00:12:22.079
+because those are good categories.
+
+00:12:22.080 --> 00:12:26.439
+I like what you're doing.
+
+00:12:26.440 --> 00:12:32.199
+Sorry? Do you do things like that at all?
+
+00:12:32.200 --> 00:12:38.279
+Or are there separations like with Zettelkasten
+
+00:12:38.280 --> 00:12:45.839
+versus the Getting Things Done?
+
+00:12:45.840 --> 00:12:52.279
+That's very interesting, yes. Daily log and weekly log,
+
+00:12:52.280 --> 00:12:56.800
+that's really helpful. I've also been trying to do that but
+
+00:12:56.821 --> 00:13:02.279
+not being able to successfully do a daily log plus a weekly
+
+00:13:02.280 --> 00:13:06.879
+log. So I gave up on the daily log because it seemed to be like a
+
+00:13:06.880 --> 00:13:12.479
+lot of overhead for me, so I just switch to a weekly review
+
+00:13:12.480 --> 00:13:16.759
+where I would log what's going on and how it is. But it's also
+
+00:13:16.760 --> 00:13:19.759
+interesting to see how it connects back to something that
+
+00:13:19.760 --> 00:13:22.639
+we've already worked on, or we've already learned
+
+00:13:22.640 --> 00:13:26.039
+somewhere, which is essentially using the ZIP and custom
+
+00:13:26.040 --> 00:13:30.239
+method. I probably want to try that a bit later on also.
+
+00:13:30.240 --> 00:13:34.199
+That's a great suggestion, nice idea. Oh, so some of the
+
+00:13:34.200 --> 00:13:38.039
+reason for the separation would be with the daily log, like,
+
+00:13:38.040 --> 00:13:42.839
+for instance, the title for the journal would be, Audinet
+
+00:13:42.840 --> 00:13:47.359
+would be the day, and it starts blank. And then, so if you have
+
+00:13:47.360 --> 00:13:50.159
+a straight thought, if you know it can go straight to your
+
+00:13:50.160 --> 00:13:53.479
+Zettelkasten, it goes into your Zettelkasten. If you don't
+
+00:13:53.480 --> 00:13:57.679
+know where it goes, it goes into your journal. And then same
+
+00:13:57.680 --> 00:14:01.839
+thing for like the week, is like your weeks always start
+
+00:14:01.840 --> 00:14:04.879
+emptying, so like if you have your core tasks, like if it
+
+00:14:04.880 --> 00:14:08.119
+spells beyond three, it's probably not a core task. So it
+
+00:14:08.120 --> 00:14:11.359
+gives you the idea of like, did I actually do what I wanted to
+
+00:14:11.360 --> 00:14:16.999
+yesterday, rather than getting 20 things done that I don't
+
+00:14:17.000 --> 00:14:22.159
+really care about that much. Yes. True, true, true. Very
+
+00:14:22.160 --> 00:14:23.759
+true. Yeah.
+
+00:14:23.760 --> 00:14:30.959
+Nice, nice talk. Thank you so much for sharing that. I've
+
+00:14:30.960 --> 00:14:35.279
+been a, let's say a start and many times I've started on
+
+00:14:35.280 --> 00:14:40.799
+Zettelkasten, you know, with little notes. They have these
+
+00:14:40.800 --> 00:14:43.399
+fleeting notes and permanent notes. I've tried many of
+
+00:14:43.400 --> 00:14:48.199
+those, but somehow it's not sticky for me. I've not been
+
+00:14:48.200 --> 00:14:51.399
+able to get rid of that.
+
+00:14:51.400 --> 00:14:55.919
+Yeah, I've got multiple attempts of using these systems,
+
+00:14:55.920 --> 00:15:01.999
+becoming too big or complex, like I don't know where to put a
+
+00:15:02.000 --> 00:15:06.679
+new piece of information, so then I throw the whole system
+
+00:15:06.680 --> 00:15:14.639
+away. So, this is my favorite iteration that I've done so
+
+00:15:14.640 --> 00:15:23.399
+far. I'm sure it'll change with time. Okay, okay, okay, I
+
+00:15:23.400 --> 00:15:25.079
+see. Yeah, I...
+
+NOTE Daily log
+
+00:15:25.080 --> 00:15:31.759
+I like the way the daily log works, that it has an embedded,
+
+00:15:31.760 --> 00:15:36.799
+you know, you just have a name stamp and then you embed
+
+00:15:36.800 --> 00:15:40.479
+something from another project. And when you go to the
+
+00:15:40.480 --> 00:15:44.559
+project page, the same thing shows up there in the log also. I
+
+00:15:44.560 --> 00:15:48.679
+wanted to take that feature and have that in my optimal
+
+00:15:48.680 --> 00:15:53.399
+setup. I'm not well versed enough to get that set up because I
+
+00:15:53.400 --> 00:15:56.799
+like that with that. Anything I enter in the daily log should
+
+00:15:56.800 --> 00:16:00.359
+show up in my project log also and vice versa. I want to
+
+00:16:00.360 --> 00:16:04.799
+execute on my project. I need that notes where I'm looking
+
+00:16:04.800 --> 00:16:10.599
+for. That's a key feature of that is with logseq you just have
+
+00:16:10.600 --> 00:16:14.160
+a button that says go to today. So you don't think about it and
+
+00:16:14.161 --> 00:16:18.060
+it always starts empty. It's that blank sheet that's always
+
+00:16:18.061 --> 00:16:23.079
+confirming you want the things that I used that before.
+
+00:16:23.080 --> 00:16:26.360
+One of the things I really wanted was, I want this,
+
+00:16:26.397 --> 00:16:29.198
+but I want it for Getting Things Done on my journal.
+
+00:16:29.199 --> 00:16:36.279
+I want two separate ones.
+
+00:16:36.280 --> 00:16:45.319
+Yeah, I like the, also I'm trying to see how to create pages
+
+00:16:45.320 --> 00:16:51.119
+quickly from within Org Mode. I know we can do the square
+
+00:16:51.120 --> 00:16:55.879
+bracket thing and enter and it should go into a new page. but
+
+00:16:55.880 --> 00:17:00.879
+it's not as seamless as in logseq or obsidian i'm trying to
+
+00:17:00.880 --> 00:17:06.239
+see how which way do i do that quickly so that you don't spend
+
+00:17:06.240 --> 00:17:10.439
+time on organizing once you have the bigger setup of the
+
+00:17:10.440 --> 00:17:14.959
+folder structures and the to do then it's easier to
+
+00:17:14.960 --> 00:17:18.599
+integrate it but if i'm starting from a business point of
+
+00:17:18.600 --> 00:17:22.679
+view it's rather tough for them to set it all up because the
+
+00:17:22.680 --> 00:17:27.679
+setup costs are very high in terms of system first and then
+
+00:17:27.680 --> 00:17:30.639
+start with this. Or like you said, you know we could also
+
+00:17:30.640 --> 00:17:33.759
+start with a blank sheet and then start filling it up and then
+
+00:17:33.760 --> 00:17:39.159
+see how to link up things or move it around so that it fits into
+
+00:17:39.160 --> 00:17:44.719
+your larger system or evolve a system as it goes. Don't start
+
+00:17:44.720 --> 00:17:47.959
+with the system in mind, but evolve it because it then fits
+
+00:17:47.960 --> 00:17:52.559
+into how you are rather than the you trying to adapt to the
+
+00:17:52.560 --> 00:17:53.159
+system.
+
+NOTE Capturing
+
+00:17:53.160 --> 00:18:00.559
+So, Denote and org-roam, they'll have a feature, like the
+
+00:18:00.560 --> 00:18:05.199
+note, you have a command called, let's see, create or
+
+00:18:05.200 --> 00:18:09.479
+existing note, and org-roam has an equivalent to that, and
+
+00:18:09.480 --> 00:18:14.999
+what that, you need to consult with that, as you are browsing
+
+00:18:15.000 --> 00:18:19.279
+your notes, you see that, and so if you're making a new note,
+
+00:18:19.280 --> 00:18:23.119
+power generation or something like that you'll easily see
+
+00:18:23.120 --> 00:18:27.799
+if you have any notes that are in power generation or like
+
+00:18:27.800 --> 00:18:30.839
+let's say you have something in power and if you don't you
+
+00:18:30.840 --> 00:18:34.079
+just go down to where you're just you know you don't have
+
+00:18:34.080 --> 00:18:39.599
+anything selected or so it's your what's in your uh what your
+
+00:18:39.600 --> 00:18:46.719
+current so you're not pre-selecting something existing
+
+00:18:46.720 --> 00:18:51.599
+and voila now you have a file And then you have consult so you
+
+00:18:51.600 --> 00:18:57.879
+can preview them as you move up and down the list.
+
+00:18:57.880 --> 00:19:02.319
+And then you also got Emacs
+
+00:19:02.320 --> 00:19:10.719
+Org Capture to just pop up a template
+
+00:19:10.720 --> 00:19:16.599
+capture buffer that is blank that you can tell to go into
+
+00:19:16.600 --> 00:19:20.919
+something like a journal or a GTD inbox.
+
+00:19:20.920 --> 00:19:27.279
+And yeah, this allows you to just make it like a specific
+
+00:19:27.280 --> 00:19:30.999
+buffer to do that specific task. I think Protesilaos has a
+
+00:19:31.000 --> 00:19:35.479
+video about how to make that into just a pop-up window. Like
+
+00:19:35.480 --> 00:19:41.519
+for instance, you're in your browser, you pop it up, Uh, jot
+
+00:19:41.520 --> 00:19:49.599
+down your task, press enter, and it's gone. Hmm, okay. Okay,
+
+NOTE Note silos
+
+00:19:49.600 --> 00:19:54.919
+okay, makes sense, makes sense. Yeah, for me, I wanted to try
+
+00:19:54.920 --> 00:20:01.079
+denote, but my folder structure, I found it very difficult
+
+00:20:01.080 --> 00:20:04.559
+to move it to a denote kind of a structure where the folder
+
+00:20:04.560 --> 00:20:08.519
+hierarchy is not as important because all nodes are treated
+
+00:20:08.520 --> 00:20:12.639
+the same. But for me, because I'm focusing on a project, I
+
+00:20:12.640 --> 00:20:17.079
+need only the project files show up. It was tricky for me to,
+
+00:20:17.080 --> 00:20:20.599
+because sometimes I share the folder with my colleagues and
+
+00:20:20.600 --> 00:20:24.519
+who are not on Emacs or more. So I can't show them all the
+
+00:20:24.520 --> 00:20:28.879
+files, all the notes. I just want that folder to be shared and
+
+00:20:28.880 --> 00:20:32.439
+ignore the todo.org that is there because it's not readable
+
+00:20:32.440 --> 00:20:37.679
+for them. So, I find it easier to share a folder level or a
+
+00:20:37.680 --> 00:20:41.639
+project level and that's why I stuck to this format which is a
+
+00:20:41.640 --> 00:20:46.639
+hierarchy of folders with the to-do inside those folders.
+
+00:20:46.640 --> 00:20:49.719
+That works very well for me, particularly keeping in mind
+
+00:20:49.720 --> 00:20:52.479
+that I need to share some folders sometimes with my
+
+00:20:52.480 --> 00:20:57.439
+colleagues. Whereas Denote with a flat structure or
+
+00:20:57.440 --> 00:21:01.919
+Roam with a flat structure, I find it very tricky to do that.
+
+00:21:01.920 --> 00:21:06.079
+With Denote, you can actually have, there's a feature
+
+00:21:06.080 --> 00:21:07.759
+called silos that will
+
+00:21:07.760 --> 00:21:13.199
+allow you to do both and I think you can make customized
+
+00:21:13.200 --> 00:21:17.959
+commands to go that work only in specific silos. I haven't
+
+00:21:17.960 --> 00:21:20.919
+messed around to it. too much with them. I don't think org run
+
+00:21:20.920 --> 00:21:24.719
+has anything like that though. Yes, I don't think they have
+
+00:21:24.720 --> 00:21:28.239
+that. But I remember seeing silos. Maybe I should give it
+
+00:21:28.240 --> 00:21:32.119
+another spin and see if that works. Because if it can solve my
+
+00:21:32.120 --> 00:21:36.519
+creating new node quickly from the denote part itself while
+
+00:21:36.520 --> 00:21:40.439
+I'm writing the nodes itself rather than go through the R
+
+00:21:40.440 --> 00:21:45.439
+capture. That will really help me in linking back and seeing
+
+00:21:45.440 --> 00:21:49.399
+how it maps to another project that I've already worked on
+
+00:21:49.400 --> 00:21:53.999
+from an archive and then bring it there. I think that's a good
+
+00:21:54.000 --> 00:21:57.639
+idea. I'll look at silos again. Also, with the silos, let's
+
+00:21:57.640 --> 00:22:03.719
+say you're going to use ripgrep on the directory, you could
+
+00:22:03.720 --> 00:22:07.799
+intentionally keep your Zettelkasten and your journal
+
+00:22:07.800 --> 00:22:13.159
+separated. in different folders, like, yeah. So that,
+
+00:22:13.160 --> 00:22:19.039
+like, if you direct them, or if you wanted to share folder by
+
+00:22:19.040 --> 00:22:23.399
+folder basis, yeah, you don't have to be the all-in or
+
+00:22:23.400 --> 00:22:30.759
+nothing approach. Yeah, that works. That works.
+
+00:22:30.760 --> 00:22:35.119
+Excellent.
+
+00:22:35.120 --> 00:22:37.839
+OK.
+
+00:22:37.840 --> 00:22:44.159
+Well, thank you so much for your time and for sharing what is
+
+00:22:44.160 --> 00:22:47.919
+really helpful for me. I hope the talk was useful for you.
+
+00:22:47.920 --> 00:22:53.839
+Yep. Thanks for sharing. Have fun with the rest of the Emacs
+
+00:22:53.840 --> 00:23:00.799
+camp. Okay. All right. Then see you then. Happy Emacs month
+
+00:23:00.800 --> 00:23:06.200
+to you too. Okay. Bye. Bye.
diff --git a/2024/captions/emacsconf-2024-literate--literate-programming-for-the-21st-century--howard-abrams--answers.vtt b/2024/captions/emacsconf-2024-literate--literate-programming-for-the-21st-century--howard-abrams--answers.vtt
new file mode 100644
index 00000000..803d43df
--- /dev/null
+++ b/2024/captions/emacsconf-2024-literate--literate-programming-for-the-21st-century--howard-abrams--answers.vtt
@@ -0,0 +1,996 @@
+WEBVTT
+
+00:00:00.000 --> 00:00:04.839
+I'm doing great. Good to hear from you guys. Yeah, I mean,
+
+00:00:04.840 --> 00:00:07.959
+you've been a regular of the show, I would say, for quite a
+
+00:00:07.960 --> 00:00:11.399
+while, and it's good. I really like the retrospective that
+
+00:00:11.400 --> 00:00:14.959
+you did the first time you attended EmacsConf. And when was
+
+00:00:14.960 --> 00:00:18.759
+it? Was it 2015? I can't actually remember. 2015 was when I
+
+00:00:18.760 --> 00:00:22.319
+presented that, but I did an earlier talk the year before. So
+
+00:00:22.320 --> 00:00:25.479
+yeah, that's why it's kind of thing. It's like, wow, it's
+
+00:00:25.480 --> 00:00:31.279
+been a decade. It's been a while. Yeah, and I'm glad that you
+
+00:00:31.280 --> 00:00:35.559
+are in a much better recording situation than you were in
+
+00:00:35.560 --> 00:00:39.439
+2015 at the back of your colleague's house. It's good to see
+
+00:00:39.440 --> 00:00:44.359
+you at your own place. Well, it's also nice to pre-record and
+
+00:00:44.360 --> 00:00:48.239
+then just share. Yeah, I mean, that's why we keep talking
+
+00:00:48.240 --> 00:00:51.519
+about pre-recording. You know, when we really pushed
+
+00:00:51.520 --> 00:00:53.759
+pre-recordings, I think it was five years ago when we
+
+00:00:53.760 --> 00:00:57.679
+started, people were not really liking it. They thought,
+
+00:00:57.680 --> 00:01:00.039
+oh, but most conferences are just asking you to come and
+
+00:01:00.040 --> 00:01:02.919
+chat. And, you know, I don't need to do the pesky
+
+00:01:02.920 --> 00:01:06.319
+pre-recording. But now, and especially for you regulars,
+
+00:01:06.320 --> 00:01:08.359
+you're really starting to realize that pre-recordings are
+
+00:01:08.360 --> 00:01:11.279
+actually amazing for everyone. You're less stressed on the
+
+00:01:11.280 --> 00:01:14.199
+day of the conference. We, the organizers, are way less
+
+00:01:14.200 --> 00:01:16.519
+stressed. So it's a win-win scenario for absolutely
+
+00:01:16.520 --> 00:01:19.359
+everyone in the equation. Okay, so there's some
+
+00:01:19.360 --> 00:01:22.519
+confirmation bias at work, but I'm not really arguing with
+
+00:01:22.520 --> 00:01:27.639
+what Leo says for the record. It may be that we are just that
+
+00:01:27.640 --> 00:01:30.759
+this stoked that we're lying to ourselves by the
+
+00:01:30.760 --> 00:01:33.959
+opportunity that we have to chat with each of you. Sure.
+
+00:01:33.960 --> 00:01:38.759
+Sure. Sure. I have really appreciated all of the, the
+
+00:01:38.760 --> 00:01:43.559
+transcripts. It's been great that, you know, to be able to
+
+00:01:43.560 --> 00:01:46.519
+read and copy and paste and all that kind of thing. Yeah, it's
+
+00:01:46.520 --> 00:01:49.959
+great. So yeah, let's answer some questions here.
+
+00:01:49.960 --> 00:01:58.159
+Let's see. Yeah, just feel free to jump onto the Etherpad and
+
+00:01:58.160 --> 00:02:01.239
+just drop on the questions. I'll keep answering them all day
+
+00:02:01.240 --> 00:02:07.399
+kind of thing and get better answers as we go along.
+
+NOTE Q: What's the largest code base you've ever tackled with the literate approach (esp. Emacs + Org-mode)?
+
+00:02:07.400 --> 00:02:12.439
+So yeah, the first question here is, what's my largest code base?
+
+00:02:12.440 --> 00:02:18.359
+I kind of touched it in my presentation. However, I think
+
+00:02:18.360 --> 00:02:22.439
+someone just went through and did a better count than it
+
+00:02:22.440 --> 00:02:27.879
+looks like. a little bit more. So
+
+00:02:27.880 --> 00:02:32.959
+as I joked about in the video, we've all worked on larger code
+
+00:02:32.960 --> 00:02:36.799
+bases, but that's still, it's kind of significant. So it's
+
+00:02:36.800 --> 00:02:43.679
+not, so yeah, anyway. So let's talk a little bit about
+
+00:02:43.680 --> 00:02:49.519
+searching for functions here. If you've got your functions
+
+00:02:49.520 --> 00:02:53.679
+in your code or code block, well, you can search for the
+
+00:02:53.680 --> 00:02:59.319
+descriptions, you know, as long as you've evaluated it. And
+
+00:02:59.320 --> 00:03:04.519
+so that wasn't so much of a problem, but I did want to like look
+
+00:03:04.520 --> 00:03:07.839
+at the commentary around any function that I would define.
+
+00:03:07.840 --> 00:03:14.039
+And that's where, yeah, you know, the C-x or the
+
+00:03:14.040 --> 00:03:18.919
+C-f to define that function and display it. It won't
+
+00:03:18.920 --> 00:03:22.279
+pull out the literate stuff around it, obviously, it'll
+
+00:03:22.280 --> 00:03:27.159
+only do the doc header. But if you could search for it and find
+
+00:03:27.160 --> 00:03:30.559
+it quick, then it might be just as useful. And I guess that's
+
+00:03:30.560 --> 00:03:36.079
+why I started getting into seeing if I can't tie that into the
+
+00:03:36.080 --> 00:03:40.839
+X ref. you know, just the standard ways. My first part, I
+
+00:03:40.840 --> 00:03:45.799
+noticed that evil has a different way of searching through
+
+00:03:45.800 --> 00:03:50.999
+for looking for code definitions. That was my first foray
+
+00:03:51.000 --> 00:03:53.959
+into it. It's like, oh, that's not a bad idea. Let's hook it up
+
+00:03:53.960 --> 00:03:58.079
+under, you know, in the standard way.
+
+NOTE Q: Have you ever used org-transclusion?
+
+00:03:58.080 --> 00:04:02.279
+Let's see. Have I ever used org-transclusion?
+
+00:04:02.280 --> 00:04:05.319
+No, I haven't, but I think I want to
+
+00:04:05.320 --> 00:04:08.439
+take a look at it. I haven't heard of it before.
+
+NOTE Q: What is your usage of dynamic blocks in such workflows?
+
+00:04:08.440 --> 00:04:16.519
+Let's see. What's my usage of dynamic blocks in my
+
+00:04:16.520 --> 00:04:21.439
+workflows? You know, that's a real good question. I haven't
+
+00:04:21.440 --> 00:04:26.319
+really used them a lot in all of my workflows, but yeah, it's
+
+00:04:26.320 --> 00:04:29.439
+an interesting, you know, we always start.
+
+00:04:29.440 --> 00:04:30.999
+At first, all
+
+00:04:31.000 --> 00:04:33.679
+we're doing is just taking a few notes, then we start
+
+00:04:33.680 --> 00:04:36.039
+organizing, then we've got links, and then we're writing
+
+00:04:36.040 --> 00:04:39.519
+code blocks, and then agendas, and table, you know, we keep
+
+00:04:39.520 --> 00:04:40.999
+building up on it.
+
+00:04:41.000 --> 00:04:44.399
+I guess I haven't really added that to
+
+00:04:44.400 --> 00:04:46.978
+my workflow, but maybe I'll have to come back
+
+00:04:46.979 --> 00:04:48.839
+and report on that.
+
+NOTE Q: Is the minibuffer being deliberately hidden in this video?
+
+00:04:48.840 --> 00:04:51.599
+Is the mini buffer being deliberately hidden in my
+
+00:04:51.600 --> 00:04:57.879
+video? Not deliberately. I recorded it first and
+
+00:04:57.880 --> 00:05:03.759
+accidentally not clipped the video and turned that all off.
+
+00:05:03.760 --> 00:05:07.359
+So I went through and started fixing all of it. But yeah, so
+
+00:05:07.360 --> 00:05:10.759
+you'll notice the mini buffer kind of comes and goes in the
+
+00:05:10.760 --> 00:05:12.444
+video. Sorry about that.
+
+00:05:12.445 --> 00:05:17.340
+So yeah, it wasn't intentional at all.
+
+NOTE Q: What's your take on Emacs+Org vs. Jupyter notebooks (for interactive programming)?
+
+00:05:17.341 --> 00:05:21.839
+What's my take on Emacs Org versus Jupyter? That's a real
+
+00:05:21.840 --> 00:05:29.519
+good question. I've been toying about seeing if I could do
+
+00:05:29.520 --> 00:05:32.479
+everything that some people do with Jupyter notebooks in
+
+00:05:32.480 --> 00:05:36.079
+order. I don't need to do it as much because I'm still kind of
+
+00:05:36.080 --> 00:05:40.319
+doing a lot of list programming and a lot of my DevOps, which
+
+00:05:40.320 --> 00:05:45.559
+is a lot of shell work and a lot of Python. Most of the Jupyter
+
+00:05:45.560 --> 00:05:49.639
+notebooks, they automatically include a lot of things in
+
+00:05:49.640 --> 00:05:56.679
+from either Julia or Python, like NumPy and all the dynamic
+
+00:05:56.680 --> 00:06:01.439
+stuff that's going on there. Since it has a server,
+
+00:06:01.440 --> 00:06:07.439
+it seems like it's running a lot more stuff and then just
+
+00:06:07.440 --> 00:06:10.719
+shipping it back off into the web app. That has been the
+
+00:06:10.720 --> 00:06:16.239
+biggest challenge as I've tried to kind of duplicate that. I
+
+00:06:16.240 --> 00:06:20.439
+don't really know NumPy and all the math stuff and that sort
+
+00:06:20.440 --> 00:06:25.039
+of stuff that well. So trying to do like matrix
+
+00:06:25.040 --> 00:06:27.359
+multiplications and that kind of thing that seemed to be
+
+00:06:27.360 --> 00:06:33.119
+pretty easy in the Jupyter, it's not very easy in Org. I've
+
+00:06:33.120 --> 00:06:36.639
+attempted to kind of work with Julia and the Julia support
+
+00:06:36.640 --> 00:06:45.759
+for Org is really limited it seems. That's the, So, yeah,
+
+00:06:45.760 --> 00:06:49.199
+there's some improvements we could probably make. So, I
+
+00:06:49.200 --> 00:06:53.159
+think if somebody is comfortable with Jupiter, and that
+
+00:06:53.160 --> 00:06:59.039
+seems to work, you may have to stay there. I don't know how
+
+00:06:59.040 --> 00:07:04.679
+easy. I would be curious to try to see what we could do as a
+
+00:07:04.680 --> 00:07:07.799
+community to kind of make that transition a lot easier.
+
+NOTE Q: Do you think any programming language is more suited to literate programming than another?
+
+00:07:07.800 --> 00:07:12.416
+Do you think any programming language
+
+00:07:12.417 --> 00:07:13.559
+is more suited to literate
+
+00:07:13.560 --> 00:07:16.959
+programming than another? Hey, that's a real good
+
+00:07:16.960 --> 00:07:22.359
+question. A lot of mine is with Emacs Lisp, and obviously
+
+00:07:22.360 --> 00:07:27.639
+that's a first-class citizen in Emacs. Go figure, right? So
+
+00:07:27.640 --> 00:07:33.519
+that one certainly works. A lot depends on the support in the
+
+00:07:33.520 --> 00:07:38.199
+OB version for the Babel work. Python is really well
+
+00:07:38.200 --> 00:07:45.599
+supported, and yeah, Emacs Lisp. Others, Shell, you know,
+
+00:07:45.600 --> 00:07:50.439
+it works, but it's hard to get both the values, the variables
+
+00:07:50.440 --> 00:07:53.479
+out of the environment variables into your thing. So most
+
+00:07:53.480 --> 00:07:58.959
+everything is just with the results of output. So, you know,
+
+00:07:58.960 --> 00:08:03.079
+some languages aren't quite as good as others for sure. I
+
+00:08:03.080 --> 00:08:06.879
+would love to see better support for more interesting
+
+00:08:06.880 --> 00:08:10.439
+languages, especially ones that are compiled. I've been
+
+00:08:10.440 --> 00:08:16.639
+dabbling with Rust and like, yeah, what can we do to have Rust
+
+00:08:16.640 --> 00:08:21.559
+more iterative as well? So...
+
+NOTE Q: Do you use inline org function calls and org babel library and such?
+
+00:08:21.560 --> 00:08:29.159
+Do you use inline org function calls in Org Babel library? So
+
+00:08:29.160 --> 00:08:33.599
+I used to do a lot of Org Babel libraries to kind of share
+
+00:08:33.600 --> 00:08:35.639
+things.
+
+00:08:35.640 --> 00:08:46.399
+Yeah. What I. But yeah. Sorry, I'm just kind of thinking
+
+00:08:46.400 --> 00:08:49.839
+through here. I've done a lot of it in the past. There were a
+
+00:08:49.840 --> 00:08:54.919
+lot of bugs in it. Oh, I don't know, eight years ago when I was
+
+00:08:54.920 --> 00:08:59.359
+playing with it. I bet things have improved a lot more and it
+
+00:08:59.360 --> 00:09:04.239
+probably saved me a lot more effort. Right now, most of the
+
+00:09:04.240 --> 00:09:08.639
+literate devops, the devops kind of stuff that I'm doing, is
+
+00:09:08.640 --> 00:09:14.079
+calling a lot of back-end programs and that sort of thing. So
+
+00:09:14.080 --> 00:09:19.359
+the Org Babel kind of has limited help in that regard. And as
+
+00:09:19.360 --> 00:09:23.999
+far as my Emacs work, well, it's just part of the session. So
+
+00:09:24.000 --> 00:09:26.759
+it's going to be available or not. So that hasn't been as
+
+00:09:26.760 --> 00:09:30.559
+helpful either. So it's kind of dropped off. But I bet if
+
+00:09:30.560 --> 00:09:34.519
+you're using something like, say, Python, it might be a lot
+
+00:09:34.520 --> 00:09:36.969
+more helpful.
+
+NOTE Q: How do you handle the cases where org markup may sometimes interfere with some of the code?
+
+00:09:36.970 --> 00:09:40.159
+Another question, how do you handle the cases
+
+00:09:40.160 --> 00:09:43.999
+where markup may sometimes interfere with some of the code
+
+00:09:44.000 --> 00:09:50.559
+in places where you can't escape? Oh, okay. All right. Let me
+
+00:09:50.560 --> 00:09:54.719
+see if I understand the question correctly.
+
+00:09:54.720 --> 00:10:01.759
+When I, like, when I'm making prose, and I'm talking about a
+
+00:10:01.760 --> 00:10:04.839
+function that I've written somewhere else, like, oh, I need
+
+00:10:04.840 --> 00:10:09.439
+to work on this, or this calls this, and yeah, I'll use the
+
+00:10:09.440 --> 00:10:14.839
+tildes or the equal signs on either side to make sure it's.
+
+00:10:14.840 --> 00:10:20.399
+that it's clear that it's code. In my xref, when I'm doing a
+
+00:10:20.400 --> 00:10:27.479
+thing-at-point so it can go look for that symbol, I do look for
+
+00:10:27.480 --> 00:10:31.919
+those things at the end and strip them off so that I can mark it
+
+00:10:31.920 --> 00:10:35.039
+up and still search and it's still okay. I'm not sure if
+
+00:10:35.040 --> 00:10:39.359
+that's the answer to the question. Yeah, clarifying. I'm
+
+00:10:39.360 --> 00:10:41.759
+making prose. I'm talking about a function I've written
+
+00:10:41.760 --> 00:10:47.319
+somewhere else. Yeah, yeah, yeah, that is what I'm talking
+
+00:10:47.320 --> 00:10:53.279
+about, where a function with tildes on either end, and if I do
+
+00:10:53.280 --> 00:10:57.359
+an xref search find for that symbol, it'll strip that off and
+
+00:10:57.360 --> 00:11:01.439
+then still look for the function name, so I can still mark it
+
+00:11:01.440 --> 00:11:06.219
+correctly.
+
+NOTE Q: You said at the start that literate didn't catch on in corporate DevOps - why not?
+
+00:11:06.220 --> 00:11:08.439
+You said at the start that literate didn't catch on in
+
+00:11:08.440 --> 00:11:14.719
+corporate devops, why not? You know,
+
+00:11:14.720 --> 00:11:18.919
+I guess the big thing is not everybody's using Emacs,
+
+00:11:18.920 --> 00:11:20.610
+and I don't think anybody would be
+
+00:11:20.611 --> 00:11:23.651
+doing literate programming if you didn't
+
+00:11:23.652 --> 00:11:25.199
+have Emacs. I mean, you got to have Org, or it just
+
+00:11:25.200 --> 00:11:29.420
+doesn't work that well, right?
+
+NOTE Q: Why not that full stack on Markdown?
+
+00:11:29.421 --> 00:11:36.359
+Why not that full stack on Markdown? Yeah, so I often do a lot
+
+00:11:36.360 --> 00:11:44.279
+of Markdown. I have got, so I've gone through and make my
+
+00:11:44.280 --> 00:11:49.039
+markdown look a lot like Org. So my headers are the same size
+
+00:11:49.040 --> 00:11:54.759
+as org. When I mark, do the triple back ticks, you know, and
+
+00:11:54.760 --> 00:11:59.279
+specify your language, we can now colorize that.
+
+00:11:59.280 --> 00:12:01.521
+So you can kind of now have it
+
+00:12:01.522 --> 00:12:05.679
+syntactically marked up. It would be
+
+00:12:05.680 --> 00:12:11.199
+interesting if we kind of expanded on Markdown so that I
+
+00:12:11.200 --> 00:12:14.479
+could do a C-c twice on it and run that code block.
+
+00:12:14.480 --> 00:12:22.119
+That's a real good idea. Maybe we should work on that.
+
+NOTE Corwin's aside on orgvm
+
+00:12:22.120 --> 00:12:28.039
+How does your management of TODOs, projects, and tasks
+
+00:12:28.040 --> 00:12:31.679
+interact with this literate mindset? I can't believe I'm
+
+00:12:31.680 --> 00:12:33.879
+going to do this, but Howard, I'm going to break right in
+
+00:12:33.880 --> 00:12:37.119
+there because I just can't. I need to talk about that. So this
+
+00:12:37.120 --> 00:12:41.799
+is I bought a domain. And really what I mean is I have this
+
+00:12:41.800 --> 00:12:45.599
+domain if somebody gets some work done in this area. I'm
+
+00:12:45.600 --> 00:12:48.839
+fascinated by this. That's mostly really actually my whole
+
+00:12:48.840 --> 00:12:52.599
+comment. But I just wanted to say, indeed, that is something
+
+00:12:52.600 --> 00:12:56.599
+maybe we should work on. Well said. I think the idea of having
+
+00:12:56.600 --> 00:12:59.559
+something that's full-stack baked around Emacs is pretty
+
+00:12:59.560 --> 00:13:03.079
+fascinating, just thinking about it as some command line
+
+00:13:03.080 --> 00:13:05.639
+tool that we can run to get some work done, and then there are
+
+00:13:05.640 --> 00:13:07.969
+documents involved, and as you know coming back
+
+00:13:07.970 --> 00:13:10.511
+to the kind of corporate
+
+00:13:10.512 --> 00:13:12.759
+sense of some of the things like there...
+
+00:13:12.760 --> 00:13:15.319
+that's a little dicey the same way a free software
+
+00:13:15.320 --> 00:13:19.038
+project raising money for itself is a little dicey.
+
+00:13:19.039 --> 00:13:21.720
+It might be a necessary way to get through
+
+00:13:21.721 --> 00:13:23.882
+certain kinds of things and like
+
+00:13:23.883 --> 00:13:26.559
+what the corporate side of the world brings to the table
+
+00:13:26.560 --> 00:13:31.989
+Here in my mind is that idea of I've got a formal process,
+
+00:13:31.990 --> 00:13:33.830
+like the process itself is an asset.
+
+00:13:33.831 --> 00:13:35.239
+If I were selling my company,
+
+00:13:35.240 --> 00:13:39.399
+that would be visibly of value to outside auditors that
+
+00:13:39.400 --> 00:13:43.257
+would help us arbitrate the sale. It's just empirical.
+
+00:13:43.258 --> 00:13:48.239
+Then tie that together with free software is maybe a little
+
+00:13:48.240 --> 00:13:53.159
+unstated ethos of doing our work in the open, and you might
+
+00:13:53.160 --> 00:13:58.759
+even deal with some of the ick factor. that you know that for a
+
+00:13:58.760 --> 00:14:05.119
+handler. Maybe so, but yeah, the downside to that is you'd
+
+00:14:05.120 --> 00:14:09.679
+still need to use Emacs to run through it, right? You know,
+
+00:14:09.680 --> 00:14:13.719
+for all those cool features, yes, it would be kind of a yet
+
+00:14:13.720 --> 00:14:17.519
+another killer app that we would have. So my domain name is
+
+00:14:17.520 --> 00:14:22.239
+orgvm, and my concept is really put org into a box, build a UI
+
+00:14:22.240 --> 00:14:25.119
+around it, it executes things that manipulate files that
+
+00:14:25.120 --> 00:14:30.239
+generate, let's say, And that's just one conceptual
+
+00:14:30.240 --> 00:14:34.359
+solution. But I really do think this is a super fun topic. And
+
+00:14:34.360 --> 00:14:37.479
+that's the space. I'm not sure my idea is that wonderful. I
+
+00:14:37.480 --> 00:14:42.439
+personally haven't soaked too many weekends into it. But I
+
+00:14:42.440 --> 00:14:45.159
+just love the way you're thinking in terms of, well, we
+
+00:14:45.160 --> 00:14:49.519
+should think more about that. Gosh, that's great to hear.
+
+NOTE Org and Markdown fragmentation
+
+00:14:49.520 --> 00:14:53.399
+Yeah. Yeah, I mean, just like the talk yesterday on the
+
+00:14:53.400 --> 00:14:57.639
+future of org, it's like, let's standardize it. Because,
+
+00:14:57.640 --> 00:15:03.239
+yeah, we don't want to have org fragmented like Markdown is.
+
+00:15:03.240 --> 00:15:06.839
+Markdown is terribly fragmented. You know, everybody's
+
+00:15:06.840 --> 00:15:10.199
+got different implementations. And Yeah, what I've ended
+
+00:15:10.200 --> 00:15:15.039
+up doing, I don't know if you've seen my blog, but I often I'm
+
+00:15:15.040 --> 00:15:19.119
+always just writing an org and talking to myself and writing
+
+00:15:19.120 --> 00:15:22.919
+questions and answers and essays come out of that. And then
+
+00:15:22.920 --> 00:15:26.319
+I'll put them on my web page and easy. It's easy to publish to a
+
+00:15:26.320 --> 00:15:30.079
+web page. Well, I do the same thing at work, but I need to have
+
+00:15:30.080 --> 00:15:33.319
+it marked down. I don't start Markdown though. I'm always
+
+00:15:33.320 --> 00:15:36.479
+starting an org because that, you know, I can really work
+
+00:15:36.480 --> 00:15:40.239
+through the problem space, you know, executing code blocks
+
+00:15:40.240 --> 00:15:44.759
+and making sure they work and all of that sort of stuff. And
+
+00:15:44.760 --> 00:15:47.959
+then I just export to Markdown and then go cleaned up a little
+
+00:15:47.960 --> 00:15:51.679
+bit if I need to. And that makes sense. But I am editing
+
+00:15:51.680 --> 00:15:55.999
+Markdown afterwards. So yeah, it would be nice. It would be
+
+00:15:56.000 --> 00:16:00.359
+nice. It's just, it's all done over here as opposed to, you
+
+00:16:00.360 --> 00:16:02.879
+know, Adding it over there, but yeah, let's think about
+
+00:16:02.880 --> 00:16:06.519
+every bit as much as as that. You know, I jumped in in the
+
+00:16:06.520 --> 00:16:09.959
+spirit of yes, let's think about it. You know, your, your
+
+00:16:09.960 --> 00:16:12.599
+comments about, let's think about the workflows that work
+
+00:16:12.600 --> 00:16:17.919
+for us. Wow. Does that hit home? Right? So great. Yeah. Yeah.
+
+NOTE Q: How does your management of "TODOs" (projects/tasks) interact with this literate mindset, any insightful things you do on that front?
+
+00:16:17.920 --> 00:16:25.279
+Yeah. Okay. So, uh, on to do's and that sort of thing, um. You
+
+00:16:25.280 --> 00:16:32.199
+know, a lot is the same as it was 10 years ago. At the beginning
+
+00:16:32.200 --> 00:16:33.319
+of every sprint,
+
+00:16:33.320 --> 00:16:38.279
+my company, we're using JIRA.
+
+00:16:38.280 --> 00:16:46.159
+All jokes are valid when I say that. But I just go to its web
+
+00:16:46.160 --> 00:16:49.639
+page. I copy all the tasks that I need to do that sprint. I
+
+00:16:49.640 --> 00:16:54.119
+wrote a function that takes that code and reformats it as a
+
+00:16:54.120 --> 00:16:58.199
+bunch of org tasks for me to do that I can just now have all my
+
+00:16:58.200 --> 00:17:02.799
+to-dos. And I start to work off of that from that point on. So
+
+00:17:02.800 --> 00:17:06.479
+it'll reference all the projects, and I do symlinks to every
+
+00:17:06.480 --> 00:17:12.479
+code base that I need to use. Most of the to-dos I put inside my
+
+00:17:12.480 --> 00:17:16.639
+code block is kind of just for me, just so I can remember it.
+
+00:17:16.640 --> 00:17:21.086
+Because the work that I have to do
+
+00:17:21.087 --> 00:17:24.119
+needs to be tracked a little more
+
+00:17:24.120 --> 00:17:30.629
+fine-grained, I guess. Yeah.
+
+NOTE Q: Do you LP also on larger projects?
+
+00:17:30.630 --> 00:17:33.439
+Do I use LP also on larger
+
+00:17:33.440 --> 00:17:37.199
+projects? More files and nested directories? Yeah, I
+
+00:17:37.200 --> 00:17:43.879
+haven't really done nested directories, but I can now. Now
+
+00:17:43.880 --> 00:17:49.839
+that I've now kind of realized that I have the feature that I
+
+00:17:49.840 --> 00:17:54.439
+demonstrated where I can just jump to any projects for a
+
+00:17:54.440 --> 00:17:59.559
+particular project, all the org files and all the headings
+
+00:17:59.560 --> 00:18:02.439
+show up, that works in nested directories.
+
+00:18:02.440 --> 00:18:10.999
+Oh, okay, yeah, somebody's typing it in. Yeah, so it's
+
+00:18:11.000 --> 00:18:15.359
+definitely possible. And I have now, since I recorded the
+
+00:18:15.360 --> 00:18:20.519
+talk, I've been busy typing in and trying to extract that out
+
+00:18:20.520 --> 00:18:24.479
+of my init file and make it into a package. I'm looking for a
+
+00:18:24.480 --> 00:18:30.239
+good name right now. I'm calling it jobs, jump to project
+
+00:18:30.240 --> 00:18:36.399
+sections. Anyway, but yeah, I think that's kind of a nice,
+
+00:18:36.400 --> 00:18:38.935
+useful feature.
+
+NOTE Q: Have you used Cucumber/Gherkin/BDD and do you think it has a strong overlap to what you talked about here?
+
+00:18:38.936 --> 00:18:41.919
+Have I used Cucumber, Gherkin, and other
+
+00:18:41.920 --> 00:18:44.479
+behavior-driven development?
+
+00:18:44.480 --> 00:18:50.719
+Have I, I mean, I do a lot of...
+
+00:18:50.720 --> 00:19:00.279
+more test driven. I do a lot of unit tests and I just put it
+
+00:19:00.280 --> 00:19:04.679
+right in my code base because if it's in my pros, I can just
+
+00:19:04.680 --> 00:19:07.199
+shove it in there. I've got the test right next to the
+
+00:19:07.200 --> 00:19:11.519
+function that I'm testing. I like that so I can kind of see it.
+
+00:19:11.520 --> 00:19:15.359
+I don't tangle it out to that same source file. I tangle it
+
+00:19:15.360 --> 00:19:19.119
+somewhere else if I tangle it at all because I don't need to. I
+
+00:19:19.120 --> 00:19:23.199
+can just, you know, C-c that and run it. I like that
+
+00:19:23.200 --> 00:19:24.879
+aspect of it.
+
+00:19:24.880 --> 00:19:29.319
+Yeah, just keeping things together. That's the big problem
+
+00:19:29.320 --> 00:19:32.479
+I have with a lot of tests is the tests are somewhere else.
+
+00:19:32.480 --> 00:19:35.319
+It's separate from the code. I like seeing it all together,
+
+00:19:35.320 --> 00:19:39.879
+but a lot depends on how extensive it is. So for a lot of the,
+
+00:19:39.880 --> 00:19:43.359
+you know, the tests that we end up doing where, you know,
+
+00:19:43.360 --> 00:19:47.759
+you've got to do a lot of mocks and a lot of startup and tear
+
+00:19:47.760 --> 00:19:51.839
+down, that kind of thing. Yeah, that doesn't help as much.
+
+00:19:51.840 --> 00:19:54.599
+And you probably have to kind of go old school on that.
+
+NOTE 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?
+
+00:19:54.600 --> 00:20:01.359
+What granularity I'm looking for with my org files and my
+
+00:20:01.360 --> 00:20:03.634
+subcontent? That's a real good question
+
+00:20:03.635 --> 00:20:05.255
+and really subjective.
+
+00:20:05.256 --> 00:20:13.159
+I change that over time. I begin by just dumping.
+
+00:20:13.160 --> 00:20:16.378
+I just dump everything in my head into a file
+
+00:20:16.379 --> 00:20:19.679
+and then I go through and start to refine it.
+
+00:20:19.680 --> 00:20:26.159
+My goal at one point was to have an Emacs config file that was
+
+00:20:26.160 --> 00:20:29.919
+really small and simple. And boy, that just doesn't happen.
+
+00:20:29.920 --> 00:20:35.759
+It's just too fun to add things and try new ideas. And I found
+
+00:20:35.760 --> 00:20:41.839
+my files were just littered with good ideas that were
+
+00:20:41.840 --> 00:20:47.119
+half-baked and not finished. And so it's like, oh, I need to
+
+00:20:47.120 --> 00:20:49.959
+extract these and put them into different files so I can keep
+
+00:20:49.960 --> 00:20:54.359
+it clean. And so I think it's like with any code base, you're
+
+00:20:54.360 --> 00:20:58.999
+just going to keep refactoring. It's an iterative process.
+
+00:20:59.000 --> 00:21:04.199
+So having the ability to, like with an Org file, where you can
+
+00:21:04.200 --> 00:21:09.159
+archive a subtree. Okay, this idea didn't pan out. Archive
+
+00:21:09.160 --> 00:21:13.519
+it. I can come back to it later. Being able to just kind of
+
+00:21:13.520 --> 00:21:20.399
+shove it somewhere else is really a nice little feature. All
+
+00:21:20.400 --> 00:21:25.079
+right. Not a question, just a comment. We need more of your
+
+00:21:25.080 --> 00:21:29.239
+insightful posts and videos. Oh, thanks.
+
+00:21:29.240 --> 00:21:35.519
+I appreciate it. Yes, it's been a fun journey. And I think we
+
+00:21:35.520 --> 00:21:38.519
+are coming up on our time, actually. So that is just an
+
+00:21:38.520 --> 00:21:41.919
+amazing quiz. And it helps me from manipulating, as I said,
+
+00:21:41.920 --> 00:21:46.959
+or as I put it earlier, like my chance as an organizer, or not
+
+00:21:46.960 --> 00:21:50.679
+manipulating, monopolizing my chance as an organizer to
+
+00:21:50.680 --> 00:21:53.439
+just get a chance to pick your brain on all kinds of things,
+
+00:21:53.440 --> 00:21:58.959
+which is too kind, too kind. Appreciate it. It's been fun.
+
+00:21:58.960 --> 00:22:04.679
+All right, I'll try answering more questions online as
+
+00:22:04.680 --> 00:22:07.959
+well. All right, talk to you later. And we appreciate your
+
+00:22:07.960 --> 00:22:10.399
+being in a huge resource that you are to the community.
+
+00:22:10.400 --> 00:22:14.199
+Thanks to everyone for tuning in and we'll be coming over to
+
+00:22:14.200 --> 00:22:18.239
+our next talk in just a moment here. And so bear with us
+
+00:22:18.240 --> 00:22:23.239
+through the transition as we slip into, I think it's our, is
+
+00:22:23.240 --> 00:22:26.919
+that our penultimate or our ultimate talk? We have one or two
+
+00:22:26.920 --> 00:22:30.119
+left, I'm not sure. I think we've got a couple of talks left.
+
+00:22:30.120 --> 00:22:34.079
+I'm back. Thank you, Howard. And we will be moving to the next
+
+00:22:34.080 --> 00:22:37.159
+talk in about six minutes. So if you need to grab some coffee,
+
+00:22:37.160 --> 00:22:42.119
+some tea, use the time wisely. And to confirm, we will have
+
+00:22:42.120 --> 00:22:44.319
+one, two, three more talks this afternoon. So there's still
+
+00:22:44.320 --> 00:22:48.160
+plenty to go around. See you in a bit, folks.
diff --git a/2024/captions/emacsconf-2024-mcclim--elisp-and-mcclim--screwlisp--answers.vtt b/2024/captions/emacsconf-2024-mcclim--elisp-and-mcclim--screwlisp--answers.vtt
new file mode 100644
index 00000000..812e174f
--- /dev/null
+++ b/2024/captions/emacsconf-2024-mcclim--elisp-and-mcclim--screwlisp--answers.vtt
@@ -0,0 +1,574 @@
+WEBVTT
+
+NOTE I would love to see the GUI interacting with the scheduling stuff
+
+00:00:00.000 --> 00:00:01.999
+...volume of code I've written that.
+
+00:00:02.000 --> 00:00:06.319
+I will do a follow-up video with the kind of synchronized
+
+00:00:06.320 --> 00:00:12.519
+elisp-mode stuff because that is the point of the talk. Sorry
+
+00:00:12.520 --> 00:00:38.599
+for talking over you. Please continue.
+
+00:00:38.600 --> 00:00:41.879
+sachac is saying (car kill-ring).
+
+00:00:41.880 --> 00:00:57.559
+Oh, yeah, so this question, they're just asking in the
+
+NOTE Q: Or any other GUI stuff you've worked on in the past that you'd be comfortable showing?
+
+00:00:57.560 --> 00:01:01.319
+Scratchpad, is there any other GUI stuff I've worked on in
+
+00:01:01.320 --> 00:01:07.319
+the past? I guess my Toobnix channel, I was doing a bunch of
+
+00:01:07.320 --> 00:01:12.639
+that, so just Common Lisp development, homed around
+
+00:01:12.640 --> 00:01:16.359
+McCLIM. What is my Toobnix channel? If you find a Toobnix
+
+00:01:16.360 --> 00:01:21.519
+channel and it has a name like Screwtape, that'll
+
+00:01:21.520 --> 00:01:28.679
+presumably be that. So Toobnix is SDF.org's PeerTube.
+
+00:01:28.680 --> 00:01:35.719
+Nope, not that one.
+
+00:01:35.720 --> 00:01:41.319
+Sacha's got it here in the IRC. I think it's
+
+00:01:41.320 --> 00:01:47.959
+screwtape_channels/videos. Yeah. So the
+
+00:01:47.960 --> 00:01:52.639
+author of mastodon.el, which hopefully lots of us are using
+
+00:01:52.640 --> 00:01:58.079
+for our mastodoning, I used the name Screwtape as my
+
+00:01:58.080 --> 00:02:01.519
+username, and I think Wintermute said some kind of
+
+00:02:01.520 --> 00:02:06.119
+exasperated Emacs theme. You know what? Screw Lisp. Then
+
+00:02:06.120 --> 00:02:09.719
+Mousebot of mastodon.el rechristened me screwlisp. So
+
+00:02:09.720 --> 00:02:12.319
+sometimes you see my name written one way, and sometimes you
+
+00:02:12.320 --> 00:02:15.039
+see my name written the other way. I quite like it. A lot of
+
+00:02:15.040 --> 00:02:19.319
+people thought that I was quitting Emacs when I changed my
+
+00:02:19.320 --> 00:02:23.399
+name to be mainly screwlisp. I love it. That's a great story.
+
+00:02:23.400 --> 00:02:27.319
+Thank you. It's so great to have a name from somebody else. I
+
+00:02:27.320 --> 00:02:29.999
+was just thrilled. So thank you, mousebot. Everyone use
+
+00:02:30.000 --> 00:02:35.199
+mousebot's mode. Welcome to Green Guest. I'm with you
+
+00:02:35.200 --> 00:02:38.399
+there. All my kids want to choose their own names, and I'm
+
+00:02:38.400 --> 00:02:41.359
+just like, more power to you. I'm very glad that my parents
+
+00:02:41.360 --> 00:02:45.479
+picked mine for me, and that's one thing I never had to think
+
+00:02:45.480 --> 00:02:50.439
+about. All right, so do we have to cut short so I can go back to
+
+00:02:50.440 --> 00:02:55.839
+watching MPV? of the other stuff. We don't have to, but you
+
+00:02:55.840 --> 00:02:58.999
+are not obligated to sit here one moment more answering our
+
+00:02:59.000 --> 00:03:02.039
+questions than, you know, but of course, you know, we've
+
+00:03:02.040 --> 00:03:07.399
+talked a little before, but I, so I have a pile of questions.
+
+NOTE Lispy Gopher Show
+
+00:03:07.400 --> 00:03:11.159
+You promised to come on the Lispy Gopher show. That's right.
+
+00:03:11.160 --> 00:03:13.239
+I have so much to say. I could, I could, I could come right on
+
+00:03:13.240 --> 00:03:16.039
+your show and just talk to you there, but I'm just curious.
+
+00:03:16.040 --> 00:03:18.559
+Talk to us a little bit about that. Tell us more about the
+
+00:03:18.560 --> 00:03:23.799
+program. Oh, the Lispy Gopher climate. What do we do? So it's
+
+00:03:23.800 --> 00:03:29.039
+hosted by the Superdimensional Fortress, SDF.org, who are
+
+00:03:29.040 --> 00:03:32.919
+a public access Unix mainly. They do their own little radio
+
+00:03:32.920 --> 00:03:38.359
+thing as well. And so I guess for a few years now, I do a weekly
+
+00:03:38.360 --> 00:03:45.559
+show every zero hundred hours UTC. We always start off with
+
+00:03:45.560 --> 00:03:49.119
+kind of climate crisis topics, because that is a climate
+
+00:03:49.120 --> 00:03:54.439
+crisis topic. But there's a sort of joy in that, because Kent
+
+00:03:54.440 --> 00:03:58.279
+Pitman, who Kent Pitman you're familiar with from the
+
+00:03:58.280 --> 00:04:03.599
+Pit Manual and so forth, writes a kind of climate crisis
+
+00:04:03.600 --> 00:04:07.599
+haiku, which we kind of lead out with, and we kind of go into
+
+00:04:07.600 --> 00:04:10.239
+the discussions there. Then obviously the show has- It's a
+
+00:04:10.240 --> 00:04:16.959
+highlight, not gonna lie. Yeah, yeah, I love it. I try and do
+
+00:04:16.960 --> 00:04:19.479
+these dramatic readings, but it's often stumble over.
+
+00:04:19.480 --> 00:04:23.719
+Actually, when Sacha was on, there was an auxiliary poem
+
+00:04:23.720 --> 00:04:27.959
+that happened, which was pretty interesting, too. What was
+
+00:04:27.960 --> 00:04:31.319
+I going to say? Then, I mean, the way we got named the Lispy
+
+00:04:31.320 --> 00:04:33.839
+Gopher Climate was because, broadly speaking, I like to
+
+00:04:33.840 --> 00:04:37.959
+talk about kind of lisp, and most of my writing for a long time
+
+00:04:37.960 --> 00:04:41.919
+was on the Gopher. Though I accidentally locked myself out
+
+00:04:41.920 --> 00:04:45.679
+of the Gopher recently, so there hasn't been an update there
+
+00:04:45.680 --> 00:04:52.159
+for a while. I'm kind of around the IRCs and Mastodon quite a
+
+00:04:52.160 --> 00:04:56.759
+bit now. Lisp, I like to use the term Lisp inclusively,
+
+00:04:56.760 --> 00:04:59.719
+basically. Obviously this talk, I was making the point that
+
+00:04:59.720 --> 00:05:05.519
+I just could go through a 1978 paper written in, and so pre-D
+
+00:05:05.520 --> 00:05:10.279
+machine inter-LISP, right? And it basically just worked in
+
+00:05:10.280 --> 00:05:13.439
+modern Emacs LISP. Somebody was pointing out to me, who
+
+00:05:13.440 --> 00:05:20.119
+pointed out where I was like, I don't know what PUT is in,
+
+00:05:20.120 --> 00:05:23.039
+in Emacs Lisp, and somebody was saying definitely there's
+
+00:05:23.040 --> 00:05:28.319
+put in Emacs Lisp. So I'm going to come back to the recording
+
+00:05:28.320 --> 00:05:31.199
+of this talk, and I'm going to just pinpoint this moment the
+
+00:05:31.200 --> 00:05:34.519
+next time somebody says, we need to modernize Lisp. I'm
+
+00:05:34.520 --> 00:05:37.799
+going to say, no, no, no, this is modern Emacs Lisp. You see,
+
+00:05:37.800 --> 00:05:42.359
+here's people talking about, yeah, I'm just tripping over,
+
+00:05:42.360 --> 00:05:45.519
+not tripping over, I'm amused by your phrase there, but
+
+00:05:45.520 --> 00:05:48.599
+that's exactly how I see it too. And I take your point utterly
+
+00:05:48.600 --> 00:05:53.359
+that, you know, this tradition of Lisp of carrying forward
+
+00:05:53.360 --> 00:05:57.799
+ideas. And, you know, we, you know, especially in Emacs, it
+
+00:05:57.800 --> 00:06:00.799
+really is like a brain trust, right? Buckets of knowledge of
+
+00:06:00.800 --> 00:06:04.399
+how to get some sort of work done, or, you know, how to work
+
+00:06:04.400 --> 00:06:08.919
+with some kind of code or some kind of data. Yeah, but I had a
+
+00:06:08.920 --> 00:06:12.079
+kind of, interesting experience with some great friends of
+
+00:06:12.080 --> 00:06:15.799
+mine, whom I love dearly. Vidak, if you're watching this,
+
+00:06:15.800 --> 00:06:21.559
+I'm gossiping about you people over in Australia there.
+
+NOTE Lisp already did it
+
+00:06:21.560 --> 00:06:25.439
+Where people come to you with really exciting ideas that
+
+00:06:25.440 --> 00:06:30.359
+seem to be very cutting edge and like, you know, very much the
+
+00:06:30.360 --> 00:06:33.559
+current talk of the day, like you can hear in other
+
+00:06:33.560 --> 00:06:36.119
+programming languages, and they're telling you how they
+
+00:06:36.120 --> 00:06:39.639
+think you might be able to do this in Lisp. And you have to say,
+
+00:06:39.640 --> 00:06:43.719
+well, you know, if we go back to the late 70s, where the Lisp
+
+00:06:43.720 --> 00:06:47.959
+community really kind of pioneered this topic already.
+
+00:06:47.960 --> 00:06:51.399
+Here's how we did it in the late 70s. And there's actually
+
+00:06:51.400 --> 00:06:56.439
+quite a kind of awkward, just kind of disjunction there. I
+
+00:06:56.440 --> 00:06:59.079
+mean, that's the thing, right? Where use of Emacs in
+
+00:06:59.080 --> 00:07:03.759
+particular use of Lisp in general will unravel somebody's
+
+00:07:03.760 --> 00:07:06.319
+whole big bag of wind that they've built up around why
+
+00:07:06.320 --> 00:07:10.439
+something has to be rebuilt and well right but that's just a
+
+00:07:10.440 --> 00:07:13.359
+function you know it's data so we'll probably just think
+
+00:07:13.360 --> 00:07:16.679
+about that as I don't know sitting in a variable.
+
+00:07:16.680 --> 00:07:21.359
+Oh, so that whole problem, like the elegance of a solution
+
+00:07:21.360 --> 00:07:25.959
+can entirely fall away once you fall back to an earlier way of
+
+00:07:25.960 --> 00:07:29.479
+thinking about it. And then, you know, look at the pieces
+
+00:07:29.480 --> 00:07:32.039
+you've carried forward the idea of the declarative
+
+00:07:32.040 --> 00:07:37.119
+language, right? Declaring user experience. Yeah. Once
+
+00:07:37.120 --> 00:07:41.999
+again, tangentially to, um, to the actual talk we've just
+
+00:07:42.000 --> 00:07:47.479
+watched, which I will try and follow up on as well. But one
+
+00:07:47.480 --> 00:07:51.919
+example was After watching me use the Common Lisp loop
+
+00:07:51.920 --> 00:07:55.999
+facility so much, Kent pointed out to me, hey, you know, why
+
+00:07:56.000 --> 00:08:01.719
+don't you try using Richard Waters' series iteration
+
+00:08:01.720 --> 00:08:05.799
+stuff, which was kind of lazy evaluation of series that
+
+00:08:05.800 --> 00:08:09.119
+Waters did. And so after criticizing Haskell for a long
+
+00:08:09.120 --> 00:08:12.879
+time, me kind of saying, hey, you know, I don't think this
+
+00:08:12.880 --> 00:08:16.519
+lazy evaluation is important. then Kent pointed out to me
+
+00:08:16.520 --> 00:08:22.399
+that, for example, the series, like what is it? AIM 1082 or
+
+00:08:22.400 --> 00:08:28.799
+something published in 1989 was Lazy Evaluation in LISP
+
+00:08:28.800 --> 00:08:33.639
+with series. And so I thought, well, once I realized that
+
+00:08:33.640 --> 00:08:37.879
+this was part of kind of almost classic LISP history to have
+
+00:08:37.880 --> 00:08:43.679
+lazy evaluation, I adopted series, I kind of had to rethink
+
+00:08:43.680 --> 00:08:47.799
+my LISP worldview to realize it did already include lazy
+
+00:08:47.800 --> 00:08:51.679
+evaluation, which I attributed to the late 80s. And then
+
+00:08:51.680 --> 00:08:55.239
+when I actually read a little bit further, lazy evaluation,
+
+00:08:55.240 --> 00:08:59.159
+depending on your research group, has been, was kind of
+
+00:08:59.160 --> 00:09:02.719
+established in the late 70s by Waters again, actually.
+
+00:09:02.720 --> 00:09:05.719
+Sorry for the anecdote, just kind of the interesting
+
+00:09:05.720 --> 00:09:11.159
+medley. Not at all.
+
+00:09:11.160 --> 00:09:17.919
+Yeah.
+
+00:09:17.920 --> 00:09:25.639
+Ellis over in the IRC has come up with a good slime about
+
+00:09:25.640 --> 00:09:33.339
+async. Oh, I see. So yeah,
+
+00:09:33.340 --> 00:09:38.199
+I guess that would work. I have to try that. OK, so you're just
+
+00:09:38.200 --> 00:09:42.679
+getting me reading this. They have had a stab at resolving
+
+00:09:42.680 --> 00:09:49.279
+our asynchronous calls thing more elegantly than me. Left
+
+00:09:49.280 --> 00:09:53.879
+as an exercise to the listener. It's one of the big virtues of
+
+00:09:53.880 --> 00:09:56.799
+something like a convention. It'll bring us together with
+
+00:09:56.800 --> 00:10:01.079
+other people that can kind of see past the boats in our eyes.
+
+00:10:01.080 --> 00:10:06.239
+Oh yeah, that's easy for me. Yeah, definitely. Hearing
+
+00:10:06.240 --> 00:10:10.279
+somebody else's kind of thought process from you and from
+
+00:10:10.280 --> 00:10:16.639
+just the past speaker who was Robin, I think, because this
+
+00:10:16.640 --> 00:10:19.519
+was in the morning for me, so I just kind of got up and caught
+
+00:10:19.520 --> 00:10:25.919
+some of Robin. Yeah, it's so great, kind of vicariously
+
+00:10:25.920 --> 00:10:30.559
+experiencing somebody else's Emacs usage and how it kind of
+
+00:10:30.560 --> 00:10:34.799
+subtly backs onto their own development flows. Yeah, so I
+
+00:10:34.800 --> 00:10:37.319
+really appreciate this talk. I'm constantly cribbing from
+
+00:10:37.320 --> 00:10:40.519
+everyone I meet. And yeah, this talk has been eye-popping,
+
+00:10:40.520 --> 00:10:43.599
+just watching you casually navigate Emacs, actually.
+
+NOTE IELM
+
+00:10:43.600 --> 00:10:51.519
+Yeah, it's cool. Yeah, I enjoyed discovering IELM mode.
+
+00:10:51.520 --> 00:10:54.959
+That was going to be my other question for people. Are there
+
+00:10:54.960 --> 00:10:59.439
+any IELM Power users around? I could really go for an
+
+00:10:59.440 --> 00:11:05.679
+EmacsConf talk on IELM mode. Aha, yes. Very good. Note
+
+00:11:05.680 --> 00:11:12.199
+taken. Yeah. So, just thoughts for next year? Oh, well, I
+
+00:11:12.200 --> 00:11:15.999
+kind of want to get back onto the MPV, but thank you so much for
+
+00:11:16.000 --> 00:11:22.039
+this. You are cmak in the IRC, right? I am Corwin, same as you.
+
+00:11:22.040 --> 00:11:26.159
+So you're Corwin. There's also cmak, and I guess there are a
+
+00:11:26.160 --> 00:11:28.719
+few other people. Sorry that I'm tripping over the
+
+00:11:28.720 --> 00:11:31.359
+different people here. But you're going to come on the Lispy
+
+00:11:31.360 --> 00:11:35.719
+Gopher Climate later. Sure, I'm happy to. That sounds
+
+00:11:35.720 --> 00:11:38.479
+like fun. I always got a million things to talk about me or an
+
+00:11:38.480 --> 00:11:42.399
+opinion on everything. But of course, my favorite thing to
+
+00:11:42.400 --> 00:11:48.359
+talk about is just the huge thanks that, you know, sharing
+
+00:11:48.360 --> 00:11:53.639
+that, the generosity or the, you know, my appreciation for
+
+00:11:53.640 --> 00:11:57.159
+you and all the other members of the Emacs community that
+
+00:11:57.160 --> 00:12:00.519
+create talks like this and make the conference and the rest
+
+00:12:00.520 --> 00:12:04.839
+of the community so rich. Well, yeah, and thank you for your
+
+00:12:04.840 --> 00:12:09.759
+work. Sacha is just saying over in Lambda that when I say I
+
+00:12:09.760 --> 00:12:13.039
+want someone to give the talk, this means I'm volunteering
+
+00:12:13.040 --> 00:12:17.079
+to give the IELM talk. That's what I wrote down. Oh, yeah. I've
+
+00:12:17.080 --> 00:12:19.479
+been working for Sacha. I mean, helping Sacha with this
+
+00:12:19.480 --> 00:12:23.919
+conference for years. I know. No, I'm kidding. That would be
+
+00:12:23.920 --> 00:12:28.559
+cool. I will absolutely go to your ielm talk. I make a lot of use
+
+00:12:28.560 --> 00:12:32.879
+of that and could do more. Yeah, we're meant to suddenly
+
+NOTE Q: Are we going to get a McCLIM LambdaMOO client?
+
+00:12:32.880 --> 00:12:36.639
+stop. But a guest over in Lambda also said, are we going to get
+
+00:12:36.640 --> 00:12:41.239
+a McCLIM LambdaMOO client? And I actually had all my kind of
+
+00:12:41.240 --> 00:12:44.519
+Moo stuff I'd written in Common Lisp, which I was thinking of
+
+00:12:44.520 --> 00:12:47.639
+just kind of jettisoning. But you're right, I should make
+
+00:12:47.640 --> 00:12:51.479
+that into a client for Common Lisp. Anyway, I'm going to hang
+
+00:12:51.480 --> 00:12:55.839
+up so I can keep watching the conference sounds good so we'll
+
+00:12:55.840 --> 00:12:58.399
+just cut away with the stream throw some music and a
+
+00:12:58.400 --> 00:13:02.799
+countdown uh back on give us just a second to make that on bbb
+
+00:13:02.800 --> 00:13:05.359
+and then i'll give you the big thumbs up thank you thank you
+
+00:13:05.360 --> 00:13:08.359
+recording here we'll get it all posted up uh right next to
+
+00:13:08.360 --> 00:13:09.839
+your awesome pre-recorded talk
+
+00:13:09.840 --> 00:13:17.159
+thanks again like it's been fun chatting and uh Yeah,
+
+00:13:17.160 --> 00:13:20.799
+definitely seeing you around in the conference channel off
+
+00:13:20.800 --> 00:13:23.879
+off season. So to speak, you're like, you're totally
+
+00:13:23.880 --> 00:13:26.679
+welcome to use our chat like it to the extent you need to IRC
+
+00:13:26.680 --> 00:13:29.039
+channel that's been working on great for me. It's fun to fun
+
+00:13:29.040 --> 00:13:30.639
+to see it.
+
+00:13:30.640 --> 00:13:39.319
+All right, I'm gonna hang up this thing. All right. Happy day
+
+00:13:39.320 --> 00:13:44.119
+flowy. Sorry, I mean, screwlisp. Oh my gosh, I have
+
+00:13:44.120 --> 00:13:54.360
+conference brain. Bye bye. All right, later, later.
diff --git a/2024/captions/emacsconf-2024-org-update--the-future-of-org--ihor-radchenko--answers.vtt b/2024/captions/emacsconf-2024-org-update--the-future-of-org--ihor-radchenko--answers.vtt
new file mode 100644
index 00000000..a32b0da2
--- /dev/null
+++ b/2024/captions/emacsconf-2024-org-update--the-future-of-org--ihor-radchenko--answers.vtt
@@ -0,0 +1,1294 @@
+WEBVTT
+
+00:00:00.000 --> 00:00:05.039
+And I believe we are live. Okay. Hi again, Ihor. How are you
+
+00:00:05.040 --> 00:00:09.359
+doing? Ready to answer questions, right? Yes. Ready to
+
+00:00:09.360 --> 00:00:13.039
+answer questions and all this. I mean, ready for
+
+00:00:13.040 --> 00:00:14.999
+everything. It's not just a question, it's the maintenance
+
+00:00:15.000 --> 00:00:21.679
+that is now lying in front of you. So... Oh, that's not the end
+
+00:00:21.680 --> 00:00:25.159
+of the day. I mean, it's a rare thing indeed, because you
+
+00:00:25.160 --> 00:00:27.439
+might not be able to see it on BBB. I'm checking in, but we've
+
+00:00:27.440 --> 00:00:30.599
+got Ihor, obviously, but we also have Bastien and also
+
+00:00:30.600 --> 00:00:34.199
+Carsten in the room. So, we have three maintainers of Org
+
+00:00:34.200 --> 00:00:36.119
+Mode right there in the room to answer all your questions.
+
+00:00:36.120 --> 00:00:40.759
+So, it's a rare occasion that I invite all of you to seize the
+
+00:00:40.760 --> 00:00:44.679
+day on this. Ihor, do you have anything maybe to say before we
+
+00:00:44.680 --> 00:00:49.599
+start moving into the questions? Well, I hope that I said
+
+00:00:49.600 --> 00:00:51.759
+everything I wanted. Hello, Bastien. during the
+
+00:00:51.760 --> 00:00:55.519
+presentation. Well, actually, I can say a lot more, like
+
+00:00:55.520 --> 00:01:01.439
+infinitely, because when I first recorded it, it was like
+
+00:01:01.440 --> 00:01:05.999
+one hour. So yeah. I mean, you did a, I'll just let you know,
+
+00:01:06.000 --> 00:01:08.359
+you did a fine job condensing everything in just 40 minutes.
+
+00:01:08.360 --> 00:01:14.079
+So congratulations on this. Yeah, it's, yeah, usually one
+
+00:01:14.080 --> 00:01:18.039
+minute per slide is the best way. Otherwise, it's something
+
+00:01:18.040 --> 00:01:22.319
+that's wrong with this presentation. Right, so just moving
+
+00:01:22.320 --> 00:01:25.519
+into the question, and by the way we've got 20 minutes, we
+
+00:01:25.520 --> 00:01:27.799
+might be able to chat a little more if Bastien wants to say
+
+00:01:27.800 --> 00:01:29.919
+something as well and Carsten, you know, feel free to
+
+00:01:29.920 --> 00:01:33.119
+intervene at any point during the questions if you've got
+
+00:01:33.120 --> 00:01:35.279
+anything to contribute or our voice will just show the
+
+00:01:35.280 --> 00:01:37.879
+breeze later on. So the first question is relating to
+
+00:01:37.880 --> 00:01:41.479
+something you said about 10 minutes 34 that might speak more
+
+00:01:41.480 --> 00:01:42.685
+to you than to me.
+
+NOTE Q: Is the track-changes item about the org-element parser?
+
+00:01:42.686 --> 00:01:45.159
+Is the track changes item about the org
+
+00:01:45.160 --> 00:01:51.519
+element parser Yes, the track changes is a new library that
+
+00:01:51.520 --> 00:01:58.959
+helps to receive changes in buffers incrementally. So like
+
+00:01:58.960 --> 00:02:03.079
+you can, it has API where you can request what changes
+
+00:02:03.080 --> 00:02:07.999
+happened in buffer since last request, chunk by chunk. And
+
+00:02:08.000 --> 00:02:14.119
+in org mode, in org element parser, we do pretty much the same
+
+00:02:14.120 --> 00:02:19.879
+thing, but using timers. So this track changes library
+
+00:02:19.880 --> 00:02:25.159
+should improve things, first, because it's a bit faster,
+
+00:02:25.160 --> 00:02:29.279
+because we don't need to conjure every single change, and
+
+00:02:29.280 --> 00:02:32.119
+track changes can agglomerate changes into chunks much
+
+00:02:32.120 --> 00:02:36.039
+more efficiently. And second, it's a built-in library, so
+
+00:02:36.040 --> 00:02:40.439
+it's a good idea to use built-in library when there is such an
+
+00:02:40.440 --> 00:02:45.879
+option, instead of running out our own implementation.
+
+00:02:45.880 --> 00:02:49.399
+Definitely. Moving on to the second question, although I'm
+
+00:02:49.400 --> 00:02:52.664
+not sure it refers that much to what you can do.
+
+NOTE Q: Could you please keep IRC alive? I prefer it to Matrix
+
+00:02:52.665 --> 00:02:57.759
+Could you please keep IRC alive? And I prefer it to Matrix. I mean,
+
+00:02:57.760 --> 00:03:03.239
+you did talk about IRC, right? But did we talk about phasing
+
+00:03:03.240 --> 00:03:08.799
+it out? So I try to be live on IRC, but I use mobile client for
+
+00:03:08.800 --> 00:03:12.999
+IRC to keep connected. So I usually connected, I usually see
+
+00:03:13.000 --> 00:03:15.519
+messages, except certain times when I don't have mobile
+
+00:03:15.520 --> 00:03:19.239
+internet. Right. Okay. That's why many people will tell
+
+00:03:19.240 --> 00:03:23.399
+you, you need a bouncer and all this, but the IRC crowd is very
+
+00:03:23.400 --> 00:03:33.679
+loud. I just don't know a good bouncer. I don't have a good
+
+00:03:33.680 --> 00:03:36.399
+setup for a bouncer. Okay.
+
+00:03:36.400 --> 00:03:41.239
+Personally, I use WeChat usually to stay connected to
+
+00:03:41.240 --> 00:03:44.119
+email. It's obviously a client for IRC, but it also allows
+
+00:03:44.120 --> 00:03:47.959
+you to, you know, you can keep it as a bouncer, but it's not in
+
+00:03:47.960 --> 00:03:54.159
+Emacs. It is. I don't have a computer that is running 24
+
+00:03:54.160 --> 00:03:56.839
+hours, so. I mean, that's the thing. I do have a server to run
+
+00:03:56.840 --> 00:04:02.239
+it off. All right, moving on to the third question. That is
+
+00:04:02.240 --> 00:04:06.559
+what is running 24 hours. Right. Okay. All right. Moving on
+
+00:04:06.560 --> 00:04:07.987
+to the third question.
+
+NOTE Q: Is there any plan for adding support for other modalities of notes like handwritten,  audio, etc.?
+
+00:04:07.988 --> 00:04:09.519
+Is there any plan for adding support
+
+00:04:09.520 --> 00:04:11.959
+for other modalities of note-like, handwritten, audio,
+
+00:04:11.960 --> 00:04:14.919
+and et cetera? Would that be interesting to the community?
+
+00:04:14.920 --> 00:04:20.319
+It will definitely be useful for me. I didn't. Okay. So this
+
+00:04:20.320 --> 00:04:25.399
+is not the idea I hear frequently. So there's no plan for such
+
+00:04:25.400 --> 00:04:29.959
+thing. Modalities of notes like handwritten audio. I think
+
+00:04:29.960 --> 00:04:34.519
+John Kitchin did some handwritten note.
+
+00:04:34.520 --> 00:04:46.119
+John Kitchin. Yeah. And for audio, I think as well. I. So
+
+00:04:46.120 --> 00:04:48.999
+basically you can use attachments, you can use images to
+
+00:04:49.000 --> 00:04:54.279
+paste you. I think John Kitchin even use it to automatically
+
+00:04:54.280 --> 00:04:58.519
+recognize notes.
+
+00:04:58.520 --> 00:05:05.359
+I think the previous speaker was talking about a whisper to
+
+00:05:05.360 --> 00:05:10.399
+recognize voice. Right.
+
+00:05:10.400 --> 00:05:13.959
+Otherwise there is no special workflow and I'm not even sure
+
+00:05:13.960 --> 00:05:16.919
+what we can do to support this workflow specifically.
+
+00:05:16.920 --> 00:05:22.759
+Yeah, it definitely feels like Org Mode is a good format for
+
+00:05:22.760 --> 00:05:25.719
+textual stuff, and a lot of things are textual. I mean,
+
+00:05:25.720 --> 00:05:29.679
+that's the whole philosophy behind Emacs. But when it comes
+
+00:05:29.680 --> 00:05:34.439
+to voice, it feels like it's... I think the person asking the
+
+00:05:34.440 --> 00:05:36.799
+question probably needs to specify what they mean by voice.
+
+00:05:36.800 --> 00:05:40.279
+Is it just raw note-taking, as Blaine mentioned in a
+
+00:05:40.280 --> 00:05:43.199
+previous talk, or is it something else? Feel free to add up to
+
+00:05:43.200 --> 00:05:46.759
+the question and we'll return to it later on.
+
+00:05:46.760 --> 00:05:51.919
+I think this is kind of related to drag and drop. I think you
+
+00:05:51.920 --> 00:05:57.279
+would like to be able to have an audio file and drop it in and
+
+00:05:57.280 --> 00:06:00.879
+have it translated to text. I think that would be an
+
+00:06:00.880 --> 00:06:03.959
+interesting API to do this, right? So that you can integrate
+
+00:06:03.960 --> 00:06:07.599
+it into something like drag and drop. I think I'm going to
+
+00:06:07.600 --> 00:06:12.079
+talk with supporters in since overnight. So we have, I
+
+00:06:12.080 --> 00:06:14.959
+believe what constant is alluring to is the fact that not
+
+00:06:14.960 --> 00:06:17.679
+just pictures but imagine if you were bringing in an audio
+
+00:06:17.680 --> 00:06:20.399
+file maybe you could, I mean I'm not sure it would work with
+
+00:06:20.400 --> 00:06:24.279
+whisper but. transcribing it in a way and inserting it as
+
+00:06:24.280 --> 00:06:27.079
+text. Although I'm not sure how we would be able to do this,
+
+00:06:27.080 --> 00:06:30.159
+but it's an interesting idea though. It can work if you write
+
+00:06:30.160 --> 00:06:35.359
+some kind of automatic speech recognition. It's not really
+
+00:06:35.360 --> 00:06:39.479
+a job for work. If you have some library that can transform
+
+00:06:39.480 --> 00:06:43.959
+audio to text or transform image to text in Elixir, then we
+
+00:06:43.960 --> 00:06:47.599
+can happily use that library. Definitely, but I can tell you
+
+00:06:47.600 --> 00:06:50.119
+that Whisper is not something that works very quickly. We do
+
+00:06:50.120 --> 00:06:53.479
+use Whisper AI to transcribe some of the talks that we
+
+00:06:53.480 --> 00:06:56.879
+broadcast during EmacsConf, and I can tell you it takes a
+
+00:06:56.880 --> 00:06:59.359
+fair while. If you have a video that lasts one minute, it's
+
+00:06:59.360 --> 00:07:03.439
+definitely going to take more than one minute to try to
+
+00:07:03.440 --> 00:07:09.239
+transcribe the video. We had to wait for a few years until it
+
+00:07:09.240 --> 00:07:12.679
+passed. Probably, but it's good to have the ID now so
+
+00:07:12.680 --> 00:07:17.479
+that we are ready eventually to do this. There is the new
+
+00:07:17.480 --> 00:07:23.319
+asynchronous IP. It's called org-pending. It's work in
+
+00:07:23.320 --> 00:07:29.599
+progress. And that basically allows to defer inserting
+
+00:07:29.600 --> 00:07:34.199
+text into our buffers until later. And while it's being
+
+00:07:34.200 --> 00:07:37.719
+worked on, it will basically highlight the place where it
+
+00:07:37.720 --> 00:07:43.159
+will be inserted. And you can click on it, see the progress,
+
+00:07:43.160 --> 00:07:49.519
+and stuff like that. So this is for Babylon, but I imagine for
+
+00:07:49.520 --> 00:07:56.159
+things like voice recognition, it can also work.
+
+00:07:56.160 --> 00:07:59.799
+All right, what I suggest we do, we're going to fill the two
+
+00:07:59.800 --> 00:08:02.279
+questions that we have now, and then it'd be nice if we could
+
+00:08:02.280 --> 00:08:05.399
+hear a word from Bastien and from Carsten as well, because
+
+00:08:05.400 --> 00:08:08.719
+it's rare to have all of you three in a room, and it would be
+
+00:08:08.720 --> 00:08:11.439
+nice maybe to chat a little bit about this. So quickly, with
+
+NOTE Q: WRT IETF standardization, have you looked at Karl Voit's OrgDown?
+
+00:08:11.440 --> 00:08:14.199
+the last two questions, with regards to IETF
+
+00:08:14.200 --> 00:08:17.039
+standardization, have you looked at Karl Voit's Orgdown?
+
+00:08:17.040 --> 00:08:24.919
+So, of course, there was a discussion on the mailing list,
+
+00:08:24.920 --> 00:08:28.319
+and there was a lot of pushback to this idea, especially to
+
+00:08:28.320 --> 00:08:33.399
+simplify the syntax. So, in short, the conclusion from
+
+00:08:33.400 --> 00:08:37.799
+there is we want the full syntax, we don't want to have things
+
+00:08:37.800 --> 00:08:43.079
+like different versus Org mode. But for the syntax, we may
+
+00:08:43.080 --> 00:08:49.279
+specify different like coverage. So for example, it's a
+
+00:08:49.280 --> 00:08:53.119
+minimal, it has a minimal support so people can, there's
+
+00:08:53.120 --> 00:08:59.079
+some parsers or apps can support just whatever curl calls
+
+00:08:59.080 --> 00:09:04.239
+fork down like level zero or level one or whatever. But the
+
+00:09:04.240 --> 00:09:10.079
+key point is, when it goes to IETF, we want to have the full
+
+00:09:10.080 --> 00:09:13.119
+syntax. We don't want to split it into pieces.
+
+00:09:13.120 --> 00:09:18.959
+Makes a lot of sense. All right. And the last question we have
+
+NOTE Q: About a year ago we discussed switching GNU documentation from texinfo to org. Do you still consider this?
+
+00:09:18.960 --> 00:09:22.359
+for now. About a year ago, we discussed switching new
+
+00:09:22.360 --> 00:09:26.239
+documentation from texinfo to org. Do you still consider
+
+00:09:26.240 --> 00:09:30.879
+this? definitely contributed to some of the ideas about
+
+00:09:30.880 --> 00:09:34.479
+syntax. For example, the inline special blocks, I think
+
+00:09:34.480 --> 00:09:41.639
+about them with this in mind, so that, so basically, one
+
+00:09:41.640 --> 00:09:45.999
+clarity, we don't want to complicate our syntax, we don't
+
+00:09:46.000 --> 00:09:50.319
+want to have special built-in support for variable, or I
+
+00:09:50.320 --> 00:09:54.319
+don't know, function name, or all this kind of specific
+
+00:09:54.320 --> 00:10:00.959
+markup. But instead, the idea is to have some generic custom
+
+00:10:00.960 --> 00:10:06.479
+syntax. And then when it goes to software manuals, we want
+
+00:10:06.480 --> 00:10:09.759
+some like optional library that will provide certain
+
+00:10:09.760 --> 00:10:12.439
+syntax extensions, like inline special block for
+
+00:10:12.440 --> 00:10:15.479
+variables, inline special block for acronym and stuff like
+
+00:10:15.480 --> 00:10:20.999
+that. Then people who want to use Org mode for manuals should
+
+00:10:21.000 --> 00:10:26.119
+be able to use that new markup to achieve what they want.
+
+00:10:26.120 --> 00:10:34.359
+That's a distant idea. But the key point is we want to keep org
+
+00:10:34.360 --> 00:10:39.039
+mode as generic syntax. We don't want to specialize it for
+
+00:10:39.040 --> 00:10:43.799
+software specifically. But generic in the sense that it can
+
+00:10:43.800 --> 00:10:44.759
+be used for software as well.
+
+00:10:44.760 --> 00:10:50.959
+All right, well thank you so much for your answer here and
+
+00:10:50.960 --> 00:10:56.399
+that was very enlightening but I'd first like to give the mic
+
+00:10:56.400 --> 00:11:00.359
+to Bastien who might need to leave shortly and I just want to
+
+00:11:00.360 --> 00:11:03.559
+make sure that you get to chat a little bit Bastien because
+
+00:11:03.560 --> 00:11:06.199
+it's a big thing we've had you as a maintainer for however
+
+00:11:06.200 --> 00:11:13.199
+long now? Well, officially, it was 14 years. But obviously,
+
+00:11:13.200 --> 00:11:17.999
+EHO has been doing much of the groundwork as a de facto
+
+00:11:18.000 --> 00:11:20.239
+maintainer for several years now, I believe for three or
+
+00:11:20.240 --> 00:11:28.679
+four years. And before Before IHO, there was Nicolas Goaziou,
+
+00:11:28.680 --> 00:11:33.679
+who's doing a lot of work. Also Kyle Meyer, who is still
+
+00:11:33.680 --> 00:11:40.599
+active, backporting Emacs changes. So
+
+00:11:40.600 --> 00:11:46.039
+it's a relief that we can do things properly, that I didn't
+
+00:11:46.040 --> 00:11:51.439
+give up before someone could really step up. I'm glad we're
+
+00:11:51.440 --> 00:11:57.679
+doing this. And I'm glad there was so much help during the
+
+00:11:57.680 --> 00:12:01.959
+time when I was not available enough. Well, thank you,
+
+00:12:01.960 --> 00:12:05.039
+Bastien. I think on behalf of the community, I think I'd like
+
+00:12:05.040 --> 00:12:07.719
+to extend a big thank you for all the work you've done
+
+00:12:07.720 --> 00:12:12.279
+throughout those 14 years. And if we pull the rope just a
+
+00:12:12.280 --> 00:12:15.719
+little more, before those 14 years, we had someone else
+
+00:12:15.720 --> 00:12:18.199
+maintaining Org Mode, well, not actually just maintaining
+
+00:12:18.200 --> 00:12:20.879
+Org Mode, but also inventing it. Carsten, how are you doing?
+
+00:12:20.880 --> 00:12:26.799
+I am. I'm doing fine. A really great opportunity to be here.
+
+NOTE Community
+
+00:12:26.800 --> 00:12:31.279
+First, I would like to start by indeed thanking Bastien
+
+00:12:31.280 --> 00:12:34.839
+because, I mean, he was not only maintainer after I stopped,
+
+00:12:34.840 --> 00:12:37.839
+but already during the time I was there, he was one of the key
+
+00:12:37.840 --> 00:12:40.559
+contributors who helped the project along for quite a bit.
+
+00:12:40.560 --> 00:12:44.759
+So it's an incredible investment of time and energy that
+
+00:12:44.760 --> 00:12:48.399
+Basquiat has shown, which is really fantastic. And now I see
+
+00:12:48.400 --> 00:12:52.479
+Ihor taking over with, as far as I can see, deep knowledge and
+
+00:12:52.480 --> 00:12:56.199
+all the right ideas about philosophy. So I'm really
+
+00:12:56.200 --> 00:13:00.039
+impressed. For me, this is really totally amazing because I
+
+00:13:00.040 --> 00:13:04.719
+started hacking this more than 20 years ago. And to just see
+
+00:13:04.720 --> 00:13:07.679
+that there's a community that has sustained itself with the
+
+00:13:07.680 --> 00:13:11.439
+help of new maintainers for such a long time makes me
+
+00:13:11.440 --> 00:13:13.999
+extremely grateful. So thank you very much to all of you.
+
+00:13:14.000 --> 00:13:20.679
+Okay, well, amazing. I mean, I'm a little flustered, I must
+
+00:13:20.680 --> 00:13:23.559
+admit, because I'm seeing three players of the community in
+
+00:13:23.560 --> 00:13:27.639
+a way that have kept me busy with very fun stuff to do with Org
+
+00:13:27.640 --> 00:13:30.999
+Mode, and it's really amazing to see three giants of the
+
+00:13:31.000 --> 00:13:34.239
+community being able to maintain Org Mode for so long and
+
+00:13:34.240 --> 00:13:38.199
+contribute so much to it. So, again, thanks to all of you
+
+00:13:38.200 --> 00:13:40.981
+three. I must also admit that it's really amazing for me
+
+00:13:40.982 --> 00:13:45.442
+that all of you three stress the importance of the community
+
+00:13:45.440 --> 00:13:48.479
+a whole lot, and I know that Bastien, you've talked about
+
+00:13:48.480 --> 00:13:51.359
+maintaining software last year at Emacs Confs, and even
+
+00:13:51.360 --> 00:13:55.519
+today, during the one-minute little chat that you did in
+
+00:13:55.520 --> 00:13:59.279
+Ihor's chat, you stressed the importance of maintenance and to
+
+00:13:59.280 --> 00:14:06.559
+be future-oriented about it. I'm kind of wondering, why do
+
+00:14:06.560 --> 00:14:12.679
+you think community is so important to Org Mode in general?
+
+00:14:12.680 --> 00:14:14.679
+Like, obviously we've talked about maintainers and we've
+
+00:14:14.680 --> 00:14:16.879
+talked about volunteers, but don't you think there's
+
+00:14:16.880 --> 00:14:19.159
+something more about community in general, about Org Mode
+
+00:14:19.160 --> 00:14:20.950
+and the fact that we are all taking notes
+
+00:14:20.951 --> 00:14:34.799
+and doing so much with it? Yeah, are you asking me?
+
+00:14:34.800 --> 00:14:40.640
+I remember Carsten made his point during the Google talk about
+
+00:14:40.680 --> 00:14:45.159
+the core idea of Org Mode, about mixing note taking and to-do
+
+00:14:45.160 --> 00:14:49.959
+manager. It was really powerful. And also in the same
+
+00:14:49.960 --> 00:14:53.399
+presentation that 98%
+
+00:14:53.400 --> 00:14:57.047
+of the features were organically developed as ideas
+
+00:14:57.048 --> 00:15:00.668
+by the community. And Ihor just said the same today
+
+00:15:00.669 --> 00:15:03.589
+in the presentation, like most of the features,
+
+00:15:03.590 --> 00:15:06.875
+not only the ideas, but also the code came from
+
+00:15:06.876 --> 00:15:11.350
+the communities. So that's why the community is so rich.
+
+00:15:11.351 --> 00:15:12.759
+And another thing is
+
+00:15:12.760 --> 00:15:16.919
+also that I do remember. Now everyone is having kind of an open
+
+00:15:16.920 --> 00:15:20.799
+source fatigue and questions about how is it okay to be
+
+00:15:20.800 --> 00:15:24.039
+maintainer? How do you keep open source project
+
+00:15:24.040 --> 00:15:28.199
+sustainable? And I'm saying open source on purpose with
+
+00:15:28.200 --> 00:15:33.119
+this audience to see beyond just the small GNU project and
+
+00:15:33.120 --> 00:15:36.359
+the small free software community. So at large, there is
+
+00:15:36.360 --> 00:15:40.679
+some sense of fatigue. I remember that the Org community
+
+00:15:40.680 --> 00:15:44.079
+right from the beginning had a reputation of being an
+
+00:15:44.080 --> 00:15:48.839
+amazing community and I think it
+
+00:15:48.840 --> 00:15:54.879
+continues to be one and I'm amazed that sometimes when I'm,
+
+00:15:54.880 --> 00:15:59.199
+you know, sometimes I'm, I have this fatigue of moderating
+
+00:15:59.200 --> 00:16:01.839
+emails from the mailing list, for example, and filtering
+
+00:16:01.840 --> 00:16:06.199
+out spam. And then I go on the list and I read some emails and I
+
+00:16:06.200 --> 00:16:09.536
+feel like, okay, this is still there. And it's really
+
+00:16:09.537 --> 00:16:14.559
+a boost of energy. I wish that this repetition outside Org Mode,
+
+00:16:14.560 --> 00:16:19.239
+outside Emacs, of being a nice welcoming,
+
+00:16:19.240 --> 00:16:22.559
+community of knowledgeable people talking of things
+
+00:16:22.560 --> 00:16:25.319
+and learning from each other that we can
+
+00:16:25.320 --> 00:16:30.159
+keep up with this pace. Yeah, maybe if I
+
+00:16:30.160 --> 00:16:32.919
+can just add to this, I think you're making an extremely
+
+00:16:32.920 --> 00:16:36.679
+important point, Pascal. I think that was really, from the
+
+00:16:36.680 --> 00:16:39.639
+beginning, something that was really special. And I think
+
+00:16:39.640 --> 00:16:45.639
+the reason why we all community still works is that first me,
+
+00:16:45.640 --> 00:16:49.239
+but in particular also the two of you and more people have
+
+00:16:49.240 --> 00:16:53.359
+been able to keep up the friendly spirit in this community.
+
+00:16:53.360 --> 00:16:57.239
+Because we had very few fights on the mailing list. There
+
+00:16:57.240 --> 00:17:02.879
+were a few at some point, we had a few contributors with a
+
+00:17:02.880 --> 00:17:06.719
+little bit of fights. And I remember that I, for example, had
+
+00:17:06.720 --> 00:17:10.159
+to invest a lot of time to keep that one under control, but I
+
+00:17:10.160 --> 00:17:14.199
+think it was totally worth it because as a group, as a whole, I
+
+00:17:14.200 --> 00:17:18.679
+think it was really fantastic. Our friendly people
+
+00:17:18.680 --> 00:17:21.719
+always were, and I think that has spurred all the
+
+00:17:21.720 --> 00:17:22.640
+contributions that we had. Because
+
+00:17:22.680 --> 00:17:25.542
+if you are in a toxic environment, you will
+
+00:17:25.543 --> 00:17:29.458
+not be willing to stay and to invest all their time. And if you
+
+00:17:29.708 --> 00:17:32.291
+are in an appreciative environment where people support
+
+00:17:32.292 --> 00:17:35.191
+each other, it's a completely different game. So I really
+
+00:17:35.192 --> 00:17:38.566
+think that Org Mode is a great example for open source
+
+00:17:38.567 --> 00:17:43.774
+projects that many other communities can learn from.
+
+00:17:43.775 --> 00:17:52.441
+If I may just interject for a second, because we need to go
+
+00:17:52.442 --> 00:17:55.441
+into the next chat for the live stream. But as usual, I invite
+
+00:17:55.442 --> 00:17:57.524
+you, if you're interested with the discussion, we are
+
+00:17:57.525 --> 00:18:01.482
+staying on BBB, asking questions to Bastien, to Ihor and
+
+00:18:01.483 --> 00:18:04.316
+to Carsten. So feel free to join on BBB and chat with them
+
+00:18:04.317 --> 00:18:07.857
+live. The stream will be moving on to the next chat, but we
+
+00:18:07.858 --> 00:18:10.566
+will be recording the Q&A and posting it afterwards on
+
+00:18:10.567 --> 00:18:13.441
+emacsconf. So, I'll use the opportunity to thank you again,
+
+00:18:13.442 --> 00:18:18.941
+all three, for taking part in this EmacsConf, and enjoy the
+
+00:18:18.942 --> 00:18:27.482
+discussion, and we'll see you later! Thank you, bye bye! So,
+
+00:18:27.483 --> 00:18:31.274
+yeah, what I was starting to say actually is I feel that the
+
+00:18:31.275 --> 00:18:35.024
+Org Mode community and to the big extent the Emacs community
+
+00:18:35.000 --> 00:18:38.679
+is a bit like research in the early days when there was a bunch
+
+00:18:38.680 --> 00:18:43.959
+of enthusiasts who just exchanged mails together and tried
+
+00:18:43.960 --> 00:18:49.159
+to find out something new. And there was like no feeling of
+
+00:18:49.160 --> 00:18:52.719
+competition or too much competition at that time. Unlike
+
+00:18:52.720 --> 00:18:58.759
+now when we like we all rise for funding and stuff. So it's,
+
+00:18:58.760 --> 00:19:02.199
+it's really, it's really nice to, to, to have communities
+
+00:19:02.200 --> 00:19:05.919
+that has the spirit and they hope it can keep the spirit in
+
+00:19:05.920 --> 00:19:08.279
+future as well.
+
+00:19:08.280 --> 00:19:14.599
+Yeah. Yeah. I thought I'm very optimistic after. So I mean,
+
+00:19:14.600 --> 00:19:18.679
+actually had not been reading the mailing list for quite a
+
+00:19:18.680 --> 00:19:23.039
+while, but I started to read it again a little while ago and I
+
+00:19:23.040 --> 00:19:26.719
+could just see you also working on it and see how everything
+
+00:19:26.720 --> 00:19:30.919
+was going. That made me extremely happy to see that and made
+
+00:19:30.920 --> 00:19:37.679
+me very proud that this is still ongoing.
+
+00:19:37.680 --> 00:19:42.799
+I was interested about your point about the tables with
+
+00:19:42.800 --> 00:19:49.079
+multi-lines. My unsolicited advice is don't do it, because
+
+00:19:49.080 --> 00:19:52.639
+I think it's going to be a mess. Which I think is reflected
+
+00:19:52.640 --> 00:19:56.039
+also by you saying that nobody has a good idea on how to do
+
+00:19:56.040 --> 00:20:01.079
+this. I have certainly thought about it. It is requested so
+
+00:20:01.080 --> 00:20:04.599
+often. It's requested so often that it feels like it would be
+
+00:20:04.600 --> 00:20:07.959
+nice to come out with something. The question is, it is what?
+
+00:20:07.960 --> 00:20:11.399
+Yeah, that's a big question. Because I don't always ask
+
+00:20:11.400 --> 00:20:15.919
+eDocs, for example, and they do have multi line cells in
+
+00:20:15.920 --> 00:20:21.279
+tables, but that syntax is so ugly. Yes. Yeah, no, exactly. I
+
+00:20:21.280 --> 00:20:28.719
+think this is a problem and the question is, how far do you
+
+00:20:28.720 --> 00:20:33.639
+want to develop or want to be a completely full authoring
+
+00:20:33.640 --> 00:20:35.839
+system in the sense that you have all these options there
+
+00:20:35.840 --> 00:20:39.999
+because I think to me, the Org Mode tables have a specific
+
+00:20:40.000 --> 00:20:42.759
+application. They have this fast way of building
+
+00:20:42.760 --> 00:20:46.079
+something. And if I would have to go and build a hugely
+
+00:20:46.080 --> 00:20:50.279
+complicated table with different numbers of columns and
+
+00:20:50.280 --> 00:20:53.959
+columns going away and appearing further down the table, so
+
+00:20:53.960 --> 00:20:56.639
+I would probably go somewhere else. So for me, this seems to
+
+00:20:56.640 --> 00:21:00.319
+be overkill. So I don't want to curb anybody's enthusiasm.
+
+00:21:00.320 --> 00:21:04.919
+But I think it's really important to keep to keep the kind of
+
+00:21:04.920 --> 00:21:11.199
+functionality that it has. It's a very easy use and quick
+
+00:21:11.200 --> 00:21:15.879
+ability to do something interesting that I think is more
+
+00:21:15.880 --> 00:21:23.319
+important. There could be reasons to not do something. So
+
+00:21:23.320 --> 00:21:28.399
+again, the thing is, we don't have a good idea. But what I know
+
+00:21:28.400 --> 00:21:32.319
+100% is that we are not going to give up the existing syntax.
+
+00:21:32.320 --> 00:21:38.839
+Yeah, for sure. So even if you come up with something good,
+
+00:21:38.840 --> 00:21:42.279
+the existing syntax will remain working. And if people who
+
+00:21:42.280 --> 00:21:46.159
+need to use simple tables, they should remain possible in
+
+00:21:46.160 --> 00:21:52.759
+exactly the same way. But I know many people struggle and try
+
+00:21:52.760 --> 00:21:55.839
+in LaTeX and other workarounds just to create more complex
+
+00:21:55.840 --> 00:22:01.039
+tables. So there's clearly a demand. I think this is related
+
+00:22:01.040 --> 00:22:04.439
+to the other question that you asked earlier. I think it's
+
+00:22:04.440 --> 00:22:06.639
+related to the question about the different parsers. And
+
+00:22:06.640 --> 00:22:09.999
+then, of course, the way the tables are implemented now is by
+
+00:22:10.000 --> 00:22:11.944
+basically just looking at what's around you
+
+00:22:11.945 --> 00:22:13.484
+and doing the right things with
+
+00:22:13.485 --> 00:22:20.479
+this regular expression-based part of
+
+00:22:20.480 --> 00:22:24.279
+the parser. And you probably would have to fully use the
+
+00:22:24.280 --> 00:22:28.839
+other parts and to do all the changes in the formal structure
+
+00:22:28.840 --> 00:22:31.559
+in order to do something like this. So I have to be honest that
+
+00:22:31.560 --> 00:22:35.559
+I don't understand this well enough to really have a
+
+00:22:35.560 --> 00:22:39.679
+meaningful idea about it. Not only that, we'll also need to
+
+00:22:39.680 --> 00:22:42.799
+rewrite the spreadsheet functionality because it is
+
+00:22:42.800 --> 00:22:47.679
+completely using regular expressions. Exactly. Not only
+
+00:22:47.680 --> 00:22:50.639
+idea is missing that the roadmap will be very complicated if
+
+00:22:50.640 --> 00:22:57.519
+you get there. Yeah. I mean, I do remember. Yeah, go ahead.
+
+00:22:57.520 --> 00:23:03.359
+Yeah, sorry. I do remember Richard Stallman saying that
+
+00:23:03.360 --> 00:23:09.759
+Org Mode was doing too much. So my answer was just, coming from
+
+00:23:09.760 --> 00:23:14.159
+the inventor of Emacs, I took it as a compliment for Org Mode.
+
+00:23:14.160 --> 00:23:19.319
+But of course, that was just humor. And I agree that the
+
+00:23:19.320 --> 00:23:24.279
+simple things should keep being simple. And I like the
+
+00:23:24.280 --> 00:23:30.039
+custom syntax idea of Juan because it goes in the direction
+
+00:23:30.040 --> 00:23:34.159
+of flexibility while keeping things simple.
+
+00:23:34.160 --> 00:23:40.319
+And looking forward to what people will come up with. I like
+
+00:23:40.320 --> 00:23:44.839
+the idea that you want to formalize the syntax. I think that
+
+00:23:44.840 --> 00:23:48.479
+is really very good. I'd like to also submit it. I think that
+
+00:23:48.480 --> 00:23:52.359
+would be excellent. I'm also... I think it was proposed by
+
+00:23:52.360 --> 00:23:57.239
+Timothy, yeah. Initially. Okay. Yeah, that's really
+
+00:23:57.240 --> 00:24:02.839
+helpful. Pascal, are you still talking, I think? No, yeah, I
+
+00:24:02.840 --> 00:24:08.399
+just wanted to say also for the younger Emacs users, there is
+
+00:24:08.400 --> 00:24:12.839
+a lot of new things in Emacs the last five years. It has been so
+
+00:24:12.840 --> 00:24:17.719
+exciting. And I believe it's exciting for Org Mode too, the
+
+00:24:17.720 --> 00:24:22.439
+things you mentioned about track changes. uh native
+
+00:24:22.440 --> 00:24:25.639
+compilation and all that stuff that that's really good like
+
+00:24:25.640 --> 00:24:29.879
+some some performance problems that we had for org mode for
+
+00:24:29.880 --> 00:24:33.759
+the agenda and stuff like that were suddenly solved by uh the
+
+00:24:33.760 --> 00:24:38.159
+the crazy amazing work by Eli and emacs maintainers so
+
+00:24:38.160 --> 00:24:40.457
+it's really exciting for org as well.
+
+00:24:40.458 --> 00:24:43.566
+I don't know how you feel, Ihor, about this,
+
+00:24:43.567 --> 00:24:45.482
+but I know you are reading the Emacs
+
+00:24:45.483 --> 00:24:50.732
+development mailing list and keeping this is a job in
+
+00:24:50.733 --> 00:24:54.774
+itself, but it's really exciting for everyone, I guess. Not
+
+00:24:54.775 --> 00:24:58.274
+only that, I hope we can upstream org-ql, which will speed up
+
+00:24:58.275 --> 00:25:00.566
+agenda specifically even more.
+
+00:25:00.567 --> 00:25:06.982
+Okay. I need to fly away, but it was really nice connecting
+
+00:25:06.983 --> 00:25:13.899
+and I hope everyone has a great conference. Bye-bye. It was
+
+00:25:13.900 --> 00:25:16.107
+so good to see you. Thank you again for everything that you
+
+00:25:16.108 --> 00:25:21.399
+have done. Thanks to you both. Thank you. Bye-bye. Bye-bye.
+
+NOTE Off-stream Q&A
+
+00:25:28.520 --> 00:25:35.959
+All right. Is it only the two of us now? I don't really know who
+
+00:25:35.960 --> 00:25:40.239
+else. Can you see if there's anybody else in this room? I
+
+00:25:40.240 --> 00:25:45.079
+don't know. There are like two, four, six people and Sacha is
+
+00:25:45.080 --> 00:25:48.159
+one of them, so probably five people. Oh, Sacha is here.
+
+00:25:48.160 --> 00:25:51.999
+Okay. I haven't heard her say anything, but I see her in the
+
+00:25:52.000 --> 00:25:58.479
+chat. Okay. It's the same room, basically. Hi, Sacha. Oh,
+
+00:25:58.480 --> 00:26:02.199
+okay. They're also at her pad, so we may want to finish other
+
+00:26:02.200 --> 00:26:08.839
+questions, maybe, if there are some. This is just a circle.
+
+NOTE microemacs
+
+00:26:08.840 --> 00:26:12.079
+This is just a historical question, but Carsten, I think you
+
+00:26:12.080 --> 00:26:14.359
+used microemacs back in the day.
+
+00:26:14.360 --> 00:26:17.839
+Did that have any influence
+
+00:26:17.840 --> 00:26:23.879
+on Org? That is a really interesting question. I used
+
+00:26:23.880 --> 00:26:27.359
+microemacs as my first version of emacs, and then I stepped
+
+00:26:27.360 --> 00:26:33.359
+over to Emacs. I actually did two things at the same time. I
+
+00:26:33.360 --> 00:26:39.119
+also was working with so Awk basically, that language. I ran
+
+00:26:39.120 --> 00:26:45.599
+against walls with both Micro-Emacs and with Awk, where I had
+
+00:26:45.600 --> 00:26:48.639
+the feeling I don't have enough freedom to do everything
+
+00:26:48.640 --> 00:26:52.839
+that I wanted, so I switched to Perl on one side and to Emacs on
+
+00:26:52.840 --> 00:26:58.679
+the other side. That's what it was. Micro-Emacs absolutely
+
+00:26:58.680 --> 00:27:02.679
+had the function to pull me into Emacs, But it's not that I
+
+00:27:02.680 --> 00:27:04.759
+have specific microemacs features that would have
+
+00:27:04.760 --> 00:27:08.119
+triggered me to do something for Org Mode. I think that would be
+
+00:27:08.120 --> 00:27:14.207
+the answer to your question. All right, thanks.
+
+00:27:14.200 --> 00:27:21.639
+Are you a user of microemacs, George? I posted the source to
+
+00:27:21.640 --> 00:27:26.719
+CompSource's Amiga in 86, and I was somewhat responsible
+
+00:27:26.720 --> 00:27:31.959
+for it being in the wild. Oh, I'm so sorry that I didn't,
+
+00:27:31.960 --> 00:27:35.199
+wasn't really aware that I made the connection to your name.
+
+00:27:35.200 --> 00:27:39.719
+No, no, no, no. We all moved on and the world is a better place.
+
+00:27:39.720 --> 00:27:44.799
+Yeah. No, I actually did use it for something like, I think
+
+00:27:44.800 --> 00:27:47.440
+six years as my only admin at the time before I made the
+
+00:27:47.440 --> 00:27:51.359
+switch. No, I put it out to the list. David Lawrence ran with
+
+00:27:51.360 --> 00:27:55.399
+it and you know, that was about, that was the end of it. And I
+
+00:27:55.400 --> 00:27:57.599
+actually implemented something like fly spell for
+
+00:27:57.600 --> 00:28:02.359
+microemacs. I remember doing that at some point. Yeah, no, I
+
+00:28:02.360 --> 00:28:05.319
+don't want us to get stuck on that. I don't want us to get stuck
+
+00:28:05.320 --> 00:28:10.279
+on that, so. Yeah, yeah. Good. Thank you. Thank you for
+
+00:28:10.280 --> 00:28:17.679
+Org Mode. Yeah, you're most welcome.
+
+00:28:17.680 --> 00:28:22.199
+For microemacs, actually, I also tried it once. It feels
+
+00:28:22.200 --> 00:28:27.959
+like at home after Emacs, of course, the major downside was at
+
+00:28:27.960 --> 00:28:33.599
+this point is that there is no UTF support. I think that was
+
+00:28:33.600 --> 00:28:40.039
+like, unfortunately, that that's not going to work. I
+
+00:28:40.040 --> 00:28:43.959
+think I'm also going to disconnect now. But it was really
+
+00:28:43.960 --> 00:28:49.119
+fantastic to listen to your talk. I wish you all the best. I'm
+
+00:28:49.120 --> 00:28:53.479
+sure that is a good answer. Thank you for joining, and nice to
+
+00:28:53.480 --> 00:29:00.159
+meet you. Yeah, bye. Bye.
+
+00:29:00.160 --> 00:29:02.799
+Okay, so there are still people in the room, so if you want to
+
+00:29:02.800 --> 00:29:10.440
+ask questions, feel free to do it. I
+
+00:29:10.440 --> 00:29:12.679
+think there's one unanswered question in the etherpad
+
+00:29:12.680 --> 00:29:18.119
+also. Let me see.
+
+00:29:18.120 --> 00:29:21.639
+It's probably awkward to answer. Okay, I can answer and then
+
+00:29:21.640 --> 00:29:24.039
+probably answering the answer for this one. So there's a
+
+00:29:24.040 --> 00:29:28.519
+question about, from a person, I spent some time writing a
+
+00:29:28.520 --> 00:29:31.919
+library for myself, which involved working with Org files.
+
+NOTE Q: Is there/could there be a resource with which to recommend particularly well written codebases for review by others?
+
+00:29:31.920 --> 00:29:34.359
+One thing I struggled with was finding a good source of
+
+00:29:34.360 --> 00:29:41.599
+reference code which demonstrated idiomatic usage.
+
+00:29:41.600 --> 00:29:46.319
+particularly well-written code bases for review by
+
+00:29:46.320 --> 00:29:52.599
+others? That's a good question. We have some wiki pages.
+
+00:29:52.600 --> 00:29:57.039
+I'll put it in the answer later. You can also check Org Mode's
+
+00:29:57.040 --> 00:30:02.399
+code, but usually in org-element there are good usages, and
+
+00:30:02.400 --> 00:30:06.919
+in Org export.
+
+00:30:06.920 --> 00:30:10.279
+Otherwise, maybe something from Alphapapa, but I need to
+
+00:30:10.280 --> 00:30:13.320
+check that and probably reply later.
+
+00:30:16.167 --> 00:30:23.875
+Otherwise, that's all. So I'm going to end this.
+
+00:30:52.400 --> 00:32:09.720
+Bye bye.
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-p-search--psearch-a-local-search-engine-in-emacs--zac-romero--answers.vtt b/2024/captions/emacsconf-2024-p-search--psearch-a-local-search-engine-in-emacs--zac-romero--answers.vtt
new file mode 100644
index 00000000..cd09d3cb
--- /dev/null
+++ b/2024/captions/emacsconf-2024-p-search--psearch-a-local-search-engine-in-emacs--zac-romero--answers.vtt
@@ -0,0 +1,2017 @@
+WEBVTT
+
+00:00:00.000 --> 00:00:03.559
+...starting the recording here in the chat, and I see some
+
+00:00:03.560 --> 00:00:06.039
+questions already coming in. So thank you so much for your
+
+00:00:06.040 --> 00:00:09.359
+talk, Zac, and I'll step out of your way and let you field
+
+00:00:09.360 --> 00:00:10.279
+some of these questions.
+
+00:00:10.280 --> 00:00:21.999
+Sounds good. All right, so let's see. I'm going off of the
+
+00:00:22.000 --> 00:00:22.969
+question list.
+
+NOTE Q: Do you think a reduced version of this functionality could be integrated into isearch?
+
+00:00:22.970 --> 00:00:25.839
+So the first one is about having reduced
+
+00:00:25.840 --> 00:00:31.999
+version of the functionality integrated into iSearch. So
+
+00:00:32.000 --> 00:00:37.919
+yeah, with the way things are set up, it is essentially a
+
+00:00:37.920 --> 00:00:42.679
+framework. So
+
+00:00:42.680 --> 00:00:46.279
+you can create a candidate. So just a review from the talk. So
+
+00:00:46.280 --> 00:00:49.919
+you have these candidate generators which generate search
+
+00:00:49.920 --> 00:00:54.559
+candidates. So you can have a file system candidate which
+
+00:00:54.560 --> 00:00:58.519
+generates these file documents, which have text content in
+
+00:00:58.520 --> 00:01:01.799
+them. In theory, you could have like a website candidate
+
+00:01:01.800 --> 00:01:06.399
+generator, and it could be like a web crawler. I mean, so
+
+00:01:06.400 --> 00:01:10.519
+there's a lot of different options. So one option, it's on my
+
+00:01:10.520 --> 00:01:15.039
+mind, and I hope to get to this soon, is create a defun, like a
+
+00:01:15.040 --> 00:01:18.599
+defun candidate generator. So basically it takes a file,
+
+00:01:18.600 --> 00:01:22.279
+splits it up into like defunds, kind of like just like what
+
+00:01:22.280 --> 00:01:26.279
+iSearch would do. and then use each of those, the body of
+
+00:01:26.280 --> 00:01:30.959
+those, as a content for the search session. So, I mean,
+
+00:01:30.960 --> 00:01:35.359
+essentially you could just, you could start up a session,
+
+00:01:35.360 --> 00:01:39.479
+and there's like programmatic ways to start these up too. So
+
+00:01:39.480 --> 00:01:42.599
+you could, if such a candidate generator was created, you
+
+00:01:42.600 --> 00:01:49.559
+could easily, and just like, you know, one command. Get the
+
+00:01:49.560 --> 00:01:54.599
+defunds, create a search session with it, and then just go
+
+00:01:54.600 --> 00:02:01.439
+straight to your query. So, definitely, something
+
+00:02:01.440 --> 00:02:06.919
+just like this is in the works. And I guess another thing is
+
+00:02:06.920 --> 00:02:08.239
+interface.
+
+00:02:08.240 --> 00:02:17.079
+The whole dedicated buffer is helpful for searching, but
+
+00:02:17.080 --> 00:02:21.919
+with this isearch case, there's currently not a way to have a
+
+00:02:21.920 --> 00:02:27.839
+reduced UI, where it's just like, OK, I have these function
+
+00:02:27.840 --> 00:02:32.239
+defuns for the current file. I just want them to pop up at the
+
+00:02:32.240 --> 00:02:35.799
+bottom so I can quickly go through it. So currently, I don't
+
+00:02:35.800 --> 00:02:41.199
+have that. But such a UI is definitely, yeah, thinking about
+
+00:02:41.200 --> 00:02:45.359
+how that could be done.
+
+NOTE Q: Any idea how this would work with personal information like Zettlekastens?
+
+00:02:45.360 --> 00:02:50.359
+Alright, so yeah. So next question. Any idea how this
+
+00:02:50.360 --> 00:02:52.599
+will work with personal information like Zettelkasten?
+
+00:02:52.600 --> 00:02:58.319
+So this is, this is like, I mean, it's essentially usable as
+
+00:02:58.320 --> 00:03:04.559
+is with Zettelkasten method. So, I mean, that I mean
+
+00:03:04.560 --> 00:03:08.279
+basically what like for example org-roam, and I think other
+
+00:03:08.280 --> 00:03:12.159
+ones like Denote, they put all these files in the
+
+00:03:12.160 --> 00:03:15.919
+directory, and so with the already existing file system
+
+00:03:15.920 --> 00:03:19.679
+candidate generator all you'd have to do is set that to be the
+
+00:03:19.680 --> 00:03:23.199
+directory of your Zettelkasten system and then it would
+
+00:03:23.200 --> 00:03:26.799
+just pick up all the files in there and
+
+00:03:26.800 --> 00:03:28.799
+then add those as search candidates. So you could easily
+
+00:03:28.800 --> 00:03:33.279
+just search whatever system you have.
+
+00:03:33.280 --> 00:03:36.039
+Based off of the ways it's set up, if you had maybe your
+
+00:03:36.040 --> 00:03:40.999
+dailies you didn't want to search, it's just as easy to add a
+
+00:03:41.000 --> 00:03:44.519
+criteria saying, I don't want dailies to be searched. Like
+
+00:03:44.520 --> 00:03:47.599
+give, like just eliminate the date, like the things from the
+
+00:03:47.600 --> 00:03:51.679
+daily from the sub directory. And then there you go. you have
+
+00:03:51.680 --> 00:03:57.799
+your Zettelkasten search engine, and you could just copy
+
+00:03:57.800 --> 00:03:59.999
+the, you know, there's, I mean, I need, I'm working on
+
+00:04:00.000 --> 00:04:03.519
+documentation for this to kind of set this up easily, but,
+
+00:04:03.520 --> 00:04:06.679
+you know, you could just create your simple command, just
+
+00:04:06.680 --> 00:04:10.679
+like, your simple command, just like, just take in a text
+
+00:04:10.680 --> 00:04:14.359
+query, run it through the system, and then just get your
+
+00:04:14.360 --> 00:04:19.599
+search results right there. So yeah, definitely that is a
+
+00:04:19.600 --> 00:04:22.040
+use case that's on top of my mind.
+
+NOTE Q: How good does the search work for synonyms especially if you use different languages?
+
+00:04:22.041 --> 00:04:23.239
+So next one, how good does a
+
+00:04:23.240 --> 00:04:26.439
+search work for synonyms, especially if you use different
+
+00:04:26.440 --> 00:04:30.719
+languages? Okay, this is a good question because with the
+
+00:04:30.720 --> 00:04:34.719
+way that VM25 works, it's essentially just like trying to
+
+00:04:34.720 --> 00:04:41.119
+find where terms occur and just counts them up.
+
+00:04:41.120 --> 00:04:43.999
+I mean, this is something I couldn't get into. There's just
+
+00:04:44.000 --> 00:04:46.919
+too much on the topic of information retrieval to kind of go
+
+00:04:46.920 --> 00:04:52.879
+into this, but there is a whole kind of field of just like, how
+
+00:04:52.880 --> 00:04:58.279
+do you, given a search term, how do you know what you should
+
+00:04:58.280 --> 00:05:02.519
+search for? So like popular kind of industrial search
+
+00:05:02.520 --> 00:05:07.519
+engines, like they have kind of this feature where you can
+
+00:05:07.520 --> 00:05:11.039
+like define synonyms, define, term replacement. So
+
+00:05:11.040 --> 00:05:14.079
+whenever you see this term, it should be this. And it even
+
+00:05:14.080 --> 00:05:15.091
+gets even further.
+
+NOTE Plurals
+
+00:05:15.092 --> 00:05:19.439
+If someone searches for a plural string,
+
+00:05:19.440 --> 00:05:22.279
+how do you get the singular from that and search for that? So
+
+00:05:22.280 --> 00:05:27.559
+this is a huge topic that currently p-search doesn't
+
+00:05:27.560 --> 00:05:33.519
+address, but it's on the top of my mind as to how. So that's one
+
+00:05:33.520 --> 00:05:33.882
+part.
+
+NOTE Different languages
+
+00:05:33.883 --> 00:05:38.999
+The next part is for different languages, one thing
+
+00:05:39.000 --> 00:05:42.839
+that kind of seems like it's promising is vector search,
+
+00:05:42.840 --> 00:05:47.399
+which, I mean, with the way p-search is set up, you could
+
+00:05:47.400 --> 00:05:51.159
+easily just create a vector search prior, plug it into the
+
+00:05:51.160 --> 00:05:54.599
+system, and start using it. The only problem is that kind of
+
+00:05:54.600 --> 00:05:58.879
+the vector search functions, like you have to do like cosine
+
+00:05:58.880 --> 00:06:03.639
+similarity, like if you have like 10,000 documents, If
+
+00:06:03.640 --> 00:06:06.679
+you're writing Elisp to calculate the cosine similarity
+
+00:06:06.680 --> 00:06:09.879
+between the vectors, that's going to be very slow. And so now
+
+00:06:09.880 --> 00:06:14.159
+the whole can of worms of indexing comes up. And how do you do
+
+00:06:14.160 --> 00:06:17.479
+that? And is that going to be native elisp? And so that's a
+
+00:06:17.480 --> 00:06:21.839
+whole other can of worms. So yeah, vector search seems
+
+00:06:21.840 --> 00:06:25.959
+promising. And then hopefully maybe other traditional
+
+00:06:25.960 --> 00:06:33.439
+synonyms, stemming, that kind of stuff for alternate
+
+00:06:33.440 --> 00:06:40.199
+terms, that could also be incorporated.
+
+NOTE Q: When searching by author I know authors may setup a new machine and not put the exact same information. Is this doing anything to combine those into one author?
+
+00:06:40.200 --> 00:06:43.719
+Okay, next one. When searching by author, I know authors may
+
+00:06:43.720 --> 00:06:47.119
+set up a new machine and not put the exact same information.
+
+00:06:47.120 --> 00:06:49.519
+Is this doing anything to combine these two in one author?
+
+00:06:49.520 --> 00:06:54.399
+Okay, so for this one, it's not. So it's like the way the get
+
+00:06:54.400 --> 00:06:58.119
+prior is currently set up is that it just does like a get
+
+00:06:58.120 --> 00:07:01.999
+command to get all the get authors. You select one and then it
+
+00:07:02.000 --> 00:07:07.959
+just uses that. But the thing is, is if you knew the two emails
+
+00:07:07.960 --> 00:07:12.519
+that user might have used, the two usernames, you could just
+
+00:07:12.520 --> 00:07:14.279
+set up the
+
+00:07:14.280 --> 00:07:19.799
+two priors. One for the old user's email, and then just add
+
+00:07:19.800 --> 00:07:24.079
+another prior for the new user's email. And then that would
+
+00:07:24.080 --> 00:07:29.279
+be a way to just get both of those set up. So that's kind of a
+
+00:07:29.280 --> 00:07:32.959
+running theme throughout p-search is that It's made to be
+
+00:07:32.960 --> 00:07:36.239
+very flexible and very kind of like Lego block ish kind of
+
+00:07:36.240 --> 00:07:39.959
+like you can just, you know, if you need, you know, if
+
+00:07:39.960 --> 00:07:41.919
+something doesn't meet your needs, you know, it's easy to
+
+00:07:41.920 --> 00:07:45.959
+put pieces in, create new components of the search
+
+00:07:45.960 --> 00:07:51.799
+engine. Let's see, a cool powerful grep "Rak" to maybe have
+
+00:07:51.800 --> 00:07:58.839
+some good ideas. I have searches record code while
+
+00:07:58.840 --> 00:08:04.039
+searching. Okay. So. Okay, that's interesting. I'll have
+
+00:08:04.040 --> 00:08:05.239
+to look into this
+
+00:08:05.240 --> 00:08:15.279
+tool. I haven't seen that. I do kind of keep my eyes out for
+
+00:08:15.280 --> 00:08:18.199
+these kind of things. One thing I have seen that was kind of
+
+00:08:18.200 --> 00:08:24.439
+that, I mean, looked interesting was kind of like AST, like
+
+00:08:24.440 --> 00:08:29.519
+the treesitter, the treesitter grep tools. But like, you
+
+00:08:29.520 --> 00:08:35.359
+can grep for a string in the language itself. So that's
+
+00:08:35.360 --> 00:08:37.959
+something I think would be cool to implement either,
+
+00:08:37.960 --> 00:08:41.359
+because I mean, there's treesitter in Emacs, so it's
+
+00:08:41.360 --> 00:08:44.519
+possible to do a new list. If not, there are those kind of like
+
+00:08:44.520 --> 00:08:47.719
+treesitter. So that's, that's something that I think would
+
+00:08:47.720 --> 00:08:50.719
+be cool to incorporate.
+
+NOTE Q: Have you thought about integrating results from using cosine similarity with a deep-learning based vector embedding?
+
+00:08:50.720 --> 00:08:58.279
+Let's see. Have you thought about integrating results from
+
+00:08:58.280 --> 00:09:00.999
+using cosine similarity with a deep learning based vector
+
+00:09:01.000 --> 00:09:06.679
+embedding? Yeah, exactly. So yeah, this kind of goes back to
+
+00:09:06.680 --> 00:09:09.759
+the topic before it. Definitely the whole semantic search
+
+00:09:09.760 --> 00:09:12.679
+with vector embeddings, that's something that, I mean, it
+
+00:09:12.680 --> 00:09:15.479
+would be actually kind of trivial to implement that in
+
+00:09:15.480 --> 00:09:20.239
+p-search. But like I said, computing the cosine similarity
+
+00:09:20.240 --> 00:09:25.959
+in elisp, it's probably too slow.
+
+00:09:25.960 --> 00:09:34.879
+And then also there's a whole question of how do you get the embeddings?
+
+00:09:34.880 --> 00:09:36.919
+Like, how do you get the system running locally on your
+
+00:09:36.920 --> 00:09:41.239
+machine if you want to run it that or, I mean, so that's
+
+00:09:41.240 --> 00:09:48.879
+actually another kind of aspect that I need to look into.
+
+00:09:48.880 --> 00:10:01.939
+Okay, so let's see.
+
+NOTE Q: Is it possible to save/bookmark searches or search templates so they can be used again and again?
+
+00:10:01.940 --> 00:10:06.319
+Okay, next question. Let's see. I'm sorry if this has been
+
+00:10:06.320 --> 00:10:09.079
+covered. Is it possible to save/bookmark searches or search
+
+00:10:09.080 --> 00:10:14.559
+templates so they can be used again and again? Exactly. So
+
+00:10:14.560 --> 00:10:18.199
+just recently I added bookmarking capabilities. So
+
+00:10:18.200 --> 00:10:21.119
+you can essentially just bookmark whatever search session you
+
+00:10:21.120 --> 00:10:26.359
+have. And yeah, and it's just, it was just a bookmark. You can
+
+00:10:26.360 --> 00:10:29.839
+just open and just like reopen that, rerun that search from
+
+00:10:29.840 --> 00:10:36.119
+where you left off. So there's that. And then also, I tried to
+
+00:10:36.120 --> 00:10:40.559
+set this up so that there is a one-to-one mapping of a Lisp
+
+00:10:40.560 --> 00:10:44.759
+object to the search session. So from every search session
+
+00:10:44.760 --> 00:10:49.519
+you make, you should be able to get a, there's a command to do
+
+00:10:49.520 --> 00:10:55.199
+this, to get a data representation of the search. So it would
+
+00:10:55.200 --> 00:11:00.079
+just be like some plist. All you have to do is just take that
+
+00:11:00.080 --> 00:11:04.479
+plist, call this function p-search-setup-buffer with that
+
+00:11:04.480 --> 00:11:09.119
+data. And then that function should set up the session as you
+
+00:11:09.120 --> 00:11:12.599
+left off. So then like, you know, you could make your
+
+00:11:12.600 --> 00:11:15.359
+commands easy. You can make custom search commands super
+
+00:11:15.360 --> 00:11:18.919
+easy. You just get the data representation of that search,
+
+00:11:18.920 --> 00:11:22.519
+find what pieces you want the user to be able to, you know, the
+
+00:11:22.520 --> 00:11:26.333
+search term, make that a parameter in the
+
+00:11:26.334 --> 00:11:29.079
+command, in the interactive code. So you'd have like
+
+00:11:29.080 --> 00:11:31.906
+print on top and then there you go. You have,
+
+00:11:31.907 --> 00:11:34.327
+you have a command to do the search
+
+00:11:34.328 --> 00:11:35.759
+just like just right there. So, so
+
+00:11:35.760 --> 00:11:38.519
+there's a lot of those things and there's a lot more that
+
+00:11:38.520 --> 00:11:40.999
+could be done. Like maybe having, you know, there's kind of
+
+00:11:41.000 --> 00:11:45.479
+in the works and like thinking about having groups of groups
+
+00:11:45.480 --> 00:11:48.959
+of these things, like maybe you can set up like, Oh, I always
+
+00:11:48.960 --> 00:11:51.919
+add these three criteria together. So I, you know, maybe I
+
+00:11:51.920 --> 00:11:54.559
+can make a preset out of these and make them easy, easily
+
+00:11:54.560 --> 00:11:58.079
+addable. So yeah. A lot of things like that are, you know, I'm
+
+00:11:58.080 --> 00:12:02.799
+thinking about a lot of things about that, so.
+
+NOTE Q: You mentioned about candidate generators. Could you explain about to what the score is assigned to?
+
+00:12:02.800 --> 00:12:06.079
+Okay, so next question. You mentioned about candidate
+
+00:12:06.080 --> 00:12:08.479
+generators. Could you explain about what the score is
+
+00:12:08.480 --> 00:12:12.199
+assigned to? Is this to a line or whatever the candidate
+
+00:12:12.200 --> 00:12:17.079
+generates? How does it work with our junior demo? Okay,
+
+00:12:17.080 --> 00:12:21.799
+yeah, so this is a, this is, so actually I had to implement, I
+
+00:12:21.800 --> 00:12:26.719
+had to rewrite p-search just to get this part right. So the
+
+00:12:26.720 --> 00:12:31.159
+candidate generator generates documents. Documents have
+
+00:12:31.160 --> 00:12:36.919
+properties. So the most notable property is the content
+
+00:12:36.920 --> 00:12:40.599
+property. So essentially what happens is that when you
+
+00:12:40.600 --> 00:12:42.879
+create a file system candidate generator and give it a
+
+00:12:42.880 --> 00:12:45.919
+directory, the code goes into the directory, kind of
+
+00:12:45.920 --> 00:12:49.079
+recursively goes through all the directories, and
+
+00:12:49.080 --> 00:12:51.559
+generates a candidate, which is just like a simple list
+
+00:12:51.560 --> 00:12:55.679
+form. It's saying, this is a file, the file path is this. So
+
+00:12:55.680 --> 00:13:00.799
+that's the document ID. So this is saying, this is a file,
+
+00:13:00.800 --> 00:13:05.559
+it's a file, and its file path is this. And so from that, you
+
+00:13:05.560 --> 00:13:09.279
+get all of the different properties, the sub properties. If
+
+00:13:09.280 --> 00:13:11.719
+you're given that, you know how to get the content. If you're
+
+00:13:11.720 --> 00:13:15.439
+given that, you know how to... So all these properties come
+
+00:13:15.440 --> 00:13:18.839
+out. And then also the candidate generator is the thing that
+
+00:13:18.840 --> 00:13:25.439
+knows how best to search for the terms. So for example, there
+
+00:13:25.440 --> 00:13:29.159
+is a buffer candidate generator. What that does is it just
+
+00:13:29.160 --> 00:13:34.759
+puts all your buffers as search candidates. So obviously
+
+00:13:34.760 --> 00:13:37.879
+you can't, you can't run ripgrep on buffers like you can't you
+
+00:13:37.880 --> 00:13:41.759
+can't do that, you can't run ripgrep on just like yeah just
+
+00:13:41.760 --> 00:13:44.319
+just like buffers that don't have files attached or, for
+
+00:13:44.320 --> 00:13:47.559
+example, maybe there's like an internet search candidate
+
+00:13:47.560 --> 00:13:51.279
+generator, like a web crawler thing. You just imagine it
+
+00:13:51.280 --> 00:13:55.759
+goes to a website, kind of crawls all the links and all that,
+
+00:13:55.760 --> 00:13:58.119
+and then just gets your web pages for the candidates.
+
+00:13:58.120 --> 00:14:01.159
+Obviously, you can't use ripgrep for that either. So, every
+
+00:14:01.160 --> 00:14:04.679
+candidate generator knows how best to search for the terms
+
+00:14:04.680 --> 00:14:08.919
+of what candidate it's generating. So, the file system
+
+00:14:08.920 --> 00:14:12.359
+candidate generator will say, okay, I have a base
+
+00:14:12.360 --> 00:14:17.239
+directory. So, if you ask me, the file system candidate
+
+00:14:17.240 --> 00:14:21.239
+generator, how to get the terms, it knows it's set up to use
+
+00:14:21.240 --> 00:14:25.199
+ripgrep. And so, it runs ripgrep, and so then it goes
+
+00:14:25.200 --> 00:14:29.439
+through, it runs the command, gets the counts, and then
+
+00:14:29.440 --> 00:14:32.359
+store those counts. So, the lines have nothing. At this
+
+00:14:32.360 --> 00:14:35.999
+point, the lines have nothing. There's no notion of lines at
+
+00:14:36.000 --> 00:14:40.559
+all. It's just document, document ID with the amount of
+
+00:14:40.560 --> 00:14:43.839
+times it matched. And that's all you need to run this BM25
+
+00:14:43.840 --> 00:14:47.519
+algorithm. But then when you get the top results, you
+
+00:14:47.520 --> 00:14:51.359
+obviously want to see the lines that matched. And so there's
+
+00:14:51.360 --> 00:14:56.399
+another thing, another method to kind of get the exact
+
+00:14:56.400 --> 00:15:00.559
+thing, to kind of match out the particular lines. And so
+
+00:15:00.560 --> 00:15:03.159
+that's a separate mechanism. And that can be done in Elist,
+
+00:15:03.160 --> 00:15:05.719
+because if you're not displaying, that's kind of a design
+
+00:15:05.720 --> 00:15:09.319
+decision of P-Search, is that it only displays like maybe 10
+
+00:15:09.320 --> 00:15:12.519
+or 20. It doesn't display all the results. So you can have
+
+00:15:12.520 --> 00:15:16.679
+Elist just go crazy with just like highlighting things,
+
+00:15:16.680 --> 00:15:22.719
+picking the best kind of pieces to show. So yeah, that's how
+
+00:15:22.720 --> 00:15:27.359
+that's set up.
+
+00:15:27.360 --> 00:15:38.279
+So, here's perhaps a good moment for me to just jump in and
+
+00:15:38.280 --> 00:15:42.079
+comment that in a minute or so we will break away with the live
+
+00:15:42.080 --> 00:15:47.439
+stream to give people an hour of less content to make sure
+
+00:15:47.440 --> 00:15:50.639
+everybody goes and takes their lunch and break a little bit.
+
+00:15:50.640 --> 00:15:55.039
+But if you would like to keep going in here, Love to love to
+
+00:15:55.040 --> 00:15:59.839
+take as many questions. And, of course, we will include
+
+00:15:59.840 --> 00:16:06.159
+that all when we publish the Q and A. Sounds good. Yeah, I'll go
+
+00:16:06.160 --> 00:16:12.199
+and stick around on the stream as we cut away, as we've got a
+
+00:16:12.200 --> 00:16:15.999
+little video surprise we've all prepared to play, just some
+
+00:16:16.000 --> 00:16:19.359
+comments from an Emacs user dated in 2020 or something like
+
+00:16:19.360 --> 00:16:29.679
+this. I forget the detail. Thank you again so much, Zac, for
+
+00:16:29.680 --> 00:16:30.959
+your fascinating talk.
+
+00:16:30.960 --> 00:16:32.301
+Yeah, so, okay.
+
+NOTE Q: easy filtering with orderless - did this or something like this help or infulce the design of psearch?
+
+00:16:32.302 --> 00:16:33.359
+This makes me really think about the
+
+00:16:33.360 --> 00:16:35.999
+emergent workflows with Denote and easy filtering with
+
+00:16:36.000 --> 00:16:36.639
+orderless.
+
+00:16:36.640 --> 00:16:42.039
+Did this or something like this help influence the design of
+
+00:16:42.040 --> 00:16:47.359
+p-search? Yeah, exactly. So, I mean, yeah, I mean, there's
+
+00:16:47.360 --> 00:16:49.919
+just so many different searches. Like, it's just kind of
+
+00:16:49.920 --> 00:16:52.519
+mind-boggling. Like, you could search for whatever you want
+
+00:16:52.520 --> 00:16:54.599
+on your computer. Like, there's just so much, like, you
+
+00:16:54.600 --> 00:17:01.199
+can't, yeah, you can't just like, you can't just like hard
+
+00:17:01.200 --> 00:17:04.159
+code any of these things. It's all malleable. Like maybe
+
+00:17:04.160 --> 00:17:09.279
+somebody wants to search these directories. And so, yeah,
+
+00:17:09.280 --> 00:17:10.639
+like
+
+00:17:10.640 --> 00:17:18.399
+exactly like that use case of having a directory of files
+
+00:17:18.400 --> 00:17:18.959
+where
+
+00:17:18.960 --> 00:17:25.919
+they contain your personal knowledge management system.
+
+00:17:25.920 --> 00:17:33.479
+Yeah, that use case definitely was at the top of my mind.
+
+00:17:33.480 --> 00:17:35.879
+Let's see.
+
+00:17:35.880 --> 00:17:56.959
+Let's see, so Git covers the multiple names thing itself.
+
+NOTE Q: Notmuch with the p-search UI
+
+00:17:56.960 --> 00:18:00.359
+Okay, yeah,
+
+00:18:00.360 --> 00:18:09.599
+so something about notmuch with p-search UI. Actually,
+
+00:18:09.600 --> 00:18:16.399
+interestingly, I think notmuch is, I haven't used it
+
+00:18:16.400 --> 00:18:22.759
+myself, but that's the, email something about yeah so i mean
+
+00:18:22.760 --> 00:18:25.679
+this is like these things are just like these these kind of
+
+00:18:25.680 --> 00:18:30.479
+extensions could kind of go go forever but one thing i
+
+00:18:30.480 --> 00:18:33.369
+thought about is like i use mu4e for email
+
+00:18:33.370 --> 00:18:41.119
+and that uses a full-fledged index. And so having
+
+00:18:41.120 --> 00:18:44.879
+some method to kind of reach into these different systems
+
+00:18:44.880 --> 00:18:47.938
+and kind of be kind of like a front end for this.
+
+00:18:47.939 --> 00:18:52.000
+Another thing is maybe SQL database.
+
+00:18:52.001 --> 00:18:55.823
+You can create a candidate generator from a SQLite query
+
+00:18:55.824 --> 00:19:01.919
+and then... yeah...
+
+00:19:02.583 --> 00:19:05.519
+I've had tons of ideas of different things you could
+
+00:19:05.520 --> 00:19:09.559
+incorporate into the system. Slowly,
+
+00:19:09.560 --> 00:19:13.599
+they're being implemented. Just recently, I implemented
+
+NOTE Info
+
+00:19:13.600 --> 00:19:17.039
+an info file candidate generator. So it lists out all the
+
+00:19:17.040 --> 00:19:21.559
+info files, and then it creates a candidate for each of the
+
+00:19:21.560 --> 00:19:26.759
+info nodes. So it turns out, yeah, I mean, it works pretty, I
+
+00:19:26.760 --> 00:19:32.559
+mean, just as well as Google. So I'm up for my own testing.
+
+00:19:32.560 --> 00:19:39.999
+Let's see, you can search a buffer using ripgrep feeding in
+
+00:19:40.000 --> 00:19:44.759
+as standard in to the ripgrep process, can't you? Yep, yeah,
+
+00:19:44.760 --> 00:19:50.039
+you can definitely search a buffer that way. So, yeah, I
+
+00:19:50.040 --> 00:19:56.359
+mean, based off of I mean, if this, yeah, so one thing that
+
+00:19:56.360 --> 00:19:59.039
+came up is that the system wants, I mean, I wanted the system
+
+00:19:59.040 --> 00:20:03.559
+to be able to search a lot of different things. And so it came
+
+00:20:03.560 --> 00:20:05.999
+up that I had, you know, implementing,
+
+00:20:06.000 --> 00:20:10.159
+doing these search things, having an Elist
+
+00:20:10.160 --> 00:20:13.079
+implementation, despite it being slow, would be
+
+00:20:13.080 --> 00:20:17.399
+necessary. So like anything that isn't represented as a
+
+00:20:17.400 --> 00:20:21.639
+file, Elisp, there's a mechanism in p-search to search for
+
+00:20:21.640 --> 00:20:23.319
+it.
+
+00:20:23.320 --> 00:20:29.719
+So, yeah, so having that redundancy kind of lets you get into
+
+00:20:29.720 --> 00:20:32.799
+the, you know, using kind of ripgrep for the big scale
+
+00:20:32.800 --> 00:20:37.759
+things. But then when you get to the individual file, you
+
+00:20:37.760 --> 00:20:40.999
+know, just going back to Elisp to kind of get the finer
+
+00:20:41.000 --> 00:20:47.199
+details seems to, you know, seems to end up working pretty
+
+00:20:47.200 --> 00:21:04.239
+well.
+
+00:21:04.240 --> 00:21:27.399
+Thank you all for listening. Yeah, sounds like we're about
+
+00:21:27.400 --> 00:21:31.279
+out of questions. Hi, Zacc. I have a question or still a
+
+00:21:31.280 --> 00:21:34.119
+question. I just want to thank everybody one more time for
+
+00:21:34.120 --> 00:21:37.719
+their participation, especially you for speaking, Zack. I
+
+00:21:37.720 --> 00:21:41.239
+look forward to playing with p-search myself. Thank you.
+
+00:21:41.240 --> 00:21:44.039
+Yeah, there might be one last question. Is there someone?
+
+00:21:44.040 --> 00:21:48.519
+Yes, there is. I don't know if you can understand me, but
+
+00:21:48.520 --> 00:21:50.359
+thank you for making this lovely thing
+
+00:21:50.360 --> 00:21:57.919
+I feel inspired to try it out and I'm thinking about how to
+
+00:21:57.920 --> 00:22:04.199
+integrate it because it sounds modular and nicely thought
+
+00:22:04.200 --> 00:22:09.799
+out. One small question. Have you thought about Project L
+
+00:22:09.800 --> 00:22:13.719
+integration? And then I have a little bigger question about
+
+00:22:13.720 --> 00:22:14.879
+the interface.
+
+NOTE project.el integration
+
+00:22:14.880 --> 00:22:20.799
+Yeah, project.el integration, it's used in a couple of ways.
+
+00:22:20.800 --> 00:22:25.719
+It's kind of used to kind of as like kind of like a default.
+
+00:22:25.720 --> 00:22:31.279
+This is the directory I want to search for the default
+
+00:22:31.280 --> 00:22:33.639
+p-search command. It does, yeah, it kind of goes off of
+
+00:22:33.640 --> 00:22:37.119
+project.el. If there is a project, it kind of says, okay, this,
+
+00:22:37.120 --> 00:22:40.319
+I want to search this project. And so it kind of, it used that
+
+00:22:40.320 --> 00:22:46.119
+as a default. So there's that. Because I use the project-grep
+
+00:22:46.120 --> 00:22:50.679
+or git-grep search a lot and maybe this is a better solution to
+
+00:22:50.680 --> 00:22:55.319
+the search and the interface you have right now for the
+
+00:22:55.320 --> 00:22:56.476
+search results.
+
+NOTE Q: How happy are you with the interface?
+
+00:22:56.477 --> 00:22:58.719
+How happy are you with it and have you
+
+00:22:58.720 --> 00:23:02.599
+thought about improving or have you ideas for
+
+00:23:02.600 --> 00:23:06.639
+improvements? Yeah, well actually what you see in the demo
+
+00:23:06.640 --> 00:23:09.199
+in the video isn't... There's actually, there is an
+
+00:23:09.200 --> 00:23:13.959
+improvement in the current code. Basically, what it
+
+00:23:13.960 --> 00:23:17.239
+does is it scans there's the current default as it scans
+
+00:23:17.240 --> 00:23:20.054
+the entire file for all of the searches.
+
+00:23:20.055 --> 00:23:25.959
+It finds the window that that has the highest score. So it kind
+
+00:23:25.960 --> 00:23:29.599
+of goes through entire file and just says... And it kind of finds
+
+00:23:29.600 --> 00:23:33.479
+like the piece of the section of text that has the most
+
+00:23:33.480 --> 00:23:37.919
+matches with the terms that score the best. So it's, I mean,
+
+00:23:37.920 --> 00:23:40.119
+that section is pretty good. I mean, that, so yeah, that,
+
+00:23:40.120 --> 00:23:44.519
+that ends up working pretty well. So I mean, in terms of other
+
+00:23:44.520 --> 00:23:46.879
+UI stuff, there's, there's tons, there's tons more that
+
+00:23:46.880 --> 00:23:50.159
+could be done, like, especially like debug ability or like
+
+00:23:50.160 --> 00:23:53.799
+introspection. Like, so this, this result, like, for
+
+00:23:53.800 --> 00:23:57.119
+example, this result ranks really high. Maybe you don't
+
+00:23:57.120 --> 00:24:01.719
+know why though. It's like, because of this, this text query
+
+00:24:01.720 --> 00:24:04.479
+arrow, was it because of this criteria? I think
+
+00:24:04.480 --> 00:24:09.039
+there's some UI elements that could kind of help the user
+
+00:24:09.040 --> 00:24:12.519
+understand why results are scoring high or low. So that's
+
+00:24:12.520 --> 00:24:15.639
+definitely... And that makes a lot of sense to me. You know, a
+
+00:24:15.640 --> 00:24:19.039
+lot of it is demystifying, like understanding what you're
+
+00:24:19.040 --> 00:24:22.719
+learning better and not just finding the right thing. A lot
+
+00:24:22.720 --> 00:24:26.519
+of it is, you know, kind of exploring your data. I love that.
+
+00:24:26.520 --> 00:24:31.639
+Thanks. Okay. I'm not trying to hurry us through either by
+
+00:24:31.640 --> 00:24:36.599
+any stretch. I would be happy to see this be a conversation.
+
+00:24:36.600 --> 00:24:42.359
+I also want to be considerate of your time. And I also wanted to
+
+00:24:42.360 --> 00:24:45.479
+make a quick shout out to everybody who's been updating and
+
+00:24:45.480 --> 00:24:50.479
+helping us capture the questions and the comments and the
+
+00:24:50.480 --> 00:24:53.639
+etherpad. That's just a big help to the extent that people
+
+00:24:53.640 --> 00:24:57.199
+are jumping in there and you know, revising and extending
+
+00:24:57.200 --> 00:24:59.799
+and just doing the best job we can to capture all the
+
+00:24:59.800 --> 00:25:00.799
+thoughtful remarks.
+
+00:25:00.800 --> 00:25:14.839
+Yeah, thank you, Zac. I'm not too sure what to ask anymore,
+
+00:25:14.840 --> 00:25:20.559
+but yes, would love to try it out now. Yeah, I mean,
+
+00:25:20.560 --> 00:25:22.076
+definitely feel free to...
+
+00:25:22.077 --> 00:25:25.679
+any feedback, here's my mail, or issues...
+
+00:25:25.680 --> 00:25:29.039
+I mean I'm happy to get any any feedback. It's
+
+00:25:29.040 --> 00:25:31.679
+still in the early stages, so still kind of a lot of
+
+00:25:31.680 --> 00:25:35.599
+documentation that needs to be writing. There's a lot.
+
+00:25:35.600 --> 00:25:38.439
+There's a lot on the roadmap, but yeah, I mean, hopefully, I
+
+00:25:38.440 --> 00:25:42.759
+could even publish this to ELPA and have a nice
+
+00:25:42.760 --> 00:25:47.727
+manual so yeah hopefully yeah those come soon. Epic.
+
+00:25:47.728 --> 00:25:50.279
+That sounds great, yes.
+
+NOTE gptel
+
+00:25:50.280 --> 00:25:59.359
+The ability to save your searches kind of reminds me of like
+
+00:25:59.360 --> 00:26:05.119
+the gptel package for the AI, where you can save searches,
+
+00:26:05.120 --> 00:26:10.799
+which makes it feel a lot more different. And yeah, we don't
+
+00:26:10.800 --> 00:26:14.839
+have something for that with search, but yeah, that's a
+
+00:26:14.840 --> 00:26:19.279
+whole different dynamic where it's like, okay, yeah, and
+
+00:26:19.280 --> 00:26:24.679
+makes it a unique tool that is, I guess would be unique to
+
+00:26:24.680 --> 00:26:28.079
+Emacs where you don't see that with like this AI package
+
+00:26:28.080 --> 00:26:31.119
+where the gptel is kind of unique because it's not just throw
+
+00:26:31.120 --> 00:26:37.039
+away. It's how did I get this? How did I search for it? And be an
+
+00:26:37.040 --> 00:26:40.319
+organic search, kind of like the orderless and vertico
+
+00:26:40.320 --> 00:26:43.039
+and...
+
+00:26:43.040 --> 00:26:46.279
+Yeah, that's a good, I mean, that brings me to another thing
+
+00:26:46.280 --> 00:26:48.239
+in that, so,
+
+00:26:48.240 --> 00:26:53.199
+I mean, you could easily...
+
+00:26:53.200 --> 00:26:57.399
+you could create bridges from p-search to these different
+
+00:26:57.400 --> 00:27:01.519
+other packages, like, for example, kind of a RAG search,
+
+00:27:01.520 --> 00:27:04.679
+like there's this RAG, there's this thing called a RAG
+
+00:27:04.680 --> 00:27:06.879
+workflow, which is kind of popular these days. It's like
+
+00:27:06.880 --> 00:27:11.639
+retrieval augmented generation. So, you do a search and
+
+00:27:11.640 --> 00:27:14.199
+then based off the search results you get, then you pass
+
+00:27:14.200 --> 00:27:20.359
+those into LLM. So, the cool thing is that like you could use
+
+00:27:20.360 --> 00:27:25.119
+p-search for the retrieval. And so you could even like, I
+
+00:27:25.120 --> 00:27:28.799
+mean, you could even ask an LM to come up with the search terms
+
+00:27:28.800 --> 00:27:32.079
+and then have it search. There's no
+
+00:27:32.080 --> 00:27:35.439
+programmatical interface now to do this exact workflow.
+
+00:27:35.440 --> 00:27:39.039
+But I mean, there's another kind of direction I'm starting
+
+00:27:39.040 --> 00:27:43.199
+to think about. So like you could have maybe
+
+00:27:43.200 --> 00:27:47.759
+a question answer kind of workflow where it does
+
+00:27:47.760 --> 00:27:51.639
+like an initial search for the terms and then you get the top
+
+00:27:51.640 --> 00:27:57.199
+results and then you can put that through maybe gptel or all
+
+00:27:57.200 --> 00:27:59.759
+these other different systems. So that's, and that seems
+
+00:27:59.760 --> 00:28:01.479
+like a promising thing. And then another thing is like,
+
+NOTE Saving a search
+
+00:28:01.480 --> 00:28:10.594
+well, you mentioned the ability to save a search.
+
+00:28:10.595 --> 00:28:11.479
+One thing I've noticed
+
+00:28:11.480 --> 00:28:15.359
+kind of like with the DevOps workflows is, I'll write a
+
+00:28:15.360 --> 00:28:20.519
+CLI command that I do, or like a calculator command. Then I end
+
+00:28:20.520 --> 00:28:23.999
+up in the org mode document, write what I wrote, had the
+
+00:28:24.000 --> 00:28:26.943
+results in there, and then I'll go back to that.
+
+00:28:26.944 --> 00:28:31.966
+It's like, oh, this is why, this is that calculation I did
+
+00:28:31.967 --> 00:28:34.007
+and this is why I did it.
+
+00:28:34.008 --> 00:28:36.959
+I'll have run the same tool three different
+
+00:28:36.960 --> 00:28:40.519
+times to get three different answers, if it was like a
+
+00:28:40.520 --> 00:28:41.799
+calculator, for example.
+
+NOTE Workflows
+
+00:28:41.800 --> 00:28:49.319
+But yeah, that's a very unique feature that isn't seen and
+
+00:28:49.320 --> 00:28:53.959
+will make me look at it and see about integrating it into my
+
+00:28:53.960 --> 00:28:59.079
+workflow. Yeah, I think you get on some interesting, you
+
+00:28:59.080 --> 00:29:03.159
+know, kind of what makes Emacs really unique there and how
+
+00:29:03.160 --> 00:29:07.399
+to... interesting kind of ways to exploit
+
+00:29:07.400 --> 00:29:12.439
+Emacs to learn in the problem. I'm seeing a number of
+
+00:29:12.440 --> 00:29:15.799
+ways you're getting at that. For example, if I think about
+
+00:29:15.800 --> 00:29:18.999
+like an automation workflow, and there's just a million
+
+00:29:19.000 --> 00:29:22.719
+we'll say, assumptions that are baked into a search
+
+00:29:22.720 --> 00:29:26.719
+product, so to speak, like represented by a Google search or
+
+00:29:26.720 --> 00:29:31.639
+Bing or what have you. And then as I unpack that and repack it
+
+00:29:31.640 --> 00:29:35.159
+from an Emacs workflow standpoint, thinking about, well,
+
+00:29:35.160 --> 00:29:39.079
+first of all, what is the yak I'm shaving? And then also, what
+
+00:29:39.080 --> 00:29:43.759
+does doing it right mean? How would I reuse this? How would I
+
+00:29:43.760 --> 00:29:47.679
+make the code accessible to others for their own purposes in
+
+00:29:47.680 --> 00:29:52.439
+a free software world kind of way? and all of the different
+
+00:29:52.440 --> 00:29:57.479
+sort of say like orthogonal headspacey kind of things,
+
+00:29:57.480 --> 00:30:00.079
+right? Emacs brings a lot to the table from a search
+
+00:30:00.080 --> 00:30:03.719
+standpoint because I'm going to want to think about. I'm
+
+00:30:03.720 --> 00:30:07.799
+going to want to think about where does the UI come in? Where
+
+00:30:07.800 --> 00:30:11.399
+might the user want to get involved interactively? Where
+
+00:30:11.400 --> 00:30:14.359
+might the user want to get involved declaratively with
+
+00:30:14.360 --> 00:30:16.919
+their configuration, perhaps based on the particular
+
+00:30:16.920 --> 00:30:21.359
+environment where this Emacs is running? And there's just a
+
+00:30:21.360 --> 00:30:24.879
+lot of what Emacs users think about that really applies.
+
+00:30:24.880 --> 00:30:28.359
+I'll use the word again, orthogonally across all my many
+
+00:30:28.360 --> 00:30:33.239
+workflows as an Emacs user. You know, the search is just such
+
+00:30:33.240 --> 00:30:38.519
+a big word. Yeah, that's actually, this exact point I was
+
+00:30:38.520 --> 00:30:43.159
+thinking about with this. It's like, I mean, it seems kind of
+
+00:30:43.160 --> 00:30:46.319
+obvious, like just like using grep or something, just like to
+
+00:30:46.320 --> 00:30:49.359
+get search counts, like, okay, you can just run the command,
+
+00:30:49.360 --> 00:30:51.439
+get the term counts and you could just run it through a
+
+00:30:51.440 --> 00:30:55.959
+relatively simple algorithm. to get your search score. So
+
+00:30:55.960 --> 00:31:01.759
+if it's this easy, though, why don't we see this in other... And
+
+00:31:01.760 --> 00:31:06.919
+the results are actually surprisingly good. So why don't we
+
+00:31:06.920 --> 00:31:10.559
+see this anywhere, really? And it occurred to me that just
+
+00:31:10.560 --> 00:31:16.399
+the amount of configuration... The amount of setup you have to
+
+00:31:16.400 --> 00:31:20.039
+do to get it right.
+
+00:31:20.040 --> 00:31:24.599
+It's above this threshold that you need something like
+
+00:31:24.600 --> 00:31:27.856
+Emacs to kind of get pushed through that configuration.
+
+NOTE Transient and configuration
+
+00:31:27.857 --> 00:31:30.799
+So for example, that's why I rely heavily on transient
+
+00:31:30.800 --> 00:31:34.119
+to set up the system. 'Cause like, if you want to get good
+
+00:31:34.120 --> 00:31:36.079
+search results, you're going to have to configure a lot
+
+00:31:36.080 --> 00:31:38.519
+of stuff. I want this directory. I want this, I don't
+
+00:31:38.520 --> 00:31:41.559
+want this directory. I want these search terms, you know,
+
+00:31:41.560 --> 00:31:48.159
+there's a lot to set up. And in most programs, I mean, they
+
+00:31:48.160 --> 00:31:52.079
+don't have an easy way to, I mean, they'll often try and try to
+
+00:31:52.080 --> 00:31:55.039
+hide all this complexity. Like they say, okay, our users
+
+00:31:55.040 --> 00:31:59.199
+too, you know, we don't want to, you know, we don't wanna, you
+
+00:31:59.200 --> 00:32:02.719
+know, make our users, we don't wanna scare our users with
+
+00:32:02.720 --> 00:32:06.879
+like, complicated search engine configuration. So we're
+
+00:32:06.880 --> 00:32:09.079
+just going to do it all in the background and we're just not
+
+00:32:09.080 --> 00:32:12.599
+going to let the user even know that it's happening. I mean,
+
+00:32:12.600 --> 00:32:15.119
+that's the third time you've made me laugh out loud. Sorry
+
+00:32:15.120 --> 00:32:17.879
+for interrupting you, but yeah, you're just spot on there.
+
+00:32:17.880 --> 00:32:22.999
+You're some people's users. Am I right? like, you know, and
+
+00:32:23.000 --> 00:32:25.390
+also some people's workflows.
+
+NOTE Problem space
+
+00:32:25.391 --> 00:32:27.719
+And, you know, another case
+
+00:32:27.720 --> 00:32:30.799
+where just like, if you're thinking about Emacs, you either
+
+00:32:30.800 --> 00:32:33.279
+have to pick a tunnel to dive into and be like, no, this is
+
+00:32:33.280 --> 00:32:37.759
+going to be right for my work, or your problem space is never
+
+00:32:37.760 --> 00:32:40.879
+ending in terms of discovering the ways other people are
+
+00:32:40.880 --> 00:32:45.839
+using Emacs and how that breaks your feature. and how that
+
+00:32:45.840 --> 00:32:49.679
+breaks your conceptualization of the problem space,
+
+00:32:49.680 --> 00:32:53.559
+right? Or you just have to get so narrowed down that can
+
+00:32:53.560 --> 00:32:57.119
+actually be hard to find people that are quite understand
+
+00:32:57.120 --> 00:33:00.279
+you, right? You get into the particular, well, it solves
+
+00:33:00.280 --> 00:33:03.039
+these three problems for me. Well, what are these three
+
+00:33:03.040 --> 00:33:08.639
+problems again? And this is a month to unpack. You have Emacs
+
+00:33:08.640 --> 00:33:12.639
+and I don't know, it's like you got a lot of, they all agree is
+
+00:33:12.640 --> 00:33:16.559
+like we're going to use elisp to set variables every emacs
+
+00:33:16.560 --> 00:33:21.199
+package is going to do that we're going to use elisp and have a
+
+00:33:21.200 --> 00:33:25.479
+search in place to put our documentation and like it does
+
+00:33:25.480 --> 00:33:32.559
+also eliminate a lot of confusion and gives a lot of
+
+00:33:32.560 --> 00:33:37.719
+expectations of what they want. One thing that I'm
+
+00:33:37.720 --> 00:33:39.855
+surprised I haven't seen elsewhere is you have the
+
+NOTE consult-omni
+
+00:33:39.856 --> 00:33:44.239
+consult-omni package which allows you to search multiple websites
+
+00:33:44.240 --> 00:33:49.799
+simultaneously for multiple web search engines. and put
+
+00:33:49.800 --> 00:33:52.799
+them in one thing and it's like, and then you use orderless.
+
+NOTE orderless
+
+00:33:52.800 --> 00:33:55.159
+Why would you use orderless? Because that's what you
+
+00:33:55.160 --> 00:33:57.799
+configured and you know exactly what you wanna use and you
+
+00:33:57.800 --> 00:34:01.679
+use the same font and your same mini buffer and you use all
+
+00:34:01.680 --> 00:34:04.079
+that existing configuration because, well, you're an
+
+00:34:04.080 --> 00:34:07.599
+Emacs user or like you're a command line user. You know how
+
+00:34:07.600 --> 00:34:11.559
+you want these applications to go. You don't want them to be
+
+00:34:11.560 --> 00:34:17.399
+reinvented the wheel 1600 times in 1,600 different ways,
+
+00:34:17.400 --> 00:34:23.079
+you want it to use your mini buffer, your font, your et
+
+00:34:23.080 --> 00:34:28.159
+cetera, et cetera, et cetera. But I haven't
+
+00:34:28.160 --> 00:34:32.479
+seen a website where I can search multiple websites at the
+
+00:34:32.480 --> 00:34:35.159
+same time in something like Emacs before. And it's like,
+
+00:34:35.160 --> 00:34:38.319
+yeah, with my sorting algorithm,
+
+00:34:38.320 --> 00:34:49.359
+Yeah, exactly. Yeah. Yeah. Yeah. I mean, just setting the
+
+00:34:49.360 --> 00:34:57.079
+bar for configuration and set up just like, yeah, you have to
+
+00:34:57.080 --> 00:35:02.839
+have a list. Yeah. I mean, it, it does, obviously it's not,
+
+00:35:02.840 --> 00:35:05.839
+it's not most beginner beginner friendly, but I mean, it,
+
+00:35:05.840 --> 00:35:10.319
+yeah, it definitely widens the amount of the solution space
+
+00:35:10.320 --> 00:35:14.679
+you can have to such problems. Oh my gosh, you used the word
+
+00:35:14.680 --> 00:35:18.759
+solution space. I love it. But on the flip side, it's like,
+
+00:35:18.760 --> 00:35:25.119
+why does Emacs get this consult-omni package? Or let's see,
+
+00:35:25.120 --> 00:35:30.719
+you have elfeed-youtube where it will put a flowing
+
+00:35:30.720 --> 00:35:34.479
+transcript on a YouTube video or you got your package. Why
+
+00:35:34.480 --> 00:35:39.879
+does it get all these applications? And I don't see
+
+00:35:39.880 --> 00:35:45.679
+applications like this as much outside of Emacs. So there's
+
+00:35:45.680 --> 00:35:46.267
+a way that it just makes it easier.
+
+NOTE User interface
+
+00:35:46.268 --> 00:35:47.479
+It's because user
+
+00:35:47.480 --> 00:35:51.439
+interface is the, you know, it's the economy stupid of
+
+00:35:51.440 --> 00:35:58.119
+technology, right? If you grab people by the UX, you can sell
+
+00:35:58.120 --> 00:36:01.679
+a million of any product that solves problem that I didn't
+
+00:36:01.680 --> 00:36:04.639
+think technology could solve, or that I didn't think I had
+
+00:36:04.640 --> 00:36:08.319
+the patience to use technology to solve, which is a lot of
+
+00:36:08.320 --> 00:36:12.159
+times what it comes down to. And here exactly is the, you
+
+00:36:12.160 --> 00:36:16.799
+know, the the Emacs sort of conundrum, right? How much time
+
+00:36:16.800 --> 00:36:20.759
+should I spend today updating my Emacs so that tomorrow I can
+
+00:36:20.760 --> 00:36:26.319
+just work more, right? And, you know, I love that little
+
+00:36:26.320 --> 00:36:29.839
+graph of the Emacs learning curve, right? Where it's this
+
+00:36:29.840 --> 00:36:33.399
+concentric, it becomes this concentric spiral, right? The
+
+00:36:33.400 --> 00:36:38.759
+Vim learning curve is like a ladder, right? Or, you know, and
+
+00:36:38.760 --> 00:36:44.119
+And the nano learning curve is like just a flat plane, you
+
+00:36:44.120 --> 00:36:49.279
+know, or a ladder, a vertical ladder or a horizontal ladder.
+
+00:36:49.280 --> 00:36:56.719
+There we go. And the Emacs learning curve is this kind of
+
+00:36:56.720 --> 00:36:59.799
+straight up line until it curves back on itself and
+
+00:36:59.800 --> 00:37:03.079
+eventually spirals. And the more you learn, the harder it is
+
+00:37:03.080 --> 00:37:05.839
+to learn the next thing. And are you really moving forward at
+
+00:37:05.840 --> 00:37:09.039
+all? Like, it just works for me. What a great analogy. And
+
+00:37:09.040 --> 00:37:15.279
+that's my answer, I think. Yeah. You know, it's because
+
+00:37:15.280 --> 00:37:20.199
+we... The spiral is great. Sorry. There are each of these
+
+00:37:20.200 --> 00:37:26.639
+weird little packages that some of us, you know, it solves
+
+00:37:26.640 --> 00:37:29.279
+that one problem and lets us get back to work. And for others,
+
+00:37:29.280 --> 00:37:32.439
+it makes us go, gosh, now that makes me rethink a whole bunch
+
+00:37:32.440 --> 00:37:35.239
+of things because there's... Like I don't even know what
+
+00:37:35.240 --> 00:37:37.719
+you're talking about with some of your conceptualizations
+
+00:37:37.720 --> 00:37:41.039
+of UI. Maybe it comes from Visual Studio, and I've not
+
+00:37:41.040 --> 00:37:44.679
+used that or something. So for you, it's a perfectly normal UX
+
+00:37:44.680 --> 00:37:48.799
+paradigm that you kind of lean on for others. It's like you
+
+00:37:48.800 --> 00:37:51.999
+know occupying some screen space and I don't know what the
+
+00:37:52.000 --> 00:37:57.759
+gadgets do and when I open them up... They're thinking
+
+00:37:57.760 --> 00:38:00.999
+about... they have... they imply their own
+
+00:38:01.000 --> 00:38:03.639
+abstractions let's say logically against a programming
+
+00:38:03.640 --> 00:38:06.999
+language. This would be tree sitter, right. If i'm not used to
+
+00:38:07.000 --> 00:38:11.719
+thinking in terms of an abstract abstract syntax tree, some
+
+00:38:11.720 --> 00:38:14.799
+of the concepts just aren't as natural for me. If i'm used to
+
+00:38:14.800 --> 00:38:19.039
+like emacs at a more fundamental level is, or the old modes
+
+00:38:19.040 --> 00:38:23.479
+right, we're used to them thinking in terms of progressing
+
+00:38:23.480 --> 00:38:26.959
+forward through some text, managing a stack of markers into
+
+00:38:26.960 --> 00:38:29.239
+the text, right? It's a different paradigm. The world
+
+00:38:29.240 --> 00:38:33.559
+changes. Emacs kind of supports it all. That's why all the
+
+00:38:33.560 --> 00:38:37.039
+apps are built there. That's why when you're talking about
+
+00:38:37.040 --> 00:38:40.759
+that spiral. what that hints at is that this is really just a
+
+00:38:40.760 --> 00:38:44.239
+different algorithm that you're transferring out that
+
+00:38:44.240 --> 00:38:47.319
+makes some things a lot easier and some things a lot harder.
+
+00:38:47.320 --> 00:38:51.719
+That's why I was bringing in those three packages, because
+
+00:38:51.720 --> 00:38:59.708
+in some way it's making these search terms with reusable...
+
+00:38:59.709 --> 00:39:07.083
+Let's see... saveable buffers or interactive buffers in a way
+
+00:39:07.084 --> 00:39:10.359
+that... in a way, that is bigger than what I think it should have,
+
+00:39:10.360 --> 00:39:15.479
+especially in comparison to like how many people use
+
+00:39:15.480 --> 00:39:20.319
+YouTube, but I don't see very many YouTube apps that will
+
+00:39:20.320 --> 00:39:26.279
+show Rolling subtitle list that you can click on to move up
+
+00:39:26.280 --> 00:39:27.315
+and down the video
+
+00:39:27.316 --> 00:39:30.139
+even though YouTube's been around for years.
+
+00:39:30.140 --> 00:39:33.359
+Why does Emacs have a very good implementation
+
+00:39:33.360 --> 00:39:37.159
+that was duct taped together? So before I let you respond to
+
+00:39:37.160 --> 00:39:40.439
+that, Zac, let me just say we're coming up on eating up a
+
+00:39:40.440 --> 00:39:43.879
+whole half hour of your lunchtime and thank you for giving us
+
+00:39:43.880 --> 00:39:47.879
+that extra time. But let me just say, let's, you know, if I
+
+00:39:47.880 --> 00:39:50.879
+could ask you to take like up to another five minutes and then
+
+00:39:50.880 --> 00:39:53.759
+I'll try to kick us off here and make sure everybody does
+
+00:39:53.760 --> 00:39:54.999
+remember to eat.
+
+00:39:55.000 --> 00:40:04.119
+Yeah, so yeah, it looks like there's one other question. So
+
+NOTE Q: Do you think the Emacs being kinda slow will get in the way of being able to run a lot of scoring algorithms?
+
+00:40:04.120 --> 00:40:06.679
+yeah, do you think Emacs being kind of slow will get in the way
+
+00:40:06.680 --> 00:40:11.319
+of being able to run a lot of scoring algorithms? So this is
+
+00:40:11.320 --> 00:40:15.039
+actually a thought I had. Yeah, Emacs, because the code
+
+00:40:15.040 --> 00:40:19.919
+currently kind of does, I mean, it kind of does, it's kind of
+
+00:40:19.920 --> 00:40:24.039
+dumb in a lot of places. a lot of times it just, it does just go
+
+00:40:24.040 --> 00:40:27.599
+through all the files and then just compute some score for
+
+00:40:27.600 --> 00:40:30.679
+them. But I'm surprised that it's, that part actually isn't
+
+00:40:30.680 --> 00:40:34.799
+that slow. Like, like it turns out like, okay, like if you
+
+00:40:34.800 --> 00:40:40.759
+take, for example, Emacs, like the Emacs directory or the
+
+00:40:40.760 --> 00:40:44.879
+Emacs Git repository, or maybe another big Git repository,
+
+00:40:44.880 --> 00:40:49.079
+like you could have an Elisp function enumerate those, and
+
+00:40:49.080 --> 00:40:52.599
+multiply some numbers, maybe multiply 10 numbers
+
+00:40:52.600 --> 00:41:01.039
+together. And that isn't that slow. And that's the bulk of
+
+00:41:01.040 --> 00:41:05.799
+what the only thing that Elisp has to do is just like multiply
+
+00:41:05.800 --> 00:41:11.599
+these numbers. Obviously, if you have to resort to Elisp to
+
+00:41:11.600 --> 00:41:15.519
+search all the files and you have like 10 or 100,000 files,
+
+00:41:15.520 --> 00:41:18.759
+then yeah, Emacs will be slow
+
+00:41:18.760 --> 00:41:23.959
+to manually search, like if you're not using ripgrep or any
+
+00:41:23.960 --> 00:41:26.839
+faster tool and you have, and you have millions of files and
+
+00:41:26.840 --> 00:41:30.959
+yeah, it will be slow. But what I noticed though is like, for
+
+00:41:30.960 --> 00:41:35.119
+example, let's say you want to search for, let's say you want
+
+00:41:35.120 --> 00:41:40.199
+to search like info directory, like info files for Emacs and
+
+00:41:40.200 --> 00:41:46.039
+the Emacs info file and the Elisp info file. So those are two
+
+00:41:46.040 --> 00:41:49.279
+decently sized kind of books, kind of like reference
+
+00:41:49.280 --> 00:41:50.199
+material on Emacs.
+
+00:41:50.200 --> 00:41:55.999
+Relying on Elisp to search both of those together, it's
+
+00:41:56.000 --> 00:41:58.079
+actually pretty, it's actually like almost instant. I
+
+00:41:58.080 --> 00:42:00.639
+mean, it's not slow enough. So I think that's
+
+00:42:00.640 --> 00:42:03.679
+another thing is like scale. Like I think on, on kind of like
+
+00:42:03.680 --> 00:42:09.679
+individual human level scales, I think Elisp can be good
+
+00:42:09.680 --> 00:42:14.359
+enough. if you're going on the scale of like enterprise,
+
+00:42:14.360 --> 00:42:18.399
+like all the repositories, all the Git repositories of an
+
+00:42:18.400 --> 00:42:21.199
+enterprise, then yeah, that scale might, it might, it might
+
+00:42:21.200 --> 00:42:26.039
+be too much. But I think on, on the scale of what most
+
+00:42:26.040 --> 00:42:30.519
+individuals have to deal with on a daily basis, like for
+
+00:42:30.520 --> 00:42:34.719
+example, maybe somebody has some, yeah, I mean, I think it
+
+00:42:34.720 --> 00:42:36.959
+should, I think it hopefully should be enough. And if not,
+
+00:42:36.960 --> 00:42:39.639
+there's always room for optimizations.
+
+00:42:39.640 --> 00:42:55.999
+Yeah, so so I'll redirect you a little bit because based on a
+
+00:42:56.000 --> 00:43:00.279
+couple of things I got into, you know, or if you want to be done
+
+00:43:00.280 --> 00:43:04.759
+be like, you know, give me the hi sign by all means and we can
+
+00:43:04.760 --> 00:43:08.639
+we can shut up shop, but I'm curious, you know, what are what
+
+NOTE Boundary conditions
+
+00:43:08.640 --> 00:43:13.079
+are your boundary conditions? What what tends to cause you
+
+00:43:13.080 --> 00:43:16.679
+to to to write something more complicated and what what
+
+00:43:16.680 --> 00:43:20.959
+causes you to? So to work around it with more complex
+
+00:43:20.960 --> 00:43:23.559
+workflow in Emacs terms, like where do you break out the big
+
+00:43:23.560 --> 00:43:27.919
+guns? Just thinking about, like search, we talked about,
+
+00:43:27.920 --> 00:43:31.439
+maybe that's too abstract a question, but just general
+
+00:43:31.440 --> 00:43:36.679
+usage. Search is an example where almost all of us have
+
+00:43:36.680 --> 00:43:39.599
+probably written something to go find something, right?
+
+00:43:39.600 --> 00:43:43.519
+Yeah, I mean, this is a good question. I'm actually of the
+
+00:43:43.520 --> 00:43:51.999
+idea, at my work, for example, I tried to get rid of all, I
+
+00:43:52.000 --> 00:43:54.879
+mean, this is probably a typical Emacs user thing, but like,
+
+00:43:54.880 --> 00:43:59.319
+I mean, I think that just like getting, just like having
+
+00:43:59.320 --> 00:44:02.559
+Emacs expand to whatever it can get into and whatever it can
+
+00:44:02.560 --> 00:44:08.839
+automate, like any task, any, like, just like the more you
+
+00:44:08.840 --> 00:44:13.719
+can kind of get that coded, I actually find that kind of like,
+
+00:44:13.720 --> 00:44:20.439
+I mean, it is kind of like a meme. Like, yeah, I have to
+
+00:44:20.440 --> 00:44:24.199
+configure my Emacs until it's fun, and then I'll do it. But I
+
+00:44:24.200 --> 00:44:27.959
+actually I actually think that maybe for like a normal
+
+00:44:27.960 --> 00:44:31.999
+software developer, if you invest, if you invest, maybe,
+
+00:44:32.000 --> 00:44:34.839
+maybe you have like some spare time after you've done all
+
+00:44:34.840 --> 00:44:39.679
+your tasks, if you invest all that time in, in just like kind
+
+00:44:39.680 --> 00:44:42.359
+of going through all the workflows, all the, you know, just,
+
+00:44:42.360 --> 00:44:46.279
+just getting all of that in, in Emacs, then I think that that,
+
+00:44:46.280 --> 00:44:52.039
+that acts as kind of like a, it kind of like a productivity
+
+00:44:52.040 --> 00:44:56.759
+multiplier. And so. So I found that, I mean, I found to not
+
+00:44:56.760 --> 00:44:59.519
+have those boundaries. I mean, obviously there's things
+
+00:44:59.520 --> 00:45:04.599
+you can't do, like web-based things. I mean, that's a hard
+
+00:45:04.600 --> 00:45:10.199
+boundary, but that's more because... Yeah, there's really
+
+00:45:10.200 --> 00:45:13.719
+not much to do about that. Nobody's written a front-end
+
+00:45:13.720 --> 00:45:18.759
+engine, and too much of the forebrain is occupied with
+
+00:45:18.760 --> 00:45:22.559
+things that should happen on the "end-users
+
+00:45:22.560 --> 00:45:29.839
+infrastructure", so to speak. So with like 40 seconds left, I
+
+00:45:29.840 --> 00:45:33.519
+was going to say a minute, but I guess, any final thoughts?
+
+00:45:33.520 --> 00:45:40.159
+Yeah, I mean, just thank you for listening, and And thank you
+
+00:45:40.160 --> 00:45:45.559
+for putting this on. It's a really nice conference to have,
+
+00:45:45.560 --> 00:45:50.679
+and I'm glad things like this exist. So thank you. Yeah, it's
+
+00:45:50.680 --> 00:45:54.639
+you and the other folks on this call. Thank you so much,
+
+00:45:54.640 --> 00:45:58.639
+PlasmaStrike, and all the rest of you for hopping on the BBB
+
+00:45:58.640 --> 00:46:03.119
+and having such an interesting discussion. Keeps it really
+
+00:46:03.120 --> 00:46:08.239
+fun for us as organizers. And thanks, everybody, for being
+
+00:46:08.240 --> 00:46:21.320
+here.
diff --git a/2024/captions/emacsconf-2024-papers--writing-academic-papers-in-orgroam--vincent-conus--answers.vtt b/2024/captions/emacsconf-2024-papers--writing-academic-papers-in-orgroam--vincent-conus--answers.vtt
new file mode 100644
index 00000000..1ab5dd02
--- /dev/null
+++ b/2024/captions/emacsconf-2024-papers--writing-academic-papers-in-orgroam--vincent-conus--answers.vtt
@@ -0,0 +1,842 @@
+WEBVTT indexed by sachac
+
+00:00:00.000 --> 00:00:03.667
+... mentally over the next couple of days, but I can assure you
+
+00:00:03.668 --> 00:00:06.759
+that it will be many organizers in the background also
+
+00:00:06.760 --> 00:00:10.199
+working. You'll probably get to see us later on. But for now,
+
+00:00:10.200 --> 00:00:12.775
+without further ado, I want to say hi to Vincent.
+
+00:00:12.776 --> 00:00:15.417
+Hi, Vincent.
+
+00:00:15.418 --> 00:00:17.458
+Hi, thanks for having me.
+
+00:00:17.459 --> 00:00:18.099
+Yeah, and thanks for
+
+00:00:18.140 --> 00:00:22.902
+coming and thanks for presenting. I mean, you didn't decide
+
+00:00:22.942 --> 00:00:25.704
+to go first. It's mostly the time zone for you which decided
+
+00:00:25.724 --> 00:00:28.883
+for you because I believe you are in Japan, correctly. Yeah,
+
+00:00:28.920 --> 00:00:33.039
+exactly. So I'm living there now and it's very late. It's
+
+00:00:33.040 --> 00:00:37.319
+really funny to see everyone saying good morning in the
+
+00:00:37.320 --> 00:00:39.959
+chat. It's always the same for me. So personally, I'm in
+
+00:00:39.960 --> 00:00:43.959
+France. So for me, it's only 3 p.m. For you, it's probably 9 or
+
+00:00:43.960 --> 00:00:47.959
+10 p.m. if I'm correct. Already 11 here, yeah. It's already
+
+00:00:47.960 --> 00:00:51.678
+11, so thank you for staying up so late for us.
+
+00:00:51.679 --> 00:00:55.181
+And how about we just get started with the questions
+
+00:00:55.182 --> 00:00:56.521
+because you've just presented something
+
+00:00:56.522 --> 00:00:59.200
+that is very dear to my heart, which is
+
+00:00:59.240 --> 00:01:01.959
+writing academic paper with Org Mode, which is, for the
+
+00:01:01.960 --> 00:01:05.279
+record, how I got started with Org Roam and stuff like this.
+
+00:01:05.280 --> 00:01:08.799
+So, unless you've got anything else to add on top of your
+
+00:01:08.800 --> 00:01:11.839
+presentation that wasn't able to fit in, I suggest we just
+
+00:01:11.840 --> 00:01:16.559
+start taking questions. All right. So yeah, right now I'm
+
+00:01:16.560 --> 00:01:19.439
+reading the question from IRC and also from the pad. So I
+
+00:01:19.440 --> 00:01:23.159
+guess I'm gonna take what's already written there.
+
+NOTE Q: I'd be interested how to start this journey of writing academic papers in Org-Roam when not having used Emacs Org-Mode yet? Thanks!
+
+00:01:23.160 --> 00:01:27.359
+So the first one is asking, I'd be interested in how to start this
+
+00:01:27.360 --> 00:01:30.239
+journey to write academic paper in org-roam when not having
+
+00:01:30.240 --> 00:01:36.639
+used Emacs org mode yet. So I saw this one before and I guess it
+
+00:01:36.640 --> 00:01:43.039
+would be possible to do that, to use Org documents only
+
+00:01:43.040 --> 00:01:46.759
+as the way that you are writing papers. Maybe you can
+
+00:01:46.760 --> 00:01:51.959
+just use that as a template that you're going to export.
+
+00:01:51.960 --> 00:01:54.959
+If you are familiar with LaTeX, it's going to be more useful,
+
+00:01:54.960 --> 00:01:59.599
+and maybe more convenient to work with inside of
+
+00:01:59.600 --> 00:02:04.999
+Emacs. But then I'm not 100% sure if that's... How do you say
+
+00:02:05.000 --> 00:02:10.799
+that? Maybe, in my opinion, the benefits of using
+
+00:02:10.800 --> 00:02:14.679
+org-roam in that setup is that you can link the things. For
+
+00:02:14.680 --> 00:02:18.839
+me, I'm using the search function for org-roam to just
+
+00:02:18.840 --> 00:02:21.959
+navigate between the files. So that's really some, a good
+
+00:02:21.960 --> 00:02:26.119
+advantage, but like, yeah, that could be, like Leo said in
+
+00:02:26.120 --> 00:02:28.039
+the presentation, that's some, maybe that's something you
+
+00:02:28.040 --> 00:02:35.839
+can start using org-mode with to write papers. So yeah.
+
+NOTE Q: How about connecting Emacs Org-Roam to Zotero? Is that something you have experience with?
+
+00:02:35.840 --> 00:02:38.879
+Second question. So how about connecting Emacs or Roam
+
+00:02:38.880 --> 00:02:42.079
+to Zotero? Is that something that you have experience with?
+
+00:02:42.080 --> 00:02:47.119
+Not at all. Actually, I used briefly Zotero in the past and I
+
+00:02:47.120 --> 00:02:51.439
+really didn't like it or didn't really get into that. I don't
+
+00:02:51.440 --> 00:02:55.599
+know. But right now,
+
+NOTE Q: Out of curiosity, how do you manage your bibliography? Do you do it from inside Emacs, or using a separate program like Zotero?
+
+00:02:55.600 --> 00:03:00.319
+I don't connect that at all. The question after, out of
+
+00:03:00.320 --> 00:03:03.559
+curiosity, how do you manage your bibliography? Do you do it
+
+00:03:03.560 --> 00:03:06.519
+from inside Emacs or using a separate program, ex: Zotero?
+
+00:03:06.520 --> 00:03:09.119
+Because personally, I have struggled to do it from Emacs,
+
+00:03:09.120 --> 00:03:13.879
+though I have wanted to for some time. So the way I manage that
+
+00:03:13.880 --> 00:03:20.799
+is I just have a couple of .bib files that I edit by hand, where
+
+00:03:20.800 --> 00:03:25.359
+I put the reference when I find them.
+
+00:03:25.360 --> 00:03:28.599
+And yeah, I just showed very briefly in the presentation,
+
+00:03:28.600 --> 00:03:34.119
+but the way.
+
+00:03:34.120 --> 00:03:39.519
+One of the great thing with the org reference system is that
+
+00:03:39.520 --> 00:03:43.239
+if you have your bibliographic files that are connected to
+
+00:03:43.240 --> 00:03:47.959
+that system, you can just like, you can put the link, the
+
+00:03:47.960 --> 00:03:51.879
+reference to the paper, like click on it from your org note,
+
+00:03:51.880 --> 00:03:56.479
+and then you can open the PDF. You can open the DOI link to open
+
+00:03:56.480 --> 00:04:00.719
+the whatever publisher page.
+
+00:04:00.720 --> 00:04:10.159
+So no, I don't use Zotero and I just edit bib or bib files by
+
+00:04:10.160 --> 00:04:12.959
+hand in Emacs.
+
+00:04:12.960 --> 00:04:16.159
+I was just going to add something because you know
+
+00:04:16.160 --> 00:04:19.024
+org-roam-bibtex is actually one of the packages that I
+
+00:04:19.025 --> 00:04:25.399
+developed and I got it working with Zotero because for me it
+
+00:04:25.400 --> 00:04:28.524
+was convenient. I was studying humanities and for me it was
+
+00:04:28.525 --> 00:04:32.599
+very easy to connect reference taken in my browser with
+
+00:04:32.600 --> 00:04:36.799
+Zotero and just post-processing them a little bit but it is
+
+00:04:36.800 --> 00:04:40.279
+possible to make org-roam, org-roam-bibtex and Zotero
+
+00:04:40.280 --> 00:04:44.959
+work together. But it's a little bit of an involved process to
+
+00:04:44.960 --> 00:04:49.439
+get everything working in Emacs.
+
+00:04:49.440 --> 00:04:54.519
+Yeah, for sure. And
+
+00:04:54.520 --> 00:05:01.999
+yeah, I guess the way I'm doing it, I understand the appeal
+
+00:05:02.000 --> 00:05:03.839
+for having it integrated in the browser. Maybe
+
+00:05:03.840 --> 00:05:06.279
+that's something I should look up, actually, because right
+
+00:05:06.280 --> 00:05:09.359
+now I just like doing it very much by hand, like going on the
+
+00:05:09.360 --> 00:05:15.199
+publisher page and copying the bibtex block and
+
+00:05:15.200 --> 00:05:20.039
+just using putting that in my file. Yes, it can be not a very
+
+00:05:20.040 --> 00:05:23.359
+efficient workflow on that side. But after that, you're
+
+00:05:23.360 --> 00:05:26.599
+having the PDF and having it inside the note.
+
+00:05:26.600 --> 00:05:30.759
+Yeah, it's great. Yeah. To some extent, it kind of depends on
+
+00:05:30.760 --> 00:05:33.319
+the reference system that is used by the field in which you
+
+00:05:33.320 --> 00:05:36.279
+are or the university in which you're publishing. Because
+
+00:05:36.280 --> 00:05:39.519
+sometimes, you know, you're going to have some basic BibTeX
+
+00:05:39.520 --> 00:05:41.479
+file and sometimes you're going to have better BibTeX
+
+00:05:41.480 --> 00:05:44.959
+files. And those are very different metadata that you need
+
+00:05:44.960 --> 00:05:49.119
+to reconcile. And depending on which LaTeX compiler you're
+
+00:05:49.120 --> 00:05:52.439
+using, be it zLaTeX[??], be it regular LaTeX, lualatex, it's
+
+00:05:52.440 --> 00:05:55.439
+going to be all different. So it's a whole can of worms that
+
+00:05:55.440 --> 00:05:57.799
+I'm not sure we want to be opening now. But if you are
+
+00:05:57.800 --> 00:06:00.999
+interested and if you're not too attached about getting
+
+00:06:01.000 --> 00:06:03.679
+everything right, it's really easy to get started with
+
+00:06:03.680 --> 00:06:06.319
+stuff like org-roam-bibtex. It's supposed to get you
+
+00:06:06.320 --> 00:06:11.319
+most of the way down to a working setup. And if you need to get
+
+00:06:11.320 --> 00:06:14.359
+everything working down to the comma based on your
+
+00:06:14.360 --> 00:06:16.479
+reference system, that's going to be a little harder. But
+
+00:06:16.480 --> 00:06:19.439
+it's possible. I managed to do it and many people actually
+
+00:06:19.440 --> 00:06:22.599
+managed to do it. Okay, anyway, so let's move on to the next
+
+NOTE Q: How do you start a new document?
+
+00:06:22.600 --> 00:06:26.679
+question. All right, so the next question asking how do you
+
+00:06:26.680 --> 00:06:30.999
+start a new document? There are a lot of headers you have to
+
+00:06:31.000 --> 00:06:34.639
+set up. Do you use a template? I'm curious if you use your
+
+00:06:34.640 --> 00:06:38.839
+snippets to deal with all of these LaTeX org metacommands.
+
+00:06:38.840 --> 00:06:44.759
+So I don't use a snippets template of any kind for that.
+
+00:06:44.760 --> 00:06:47.279
+Probably I should. That's actually a good idea. I'm
+
+00:06:47.280 --> 00:06:51.279
+probably going to look into that. No, the way I do actually is
+
+00:06:51.280 --> 00:06:56.199
+I just reuse some previous documents. I copy it, delete all
+
+00:06:56.200 --> 00:07:01.439
+the contents and adjust it until it works the way I like.
+
+00:07:01.440 --> 00:07:09.679
+The main issue in general after that step is to make it work
+
+00:07:09.680 --> 00:07:13.999
+with the template I receive and Let's say if I have some
+
+00:07:14.000 --> 00:07:20.839
+template that needs to work with another LaTeX compiler,
+
+00:07:20.840 --> 00:07:26.599
+I'm probably going to try to copy an existing file that I have
+
+00:07:26.600 --> 00:07:30.959
+that uses the same compiler to save me some work. But yeah,
+
+00:07:30.960 --> 00:07:37.119
+no, I don't use any snippet or something. Probably I should,
+
+00:07:37.120 --> 00:07:40.879
+but I'm just doing it the quick and dirty way to just copy some
+
+00:07:40.880 --> 00:07:41.719
+existing thing.
+
+NOTE Q: What do you think of using citar with org-roam-bibtex?
+
+00:07:41.720 --> 00:07:48.319
+Then what do you think of citar with org-roam-bibtex? It seems
+
+00:07:48.320 --> 00:07:55.999
+that bibtex completion is tied to org-roam-bibtex. I don't
+
+00:07:56.000 --> 00:08:02.079
+know. I never really looked into citar that much. I
+
+00:08:02.080 --> 00:08:06.799
+don't know about that. I don't know either, so I'm not going
+
+00:08:06.800 --> 00:08:07.759
+to be able to help on this one.
+
+00:08:07.760 --> 00:08:17.119
+Because yeah, the bibtex completion is tied to the overall
+
+00:08:17.120 --> 00:08:24.799
+bibtex. I guess so. So what I'm interpreting, because I do,
+
+00:08:24.800 --> 00:08:30.039
+so BibTeX completion is the single motor that drives helm
+
+00:08:30.040 --> 00:08:32.719
+BibTeX and Ivy BibTeX. Perhaps there's another
+
+00:08:32.720 --> 00:08:35.679
+alternative now that is using the Vertico stack for
+
+00:08:35.680 --> 00:08:40.399
+completion. But org-roam-bibtex was interfacing with BibTeX
+
+00:08:40.400 --> 00:08:46.679
+completion to retrieve all the references from a bib file.
+
+00:08:46.680 --> 00:08:50.599
+and I assume citar would be something very similar in a way
+
+00:08:50.600 --> 00:08:54.039
+that it interfaces with a bib file, but I couldn't tell you
+
+00:08:54.040 --> 00:08:57.439
+more. I need to explore a little more and sadly I haven't
+
+00:08:57.440 --> 00:09:00.759
+touched any of this stack in like three years, so I'm a little
+
+00:09:00.760 --> 00:09:03.199
+out of touch. I guess this is what comes with leaving
+
+00:09:03.200 --> 00:09:07.519
+academia to go work as a corporate developer. I'm no longer
+
+00:09:07.520 --> 00:09:10.319
+so interested in the publishing process, even though I'm
+
+00:09:10.320 --> 00:09:12.799
+obviously very appreciative of people who still do, and
+
+00:09:12.800 --> 00:09:13.679
+especially people who use
+
+00:09:13.680 --> 00:09:20.239
+Yeah, same here. I definitely going to look into the citar
+
+00:09:20.240 --> 00:09:23.399
+package to see what's possible. Maybe can be using in some
+
+00:09:23.400 --> 00:09:26.319
+way that is useful for me. Yeah.
+
+NOTE Q: Most academic journals insist that papers are formatted in their own custom LaTeX documentclass.  Does org-roam make it easy to do that?
+
+00:09:26.320 --> 00:09:30.919
+And if I go to the next question, so most academic journal
+
+00:09:30.920 --> 00:09:33.639
+insist that paper are formatted in their own custom LaTeX
+
+00:09:33.640 --> 00:09:38.199
+document class. Does org-roam make it easy to do that? The
+
+00:09:38.200 --> 00:09:43.239
+answer is no. That's mostly what I was presenting in the
+
+00:09:43.240 --> 00:09:44.279
+slide.
+
+00:09:44.280 --> 00:09:48.000
+Actually, that's also why I made the presentation, because
+
+00:09:48.001 --> 00:09:51.940
+if someone has a solution, I would gladly take it. No, the way
+
+00:09:51.941 --> 00:09:57.500
+I do it is that I have to add a... I don't have that on top of my head.
+
+00:09:57.501 --> 00:10:09.582
+plus. Yeah, exactly. So I just make a custom org-latex class with the
+
+00:10:09.583 --> 00:10:16.159
+name of the latex template. In general, I think people use
+
+00:10:16.160 --> 00:10:19.359
+that to redefine like stuff like section and subsection,
+
+00:10:19.360 --> 00:10:24.279
+but for me, I just, it shows in the slide where I just map the
+
+00:10:24.280 --> 00:10:27.239
+section to the same section. I just changed the name of the
+
+00:10:27.240 --> 00:10:33.719
+class. And this way it allows to import the, the CLS and then
+
+00:10:33.720 --> 00:10:39.079
+the rest is just like putting the TeX template that is
+
+00:10:39.080 --> 00:10:48.519
+provided either in headers, in LaTeX headers at the top or
+
+00:10:48.520 --> 00:10:56.079
+Yeah, or just on a LaTeX block in the body of the document if
+
+00:10:56.080 --> 00:11:02.039
+that's needed, for example, for the acknowledgement.
+
+00:11:02.040 --> 00:11:05.759
+Sometimes they need some different formatting, but no,
+
+00:11:05.760 --> 00:11:09.079
+it's not really easy because it needs to modify some
+
+00:11:09.080 --> 00:11:12.359
+configuration in Emacs to do that. Then after that, a little
+
+00:11:12.360 --> 00:11:15.719
+bit like manually adapt the templates into your org notes.
+
+00:11:15.720 --> 00:11:18.799
+So that's a little bit some upfront work to do. But once it's
+
+00:11:18.800 --> 00:11:22.159
+done, your notes are going to be exported exactly like the
+
+00:11:22.160 --> 00:11:27.319
+template and you don't have to worry about it. Yeah, it's an
+
+00:11:27.320 --> 00:11:32.679
+interesting topic because the thing about, on one side, you
+
+00:11:32.680 --> 00:11:36.159
+know, you want to have, when you're using LaTeX, it kind of
+
+00:11:36.160 --> 00:11:39.359
+translates into you caring a lot about the document that you
+
+00:11:39.360 --> 00:11:42.879
+produce. Either you care about how quickly you can turn a
+
+00:11:42.880 --> 00:11:46.719
+plain text document into a very nicely formatted PDF at the
+
+00:11:46.720 --> 00:11:52.239
+end, or, you know, you just care about the output of your
+
+00:11:52.240 --> 00:11:54.439
+documents, making sure that everything is properly
+
+00:11:54.440 --> 00:11:57.039
+formatted. We were talking about references just before,
+
+00:11:57.040 --> 00:12:00.239
+you know, the formatting rule for references are highly
+
+00:12:00.240 --> 00:12:04.319
+dependent upon the manual that you're using and, you know,
+
+00:12:04.320 --> 00:12:07.159
+some people really care about this. And what I found in my
+
+00:12:07.160 --> 00:12:09.799
+particular experience, my own personal experience
+
+00:12:09.800 --> 00:12:15.199
+writing for academia, was that I was more in the latter crowd
+
+00:12:15.200 --> 00:12:17.839
+that really cared about the output format and making sure
+
+00:12:17.840 --> 00:12:20.599
+everything was correct and it's really a struggle to get
+
+00:12:20.600 --> 00:12:23.519
+everything working especially when you're transpiling
+
+00:12:23.520 --> 00:12:27.199
+from Org Mode documents straight into LaTeX. You're
+
+00:12:27.200 --> 00:12:30.119
+obviously going to be resorting to a number of hacks to get
+
+00:12:30.120 --> 00:12:32.439
+everything working like Vincent just mentioned with the
+
+00:12:32.440 --> 00:12:36.519
+class or you're going to end up with many imported files just
+
+00:12:36.520 --> 00:12:39.999
+to get everything working, but really you're fighting
+
+00:12:40.000 --> 00:12:42.839
+against the tide if you want to get something a little
+
+00:12:42.840 --> 00:12:45.759
+different from what is shipping with Walmart. Maybe
+
+00:12:45.760 --> 00:12:48.479
+everything has gotten better since I was writing my papers,
+
+00:12:48.480 --> 00:12:53.879
+but generally... Kindly disagree. Yeah, go on. I kindly
+
+00:12:53.880 --> 00:12:57.159
+disagree. I actually, I'm surprised that a lot of template
+
+00:12:57.160 --> 00:13:00.679
+is so complex that you don't just change the document class,
+
+00:13:00.680 --> 00:13:03.359
+but also need to do something else. I'd say it's rather
+
+00:13:03.360 --> 00:13:05.919
+uncommon. I guess it depends on the area of your search.
+
+00:13:05.920 --> 00:13:12.599
+Yeah, exactly. I mean, that's it. It just needs CLS and
+
+00:13:12.600 --> 00:13:17.559
+that's all. Yeah, but it really depends on, as you said, on
+
+00:13:17.560 --> 00:13:19.639
+the field in which you're publishing. Some fields are a
+
+00:13:19.640 --> 00:13:22.599
+little more lax with their rules. And just the fact that you
+
+00:13:22.600 --> 00:13:26.479
+can introduce mathematic formulas kind of makes LaTeX the
+
+00:13:26.480 --> 00:13:29.919
+de facto for publishing math documents. But when you're
+
+00:13:29.920 --> 00:13:33.599
+doing humanities, they're more attached to other kinds of
+
+00:13:33.600 --> 00:13:36.879
+formatting. So I think things are much better, anyway,
+
+00:13:36.880 --> 00:13:42.919
+since I started five years ago. Oh, yeah. I have heard from
+
+00:13:42.920 --> 00:13:46.639
+humanities people Microsoft Word. Yes. Sadly, that's the
+
+00:13:46.640 --> 00:13:51.879
+format we're fighting against. Yeah. As for document,
+
+00:13:51.880 --> 00:13:57.079
+yeah, for LaTeX classes, it is a customization and it is the
+
+00:13:57.080 --> 00:14:00.319
+right way to customize this thing, that's all. I'm not sure
+
+00:14:00.320 --> 00:14:03.999
+why it's a hack. It's not a hack. It's an actual user
+
+00:14:04.000 --> 00:14:08.959
+customization. Right. So, we've got about four more
+
+00:14:08.960 --> 00:14:13.559
+minutes of question. Vincent, we've got a couple of Yeah. So
+
+00:14:13.560 --> 00:14:15.319
+I've got a little voice talking in my ear telling me that
+
+00:14:15.320 --> 00:14:17.839
+exactly the same thing. So we've got about two more
+
+00:14:17.840 --> 00:14:21.159
+questions. Vincent, do you want to field them? Sure. So, are
+
+NOTE Q: Are you using zotra or org-ref?
+
+00:14:21.160 --> 00:14:27.799
+you using Zotra (sending some link) or org-ref? No, I don't.
+
+00:14:27.800 --> 00:14:31.879
+I've never heard of Zotra, actually. Looking that very
+
+00:14:31.880 --> 00:14:34.639
+briefly. That's something I'm going to have to look into.
+
+00:14:34.640 --> 00:14:38.519
+Apparently, the short for Zotero translator, so that might
+
+00:14:38.520 --> 00:14:41.759
+be something useful for me since I'm not using Zotero yet,
+
+00:14:41.760 --> 00:14:45.119
+maybe trying to combine. But no, I've never really tried
+
+NOTE Q: How much of this is tied to org-roam specifically?
+
+00:14:45.120 --> 00:14:52.519
+these, but I will. Then the last question, how much of this is
+
+00:14:52.520 --> 00:14:59.479
+tied to Org-roam specifically? Not a lot. Actually apart
+
+00:14:59.480 --> 00:15:02.959
+from the org-roam-bibtex, I think.
+
+00:15:02.960 --> 00:15:11.919
+Maybe I'm mixing up stuff there. But no, not a lot actually.
+
+00:15:11.920 --> 00:15:14.999
+It's just the fact that I'm using that as a in my org-roam
+
+00:15:15.000 --> 00:15:22.159
+system. But apart from that, most of, I mean, actually all of
+
+00:15:22.160 --> 00:15:27.519
+the exports can be done from a normal org-note or any other
+
+00:15:27.520 --> 00:15:31.799
+knowledge management system that you do with org-notes. So
+
+00:15:31.800 --> 00:15:34.119
+no, it's not specifically tied to org-roam, just that
+
+00:15:34.120 --> 00:15:38.399
+that's the way I'm using it. And I'm showing it this way, but
+
+00:15:38.400 --> 00:15:41.759
+yeah, actually the export process can be, can be done with,
+
+00:15:41.760 --> 00:15:49.839
+Yes, specifically tight work room. Yeah, just confirming
+
+00:15:49.840 --> 00:15:54.519
+this, the only way Org Roam intervenes into this process is
+
+00:15:54.520 --> 00:15:57.439
+just referencing
+
+00:15:57.440 --> 00:16:00.319
+bibliography elements. It just kind of intercedes a little
+
+00:16:00.320 --> 00:16:03.319
+bit between what Org Roam usually does. But when it comes to
+
+00:16:03.320 --> 00:16:08.759
+the exports to LaTeX and PDF eventually, that's completely
+
+00:16:08.760 --> 00:16:13.279
+deferring to org exports. So, ox-latex and all of this. So,
+
+00:16:13.280 --> 00:16:16.039
+we are not intervening in any way into this transpiling
+
+00:16:16.040 --> 00:16:20.719
+format. One comment. Yeah, I don't know if I imagine it is,
+
+00:16:20.720 --> 00:16:25.759
+but it looked from the slides that it was our graph was it.
+
+00:16:25.760 --> 00:16:35.439
+Sorry, that it was? org-ref, org-ref.
+
+00:16:35.440 --> 00:16:42.719
+Yes. Because it is a link system for citations. Built-in
+
+00:16:42.720 --> 00:16:46.359
+citations, which is, there is a built-in citation system in
+
+00:16:46.360 --> 00:16:50.639
+art mode. It uses, it doesn't use links. It has a special way
+
+00:16:50.640 --> 00:16:57.359
+to cite things. Yeah, because I believe, yeah, go on please,
+
+00:16:57.360 --> 00:17:01.519
+Vincent. No, I just wanted to say, in that case, I'm using the
+
+00:17:01.520 --> 00:17:10.119
+link with the cite command. I'm not using the org-roam link
+
+00:17:10.120 --> 00:17:14.079
+for the reference. I didn't really show that very
+
+00:17:14.080 --> 00:17:17.679
+carefully. But then, yeah, it's a site element that is
+
+00:17:17.680 --> 00:17:21.639
+exported. So the roam part is just like, you can access the
+
+00:17:21.640 --> 00:17:26.519
+org notes that you have attached to a reference paper. But
+
+00:17:26.520 --> 00:17:31.879
+that's it. Okay, because I was confused by why the
+
+00:17:31.880 --> 00:17:35.919
+bibliography is a link, why style is a link, because it is the
+
+00:17:35.920 --> 00:17:37.239
+approach org-ref uses.
+
+00:17:37.240 --> 00:17:47.839
+Ah, right. Okay, I see. Yeah, the thing is, actually I don't
+
+00:17:47.840 --> 00:17:52.159
+know why, but In my experience, using the org-roam,
+
+00:17:52.160 --> 00:17:57.599
+org-roam-bibtex links doesn't export or doesn't export
+
+00:17:57.600 --> 00:18:01.999
+properly. So like adding them with the org-ref-cite worked
+
+00:18:02.000 --> 00:18:05.359
+better. So that's, that's why I'm using these. If I may
+
+00:18:05.360 --> 00:18:07.439
+interject. If you're using org-ref-cite, you're using
+
+00:18:07.440 --> 00:18:11.319
+org-ref-for-export, which is slightly different. I'm
+
+00:18:11.320 --> 00:18:14.039
+going to interject very quickly because sadly we are a
+
+00:18:14.040 --> 00:18:15.919
+little pressed for time because we are heading into the next
+
+00:18:15.920 --> 00:18:18.559
+discussion. So just very quickly, if you want to continue
+
+00:18:18.560 --> 00:18:21.279
+the discussion, the BBB room is available at
+
+00:18:21.280 --> 00:18:24.319
+emacsconf-org. You can go to the talk and get the link to join
+
+00:18:24.320 --> 00:18:27.319
+the BBB. And the stream will be moving on to the next stream in
+
+00:18:27.320 --> 00:18:30.239
+about 5 to 10 seconds. So I'll see you on the other side. And
+
+00:18:30.240 --> 00:18:36.439
+thank you, Vincent. Thank you. All right, sorry for cutting
+
+00:18:36.440 --> 00:18:38.839
+a little abruptly. It's because we use crontabs to move to
+
+00:18:38.840 --> 00:18:42.519
+the next talk. And sadly, I don't have any leeway on this. So
+
+00:18:42.520 --> 00:18:45.279
+feel free to continue the discussion. I'll be moving on to
+
+00:18:45.280 --> 00:18:48.639
+make sure everything is working. So enjoy the discussion.
+
+00:18:48.640 --> 00:19:00.720
+Thank you very much. Bye-bye.
diff --git a/2024/captions/emacsconf-2024-pgmacs--pgmacs-browsing-and-editing-postgresql-databases-from-emacs--eric-marsden--answers.vtt b/2024/captions/emacsconf-2024-pgmacs--pgmacs-browsing-and-editing-postgresql-databases-from-emacs--eric-marsden--answers.vtt
new file mode 100644
index 00000000..c361ae62
--- /dev/null
+++ b/2024/captions/emacsconf-2024-pgmacs--pgmacs-browsing-and-editing-postgresql-databases-from-emacs--eric-marsden--answers.vtt
@@ -0,0 +1,873 @@
+WEBVTT
+
+00:00:00.000 --> 00:00:10.839
+And I believe we are live. Hi, Eric, how are you doing? Very
+
+00:00:10.840 --> 00:00:15.599
+well, thanks. It's a pleasure to have you as one of our
+
+00:00:15.600 --> 00:00:19.639
+speakers but it's also very nice to see you present about
+
+00:00:19.640 --> 00:00:24.239
+pgmacs because I found your talk to be very didactic and very
+
+00:00:24.240 --> 00:00:26.479
+visual. So thank you for taking the time to do a very nice
+
+00:00:26.480 --> 00:00:31.079
+presentation. I wanted to give the opportunity as I do with
+
+00:00:31.080 --> 00:00:36.279
+other speakers to maybe talk about some stuff that you could
+
+00:00:36.280 --> 00:00:39.279
+not include into the talk because of the format. So is there
+
+00:00:39.280 --> 00:00:41.319
+anything you'd like to share with the viewers that you
+
+00:00:41.320 --> 00:00:45.439
+weren't able to include?
+
+00:00:45.440 --> 00:00:50.719
+Oh, I think I gave most of the most of the relevant
+
+00:00:50.720 --> 00:00:54.759
+information. This is a fairly young application. I've been
+
+00:00:54.760 --> 00:00:58.159
+developing this since roughly the beginning of the year. So
+
+00:00:58.160 --> 00:01:02.879
+there are probably some rough edges that people will run
+
+00:01:02.880 --> 00:01:07.479
+into if they use Postgres differently from what I do. Or they
+
+00:01:07.480 --> 00:01:10.919
+hear maybe conflicts with some other Emacs packages that
+
+00:01:10.920 --> 00:01:14.959
+people use that I don't use. So I would really welcome people
+
+00:01:14.960 --> 00:01:19.359
+trying it out and sending out bug reports if they do
+
+00:01:19.360 --> 00:01:23.479
+encounter some. Yeah, I mean, it's usually... Go on,
+
+00:01:23.480 --> 00:01:29.079
+please. Yeah, that would certainly help to make sure it's
+
+00:01:29.080 --> 00:01:31.599
+nice and robust. And of course, if you're letting this loose
+
+00:01:31.600 --> 00:01:35.959
+on some production database that you might have, you want
+
+00:01:35.960 --> 00:01:41.239
+this to be quite robust, obviously. Yeah, indeed. Because
+
+00:01:41.240 --> 00:01:43.879
+usually, you know, when you start publishing packages like
+
+00:01:43.880 --> 00:01:46.599
+this, that's when you realize that it has bad interaction
+
+00:01:46.600 --> 00:01:49.759
+with other modes in the Emacs of other persons. But
+
+00:01:49.760 --> 00:01:52.039
+especially when you're dealing with databases, you also
+
+00:01:52.040 --> 00:01:54.639
+realize that the domain space of what you're trying to do
+
+00:01:54.640 --> 00:01:58.999
+with your mode also is hugely dependent on what people have
+
+00:01:59.000 --> 00:02:03.839
+in their database, which schema they have. So, indeed, if
+
+00:02:03.840 --> 00:02:05.839
+you have been interested, and I think plenty of people have
+
+00:02:05.840 --> 00:02:09.039
+been interested by what you've presented, part of the
+
+00:02:09.040 --> 00:02:11.679
+reason a software becomes great is that you've got plenty of
+
+00:02:11.680 --> 00:02:14.759
+people making bug reports and making sure that all the
+
+00:02:14.760 --> 00:02:18.799
+faults have been ironed out. So, you know what your task is. I
+
+00:02:18.800 --> 00:02:21.319
+will also ask you, particularly right now, people
+
+00:02:21.320 --> 00:02:24.519
+currently viewing, to add your questions on the pad as
+
+00:02:24.520 --> 00:02:27.639
+usual, because you've had plenty of nice reactions, but I'm
+
+00:02:27.640 --> 00:02:30.799
+sure you have plenty of questions as well. So Eric, what I'll
+
+00:02:30.800 --> 00:02:33.759
+be doing, I'll be reading you the questions so that it's a
+
+00:02:33.760 --> 00:02:37.439
+little more didactic. Starting with the first one. This is
+
+NOTE Q: Do you know if PGmacs works with TRAMP?
+
+00:02:37.440 --> 00:02:41.079
+brilliant, thank you. Do you know if pgmacs works with TRAMP?
+
+00:02:41.080 --> 00:02:44.119
+I often use TRAMP multi-hop to access databases both
+
+00:02:44.120 --> 00:02:46.959
+remotely when accessing via bastion server and locally
+
+00:02:46.960 --> 00:02:49.639
+when using OCI containers. I believe you've already
+
+00:02:49.640 --> 00:02:53.079
+answered but if you could just perhaps read your answer as
+
+00:02:53.080 --> 00:02:58.799
+well for everyone to benefit from it. Yep, sure, that's my
+
+00:02:58.800 --> 00:03:02.319
+comment indeed. So I haven't currently implemented any
+
+00:03:02.320 --> 00:03:07.559
+TRAMP support. I'm not sure that TRAMP is really useful for
+
+00:03:07.560 --> 00:03:11.439
+this type of situation, because as I understand it, TRAMP is
+
+00:03:11.440 --> 00:03:17.159
+establishing SSH connections itself to remote servers.
+
+00:03:17.160 --> 00:03:22.519
+pgmacs is doing the same thing, so it doesn't currently have
+
+00:03:22.520 --> 00:03:27.399
+any support for hooking in with the TRAMP support. Right.
+
+00:03:27.400 --> 00:03:31.439
+Pardon me if I missed the presentation. Oh, go on, please. I
+
+00:03:31.440 --> 00:03:34.359
+guess you could set up an SSH tunnel. It does work with an SSH
+
+00:03:34.360 --> 00:03:39.919
+tunnel, obviously, but there's no support for hooking into
+
+00:03:39.920 --> 00:03:43.799
+an SSH tunnel that TRAMP might be able to create. I'm not sure
+
+00:03:43.800 --> 00:03:46.959
+TRAMP actually uses SSH tunnels rather than direct
+
+00:03:46.960 --> 00:03:51.439
+commands, but anyway. Yeah, I think that might be useful.
+
+00:03:51.440 --> 00:03:54.759
+Yeah, I don't know either. I don't have the answer whether
+
+00:03:54.760 --> 00:03:59.039
+TRAMP actually can create tunnels like this. I'm usually
+
+00:03:59.040 --> 00:04:02.039
+used to TRAMP connecting to an endpoint, be it a directory or
+
+00:04:02.040 --> 00:04:06.239
+a file, and the tunnel is just you accessing the file. But
+
+00:04:06.240 --> 00:04:08.959
+usually, if you're trying to access a remote Postgres
+
+00:04:08.960 --> 00:04:12.039
+database, you would probably manage the port forwarding in
+
+00:04:12.040 --> 00:04:15.199
+a separate terminal just to be able to make sure that
+
+00:04:15.200 --> 00:04:17.759
+everything maps correctly to your machine, and then you
+
+00:04:17.760 --> 00:04:21.959
+would launch pgmacs with the forward port information.
+
+00:04:21.960 --> 00:04:25.519
+That's, I assume, how you would do it anyway. But yeah, I
+
+00:04:25.520 --> 00:04:29.119
+mean, if you could specify what you mean by TRAMP support and
+
+00:04:29.120 --> 00:04:31.839
+if you have something specific in mind, I'm talking to the
+
+00:04:31.840 --> 00:04:35.119
+questioner, feel free to specify and we'll see if you can
+
+00:04:35.120 --> 00:04:38.239
+answer it. But in the meantime, moving to the next question.
+
+NOTE Q: How did you come up with this brilliant idea?
+
+00:04:38.240 --> 00:04:41.999
+Great work, I'm impressed. How did you come up with this
+
+00:04:42.000 --> 00:04:49.079
+brilliant idea, I assume, to create pgmacs? Well, thanks for
+
+00:04:49.080 --> 00:04:52.839
+the compliment. It's a lot of fun developing something
+
+00:04:52.840 --> 00:04:57.799
+which is, as I said, such a small amount of code and which
+
+00:04:57.800 --> 00:05:02.359
+provides quite a bit of useful functionality. In
+
+00:05:02.360 --> 00:05:06.839
+particular, if you compare it with existing Terminal mode
+
+00:05:06.840 --> 00:05:12.799
+applications for manipulating Postgres data, they are
+
+00:05:12.800 --> 00:05:19.279
+not as extensible as Emacs is naturally. So I actually got
+
+00:05:19.280 --> 00:05:23.439
+the idea for developing this when I first tested out the
+
+00:05:23.440 --> 00:05:27.439
+SQLite mode, which is available in Emacs 29.1.
+
+00:05:27.440 --> 00:05:31.879
+And I thought, well, that's really quite impressive. And it
+
+00:05:31.880 --> 00:05:37.359
+allows you to delete rows and insert content and so on. And I
+
+00:05:37.360 --> 00:05:42.359
+was thinking, yeah, Emacs is a, is a useful environment to do
+
+00:05:42.360 --> 00:05:50.079
+that. And since several years ago, when I was doing my PhD, so
+
+00:05:50.080 --> 00:05:53.999
+to avoid doing my PhD, I was developing Emacs, I was
+
+00:05:54.000 --> 00:05:58.399
+developing stuff in Emacs Lisp and one of the libraries I
+
+00:05:58.400 --> 00:06:02.959
+developed was an interface to Postgres over the network. So
+
+00:06:02.960 --> 00:06:08.039
+that's the library called pg.el, which is used by pgmacs to
+
+00:06:08.040 --> 00:06:14.239
+access Postgres and to do all the parsing of data which
+
+00:06:14.240 --> 00:06:19.279
+arrives in Postgres formats into the Emacs Lisp into the
+
+00:06:19.280 --> 00:06:22.999
+Emacs corresponding versions. So, for example, integers
+
+00:06:23.000 --> 00:06:25.399
+are passed as Emacs integers, floating point numbers as
+
+00:06:25.400 --> 00:06:30.839
+floating point numbers, and so on. Right, yeah. I mean, it's
+
+00:06:30.840 --> 00:06:34.439
+pretty needed, obviously, when you have such a tooling like
+
+00:06:34.440 --> 00:06:37.359
+this, to make sure that the type conversion works properly,
+
+00:06:37.360 --> 00:06:39.879
+because the types that you have in Postgres do not
+
+00:06:39.880 --> 00:06:43.879
+necessarily map over to what we have in Emacs. Like, I'm
+
+00:06:43.880 --> 00:06:49.239
+interested, how would you handle g's and b columns in pgmacs?
+
+00:06:49.240 --> 00:06:55.039
+JSON is mapped to an edis dict, a dictionary.
+
+00:06:55.040 --> 00:07:03.759
+It depends on the top level object type for your JSON column.
+
+00:07:03.760 --> 00:07:07.599
+If it's an array, it's mapped to an Emacs Lisp array. If it's a
+
+00:07:07.600 --> 00:07:12.639
+dict, which is most common, it's mapped to an Emacs Lisp
+
+00:07:12.640 --> 00:07:17.679
+dictionary. All right, well it makes perfect sense. So I can
+
+00:07:17.680 --> 00:07:21.839
+break in with a question. Thanks, I just helped myself to the
+
+00:07:21.840 --> 00:07:26.159
+BBB privilege of kind of running around backstage, being a
+
+00:07:26.160 --> 00:07:31.679
+helper backstage. So thanks for your awesome talk, Eric. I
+
+00:07:31.680 --> 00:07:36.719
+super appreciated it. You know, I noticed that you that
+
+00:07:36.720 --> 00:07:43.159
+you're on a slightly older version of Emacs that I deal with
+
+00:07:43.160 --> 00:07:49.519
+in helping with producing the Windows binaries I run into
+
+00:07:49.520 --> 00:07:53.839
+and with some other stuff I do. I'm dealing with that
+
+00:07:53.840 --> 00:07:56.919
+friction of sometimes I've got some work of my own that
+
+00:07:56.920 --> 00:07:59.719
+applies against a specific version of Emacs and it's a bunch
+
+00:07:59.720 --> 00:08:02.519
+of work to think about moving it forward. Just curious if you
+
+00:08:02.520 --> 00:08:06.479
+started thinking about that or if you routine, if that's a
+
+00:08:06.480 --> 00:08:09.919
+routine that you haven't done or there's something maybe
+
+00:08:09.920 --> 00:08:14.599
+specifically going on with, you know, with trunk
+
+00:08:14.600 --> 00:08:20.599
+development that looks intimidating to deal with. Thanks
+
+00:08:20.600 --> 00:08:24.959
+for the comment. I'm not sure I'm using a really old version
+
+00:08:24.960 --> 00:08:29.239
+for Windows. I don't really develop often on Windows, but I I
+
+00:08:29.240 --> 00:08:32.639
+occasionally check that it works, and I took a screenshot
+
+00:08:32.640 --> 00:08:34.799
+that I included in the slides here, but I think I'm using
+
+00:08:34.800 --> 00:08:40.559
+29.4, the current version on Windows. I thought I saw 29.1,
+
+00:08:40.560 --> 00:08:48.839
+so that's probably my, I probably missed it when it went by.
+
+00:08:48.840 --> 00:08:54.879
+My bad. No, no, I use it via the choco package updater so that
+
+00:08:54.880 --> 00:08:58.479
+updates the Emacs version quite easily on Windows. So
+
+00:08:58.480 --> 00:09:03.079
+thanks for your work on maintaining Windows binaries. I
+
+00:09:03.080 --> 00:09:07.519
+realize that was- I sit downstream at the end of a lot of other
+
+00:09:07.520 --> 00:09:11.399
+people's hard work and then just focus on trying to QA well
+
+00:09:11.400 --> 00:09:15.559
+and help catch problems early. It's really fun. But of
+
+00:09:15.560 --> 00:09:16.399
+course, my pleasure.
+
+00:09:16.400 --> 00:09:21.799
+Coming back to the previous question, so the the
+
+00:09:21.800 --> 00:09:26.919
+questionnaire actually provided a little more context. So
+
+NOTE TRAMP continued
+
+00:09:26.920 --> 00:09:30.599
+with docker.el, kubel, etc, it's often possible to, for
+
+00:09:30.600 --> 00:09:33.919
+example, select a container pod or whatever that is hosted
+
+00:09:33.920 --> 00:09:36.639
+on the machine you've connected to via TRAMP, such as
+
+00:09:36.640 --> 00:09:41.799
+Podman, colon image colon path and trigger a terminal shell
+
+00:09:41.800 --> 00:09:44.959
+as well as pull forward on other similar things. It'd be nice
+
+00:09:44.960 --> 00:09:47.679
+to be able to use this tool in a similar way since it would open
+
+00:09:47.680 --> 00:09:49.919
+up the ability to use it with complex connection
+
+00:09:49.920 --> 00:09:53.679
+configuration. Doing SSH tunnel manually is of course
+
+00:09:53.680 --> 00:09:56.879
+totally fine in practice and if it is actually the case
+
+00:09:56.880 --> 00:10:01.319
+personally when I need to remote into a kubernetes machine I
+
+00:10:01.320 --> 00:10:05.239
+use POSIX script that I use on most of my machines but I don't
+
+00:10:05.240 --> 00:10:08.599
+do it inside Emacs. But yeah, if such a thing is possible via
+
+00:10:08.600 --> 00:10:11.039
+TRAMP, it definitely feels like it would be possible to do
+
+00:10:11.040 --> 00:10:14.919
+something similar in pgmacs. So perhaps that's a path of
+
+00:10:14.920 --> 00:10:19.559
+investigation for you that has opened up. Yeah, thanks for
+
+00:10:19.560 --> 00:10:22.759
+these comments. I'll look into that indeed if people have
+
+00:10:22.760 --> 00:10:26.159
+some shortcuts registered in TRAMP. So not for a terminal,
+
+00:10:26.160 --> 00:10:29.599
+because pgmacs won't work through a terminal, but through a
+
+00:10:29.600 --> 00:10:33.439
+port forward, then that would be convenient. I'll see how
+
+00:10:33.440 --> 00:10:38.639
+easy that is to set up. Yeah, I'm pretty sure the way it works
+
+00:10:38.640 --> 00:10:41.279
+is that it starts some processes in the background in Emacs
+
+00:10:41.280 --> 00:10:45.359
+just to either maintain the port forward or to maybe remap
+
+00:10:45.360 --> 00:10:49.239
+some kubecon things or whatever. So with pgmacs,
+
+00:10:49.240 --> 00:10:51.879
+considering complex pipelines to get to the end
+
+00:10:51.880 --> 00:10:54.679
+destination, it feels like it would be possible to do
+
+00:10:54.680 --> 00:10:57.439
+something. But perhaps it's not the responsibility of
+
+00:10:57.440 --> 00:11:00.199
+pgmacs, perhaps it's the responsibility of another,
+
+00:11:00.200 --> 00:11:03.639
+perhaps something that would target TRAMP more so than
+
+00:11:03.640 --> 00:11:08.399
+pgmacs. But it's nice to see again how the beauty of Emacs
+
+00:11:08.400 --> 00:11:12.119
+is that everything is Elisp at the end, and the way they
+
+00:11:12.120 --> 00:11:16.079
+interact, you might want to question yourself whether this
+
+00:11:16.080 --> 00:11:18.919
+belongs more to pgmacs or more to TRAMP, but at the end of the
+
+00:11:18.920 --> 00:11:22.439
+day, both applications will be able to benefit from the
+
+00:11:22.440 --> 00:11:24.759
+functions of the other. So that's the beauty of the
+
+00:11:24.760 --> 00:11:29.159
+philosophy right here. I do see... Absolutely, I agree.
+
+00:11:29.160 --> 00:11:32.279
+Sorry, before we move to different questions, an
+
+00:11:32.280 --> 00:11:36.759
+additional point. I should point out that to warn people
+
+00:11:36.760 --> 00:11:41.159
+that probably running over an SSH tunnel is going to be a bit
+
+00:11:41.160 --> 00:11:46.839
+slow. I mostly use it on my own machine via a local Unix
+
+00:11:46.840 --> 00:11:50.439
+connection. And for some reason that I haven't understood,
+
+00:11:50.440 --> 00:11:55.119
+pgmacs is quite a bit slower when it's even connecting to the
+
+00:11:55.120 --> 00:12:00.359
+same database on the local machine, but via Emacs' network
+
+00:12:00.360 --> 00:12:05.039
+support instead of via the Unix socket support. There is
+
+00:12:05.040 --> 00:12:11.639
+like a factor 10 difference in throughput and in latency. I
+
+00:12:11.640 --> 00:12:15.839
+don't really understand why currently, because it's using
+
+00:12:15.840 --> 00:12:21.919
+exactly the same Emacs Lisp level primitives. And when you
+
+00:12:21.920 --> 00:12:24.799
+do this using other libraries like libpq, which is the
+
+00:12:24.800 --> 00:12:30.639
+Postgres standard official library for connecting to
+
+00:12:30.640 --> 00:12:34.319
+Postgres, there's not such a performance difference. So
+
+00:12:34.320 --> 00:12:39.759
+there's probably something that is not working perfectly
+
+00:12:39.760 --> 00:12:43.879
+in the Emacs network support. I'll have to see whether I can
+
+00:12:43.880 --> 00:12:48.679
+investigate how to improve that performance. Yeah, I'm
+
+00:12:48.680 --> 00:12:52.999
+going to say it sounds like a great bug to have because it
+
+00:12:53.000 --> 00:12:57.319
+feels like it will allow you to dig deeper into Emacs to
+
+00:12:57.320 --> 00:12:59.679
+understand what is going on here. Because as you said,
+
+00:12:59.680 --> 00:13:01.519
+normally it's supposed to work exactly the same,
+
+00:13:01.520 --> 00:13:04.319
+especially if it's still in your local machine, but it
+
+00:13:04.320 --> 00:13:07.919
+doesn't. Personally, that's the kind of bug that I really
+
+00:13:07.920 --> 00:13:11.199
+like and that I'd like to spend more time investigating. So
+
+00:13:11.200 --> 00:13:14.759
+perhaps you might think otherwise, but I wish you luck on the
+
+00:13:14.760 --> 00:13:18.599
+debugging with this particular matter. All right, moving
+
+00:13:18.600 --> 00:13:21.519
+to the last question that we have and then we'll probably go
+
+00:13:21.520 --> 00:13:22.965
+on a little bit of a break.
+
+NOTE Q: Is sqlite-mode also capable of all of this functionality (table relations, etc)? If not, will it be possible to abstract out this functionality from pgmacs somehow?
+
+00:13:22.966 --> 00:13:25.399
+Question. Is SQLite mode also
+
+00:13:25.400 --> 00:13:28.439
+capable of all of this functionality, table relations,
+
+00:13:28.440 --> 00:13:31.559
+etc.? If not, would it be possible to abstract out this
+
+00:13:31.560 --> 00:13:33.279
+functionality from pgmacs somehow?
+
+00:13:33.280 --> 00:13:41.319
+So I'm not very familiar with SQLite because I don't really
+
+00:13:41.320 --> 00:13:46.439
+use it very much myself. I'm not sure I can answer that
+
+00:13:46.440 --> 00:13:53.079
+question. Sorry about that. I think it is probably a bit more
+
+00:13:53.080 --> 00:13:56.639
+basic because SQLite itself is quite a bit more basic in
+
+00:13:56.640 --> 00:14:01.639
+terms of the types of indexes it's able to support and the
+
+00:14:01.640 --> 00:14:09.199
+types of constraints it's able to support. Is it relevant to
+
+00:14:09.200 --> 00:14:13.799
+create an abstract API for connecting to databases? I think
+
+00:14:13.800 --> 00:14:19.639
+there is already actually a library that abstracts out from
+
+00:14:19.640 --> 00:14:25.439
+SQLite and Postgres. Postgres, when you connect to it via a
+
+00:14:25.440 --> 00:14:29.159
+PSQL subsystem,
+
+00:14:29.160 --> 00:14:38.439
+it might be worthwhile doing that, but there are often a few
+
+00:14:38.440 --> 00:14:42.279
+minor differences in SQL syntax and so on between
+
+00:14:42.280 --> 00:14:45.879
+databases. So it might be difficult to have something that
+
+00:14:45.880 --> 00:14:53.159
+really works with generic queries in an effective way. All
+
+00:14:53.160 --> 00:14:58.239
+these SQL dialects are a little bit different,
+
+00:14:58.240 --> 00:15:02.319
+unfortunately. So there was another question about I was
+
+00:15:02.320 --> 00:15:06.510
+just going to read out the next question.
+
+NOTE Q: Would it be possible to move it into Emacs tree? Are the maintainers interested in it?
+
+00:15:06.511 --> 00:15:07.519
+So have you thought
+
+00:15:07.520 --> 00:15:12.559
+about integrating your work into the Emacs tree? Do you know
+
+00:15:12.560 --> 00:15:17.599
+if people are interested? This was a question from the past.
+
+00:15:17.600 --> 00:15:24.639
+Yeah, I think it's probably a bit young to do so, so far.
+
+00:15:24.640 --> 00:15:30.119
+I'm updating it quite regularly. Maybe once it's more
+
+00:15:30.120 --> 00:15:35.399
+stabilized, I wouldn't necessarily object to this. I have
+
+00:15:35.400 --> 00:15:38.559
+some sort of philosophical objections to giving away my
+
+00:15:38.560 --> 00:15:42.519
+copyright, so I'm not sure that will actually be possible.
+
+00:15:42.520 --> 00:15:48.079
+Oh, that'd be interesting. I'd love to get you on maybe a
+
+00:15:48.080 --> 00:15:51.639
+panel talk about that sometime. Something I'd think about.
+
+00:15:51.640 --> 00:15:55.999
+Well, from a very simple point of view, I think that the
+
+00:15:56.000 --> 00:16:01.159
+copyright and the system works well with the existing
+
+00:16:01.160 --> 00:16:05.319
+license and without a license transfer, so I don't feel that
+
+00:16:05.320 --> 00:16:07.766
+the, sorry, without a copyright transfer,
+
+00:16:07.767 --> 00:16:14.679
+I don't feel that the copyright transfer is really a necessary step for
+
+00:16:14.680 --> 00:16:21.639
+taking things away from maintainers. It feels like asking
+
+00:16:21.640 --> 00:16:26.559
+the maintainers to give up on some of their copyright...
+
+00:16:26.560 --> 00:16:29.999
+Indeed. Yeah, I see where that's a little beyond our scope,
+
+00:16:30.000 --> 00:16:33.519
+but it's a fascinating topic and I appreciate your sharing
+
+00:16:33.520 --> 00:16:36.959
+your views there. I mean, that sounds like a whole topic of
+
+00:16:36.960 --> 00:16:41.599
+its own, frankly.
+
+00:16:41.600 --> 00:16:47.039
+Yeah. Corwin, do you want to fill the last question? Sure. So
+
+00:16:47.040 --> 00:16:52.039
+the question was, I almost missed this one, so glad I didn't.
+
+00:16:52.040 --> 00:16:53.849
+This may have been answered already.
+
+NOTE Q: What do you use for the in-buffer tables? Vtable?
+
+00:16:53.850 --> 00:16:55.159
+What do you use for
+
+00:16:55.160 --> 00:17:00.039
+in-buffer tables? Do you use vtable? Yep. Thanks for the
+
+00:17:00.040 --> 00:17:04.599
+question. It is indeed vtable. However, it's not really
+
+00:17:04.600 --> 00:17:10.919
+vtable. It's a fork that I made, which is called pgmix table.
+
+00:17:10.920 --> 00:17:17.199
+because Vtable doesn't have exactly the right
+
+00:17:17.200 --> 00:17:22.119
+functionality in particular for recoloring rows when you
+
+00:17:22.120 --> 00:17:28.239
+add a row. So I've currently forked this. I'm thinking about
+
+00:17:28.240 --> 00:17:36.359
+giving those back as patches to Vtable, plausibly.
+
+00:17:36.360 --> 00:17:40.719
+I know that there is some ongoing work also on vTable in the
+
+00:17:40.720 --> 00:17:45.839
+core. So I'll have to look at what is plausible to feed back
+
+00:17:45.840 --> 00:17:46.719
+into the main version.
+
+00:17:46.720 --> 00:17:55.199
+All right, great. I think we are nearing the end of the Q&A. We
+
+00:17:55.200 --> 00:17:59.079
+are due to move to the next talk in about three minutes now. I
+
+00:17:59.080 --> 00:18:02.719
+can fill 30 seconds or a minute of that with I guess one more
+
+00:18:02.720 --> 00:18:05.079
+maybe back and forth and I'll try to be quicker this time.
+
+00:18:05.080 --> 00:18:08.879
+First of all, thanks for your kind remarks. But my question
+
+00:18:08.880 --> 00:18:11.839
+wasn't really about Windows so much, it was just how I'm
+
+00:18:11.840 --> 00:18:16.639
+relating... So have you, let me put it more simply, have you
+
+NOTE Integrating with Emacs 30?
+
+00:18:16.640 --> 00:18:20.639
+started looking at integrating with Emacs 30 or with the
+
+00:18:20.640 --> 00:18:24.679
+master branch at all? Do you have any sense of how much work
+
+00:18:24.680 --> 00:18:27.079
+it's going to be for you to carry things forward there? I've
+
+00:18:27.080 --> 00:18:31.039
+tested it with the pre-release, yes. I mean, just a very
+
+00:18:31.040 --> 00:18:35.079
+basic testing and everything works perfectly. There's
+
+00:18:35.080 --> 00:18:39.799
+really no... There was no difference that I have noticed
+
+00:18:39.800 --> 00:18:46.279
+between 29.4 and the 30 pre-release on the aspects that I use
+
+00:18:46.280 --> 00:18:48.959
+at least in Emacs. Neato.
+
+00:18:48.960 --> 00:18:56.439
+That was it, Leo. Thanks for letting me back in for one more
+
+00:18:56.440 --> 00:18:58.799
+bite at the apple there. And I appreciate everybody tuning
+
+00:18:58.800 --> 00:19:03.479
+in and participating in the Q&A and this awesome talk.
+
+00:19:03.480 --> 00:19:06.879
+Thanks for your questions. That was great. Yeah, and thank
+
+00:19:06.880 --> 00:19:10.319
+you for answering them and for the presentation as well. So
+
+00:19:10.320 --> 00:19:14.199
+we'll be moving in about two minutes to the next talk, which
+
+00:19:14.200 --> 00:19:20.159
+is pre-recorded as well. Well, we didn't really give you the
+
+00:19:20.160 --> 00:19:29.399
+chance, Eric, to have the last word. So do you have any last
+
+00:19:29.400 --> 00:19:29.799
+word?
+
+00:19:29.800 --> 00:19:34.479
+please try it out, try out pgmacs and send some feedback
+
+00:19:34.480 --> 00:19:39.279
+that'll help improve it over time. Sure, great. Well, thank
+
+00:19:39.280 --> 00:19:41.559
+you so much, Eric, for taking the time to come to the
+
+00:19:41.560 --> 00:19:45.999
+conference, and we'll see you soon. Thank you. Bye,
+
+00:19:46.000 --> 00:19:50.279
+everyone. Bye. And we'll be live with the next talk in about 1
+
+00:19:50.280 --> 00:19:53.119
+minute 30. So we'll take a little bit of a breather, go make
+
+00:19:53.120 --> 00:19:56.599
+some coffee, go take a bio break. We'll be back soon. See you
+
+00:19:56.600 --> 00:20:01.880
+in a bit.
diff --git a/2024/captions/emacsconf-2024-project--managing-writing-project-metadata-with-orgmode--blaine-mooers--answers.vtt b/2024/captions/emacsconf-2024-project--managing-writing-project-metadata-with-orgmode--blaine-mooers--answers.vtt
new file mode 100644
index 00000000..803490e2
--- /dev/null
+++ b/2024/captions/emacsconf-2024-project--managing-writing-project-metadata-with-orgmode--blaine-mooers--answers.vtt
@@ -0,0 +1,2423 @@
+WEBVTT
+
+00:00:00.000 --> 00:00:10.319
+And about, I think we are live. Okay, hi again everyone. And hi
+
+00:00:10.320 --> 00:00:14.679
+Blaine, how are you doing? Fantastic, happy to be here.
+
+00:00:14.680 --> 00:00:17.479
+Yeah, it's good to see you again. We were just reminiscing in
+
+00:00:17.480 --> 00:00:20.239
+a room right now that it's almost been a year exactly since we
+
+00:00:20.240 --> 00:00:23.879
+last spoke because you were at the EmacsConf last year. That's
+
+00:00:23.880 --> 00:00:28.559
+right. This is great fun. Yeah, well, thank you for coming in
+
+00:00:28.560 --> 00:00:33.079
+and especially every time you come with a very well-crafted
+
+00:00:33.080 --> 00:00:37.279
+talks talking about, you know, what you do with Org Mode, Org
+
+00:00:37.280 --> 00:00:41.039
+Roam and whatever. And it's really fascinating as someone
+
+00:00:41.040 --> 00:00:43.479
+who develops and use those tools constantly to see you put
+
+00:00:43.480 --> 00:00:46.199
+them in action so well. Because you, you know, the way you
+
+00:00:46.200 --> 00:00:49.719
+talk about your research, it really reminds me on what we
+
+00:00:49.720 --> 00:00:53.279
+were, sorry, I've got elves talking in my ears and I'm still
+
+00:00:53.280 --> 00:00:56.639
+not used to it at this point. But it's really nice to see you
+
+00:00:56.640 --> 00:01:00.359
+put all of this together into a very cohesive way for you to
+
+00:01:00.360 --> 00:01:03.759
+write. Okay, let me just share my screen and I'll be sharing
+
+00:01:03.760 --> 00:01:11.879
+the questions. Where is it? All right, take presenter. And I
+
+00:01:11.880 --> 00:01:18.079
+will be sharing the questions. All right. Can you see my
+
+00:01:18.080 --> 00:01:24.159
+screen all right? I can, yes. OK, cool. So we move straight to
+
+00:01:24.160 --> 00:01:26.999
+the question. Let me just check on the time. I think we have
+
+00:01:27.000 --> 00:01:31.999
+about until 10.20, which is in 17 minutes. So let's take
+
+00:01:32.000 --> 00:01:35.639
+about 10 to 15 minutes of question time. And if people have
+
+00:01:35.640 --> 00:01:38.599
+joined on BBB, we'll also be taking questions live. All
+
+NOTE Q: what does 0573 means in your init. file name?
+
+00:01:38.600 --> 00:01:44.079
+right. Starting with the first question, what does 0573
+
+00:01:44.080 --> 00:01:49.719
+mean in your init file name? So this name is, you can think of
+
+00:01:49.720 --> 00:01:55.879
+it as a prefix or a stub. It's an index number that I utilize
+
+00:01:55.880 --> 00:02:01.479
+before a short name that describes the project. So I have all
+
+00:02:01.480 --> 00:02:06.119
+my projects in my home directory, and I just start typing the
+
+00:02:06.120 --> 00:02:12.199
+project number or index number. in the terminal and I have
+
+00:02:12.200 --> 00:02:17.879
+autocompletion available through oh my ZSH package. So I
+
+00:02:17.880 --> 00:02:21.199
+just hit tab and it autocompletes the name of the project and
+
+00:02:21.200 --> 00:02:26.319
+pops me into that folder. And so I find this to be very easy for
+
+00:02:26.320 --> 00:02:30.919
+navigating between projects. As you saw, I work on multiple
+
+00:02:30.920 --> 00:02:37.399
+projects in a given day and this helps me move about. And I
+
+00:02:37.400 --> 00:02:45.639
+also use this number at the start of the log file name and at
+
+00:02:45.640 --> 00:02:50.639
+the start of the manuscript name and the start of the, I also
+
+00:02:50.640 --> 00:02:54.079
+have an annotated bibliography. So all those files are
+
+00:02:54.080 --> 00:02:59.359
+identified just in case I accidentally save one to the wrong
+
+00:02:59.360 --> 00:03:04.639
+folder. I can avoid, I can sort them out later. Great
+
+00:03:04.640 --> 00:03:09.519
+question. Thank you. Next question, which I think is going
+
+NOTE Q: What does Zettelkasten mean?
+
+00:03:09.520 --> 00:03:16.159
+to be a long one. What does Zettelkasten mean? So this means
+
+00:03:16.160 --> 00:03:20.719
+like, I guess, notebox, something along those lines. You
+
+00:03:20.720 --> 00:03:24.879
+can think of it as a- Yeah, spitbox usually, that's the word
+
+00:03:24.880 --> 00:03:29.159
+we use. Thank you. So this is a kind of like a card catalog
+
+00:03:29.160 --> 00:03:33.359
+system that when it was done on paper, and now it's being done
+
+00:03:33.360 --> 00:03:38.679
+electronically through various software packages. So in
+
+00:03:38.680 --> 00:03:43.199
+the Emacs world, org-roam is a one of several alternate
+
+00:03:43.200 --> 00:03:47.999
+packages that you can use. Prot has the note and there's a
+
+00:03:48.000 --> 00:03:59.079
+couple others. So, idea is that you create a note, usually a,
+
+00:03:59.080 --> 00:04:04.239
+ultimately what you want to do is create a nugget of
+
+00:04:04.240 --> 00:04:09.479
+knowledge from your reading that you've done. and you add it
+
+00:04:09.480 --> 00:04:15.879
+to this note system in such a way that you can recover it more
+
+00:04:15.880 --> 00:04:20.159
+easily than what had to be done in the old days with index
+
+00:04:20.160 --> 00:04:23.719
+cards.
+
+00:04:23.720 --> 00:04:28.199
+So you set up backlinks and then you can use the search
+
+00:04:28.200 --> 00:04:34.919
+features in Org Roam to filter and find the notes again in the
+
+00:04:34.920 --> 00:04:43.079
+future. Org Roam has a wonderful GUI interface where you can
+
+00:04:43.080 --> 00:04:47.079
+display it as a knowledge graph, essentially, all your
+
+00:04:47.080 --> 00:04:52.479
+nodes and the backlinks between them. I set mine up in a
+
+00:04:52.480 --> 00:04:56.639
+rather hierarchical fashion to, at least right now, it's
+
+00:04:56.640 --> 00:05:01.959
+pretty hierarchical at this point, but it may become more
+
+00:05:01.960 --> 00:05:07.679
+disorganized over time. But I find it I'm sort of a visual
+
+00:05:07.680 --> 00:05:12.519
+person. I like mind maps a lot. I find that this visual
+
+00:05:12.520 --> 00:05:16.919
+display of my Zettelkasten is similar, resembles to a
+
+00:05:16.920 --> 00:05:22.439
+certain degree, a mind map.
+
+00:05:22.440 --> 00:05:25.599
+Okay, well, that's a pretty good definition of what
+
+00:05:25.600 --> 00:05:28.839
+Zettelkasten is, and you also went on to specify what it
+
+00:05:28.840 --> 00:05:31.599
+means inside Emacs, so thank you. I think that clarifies it
+
+00:05:31.600 --> 00:05:34.199
+for the two people in the room who still do not know, after
+
+00:05:34.200 --> 00:05:36.759
+attending four Emacs conferences, what is the
+
+00:05:36.760 --> 00:05:41.759
+Zettelkasten method. Moving on to the next question,
+
+NOTE Q: How many papers are you writing at the same time?
+
+00:05:41.760 --> 00:05:44.399
+how many papers are you writing at the same time? Because I
+
+00:05:44.400 --> 00:05:47.759
+believe you mentioned that you had concurrent papers being
+
+00:05:47.760 --> 00:05:51.959
+written during your presentation. So I'm probably working
+
+00:05:51.960 --> 00:05:57.839
+on, in a given year, somewhere between 10 and 15. How many do I
+
+00:05:57.840 --> 00:06:03.199
+get published in a year? Probably anywhere from one to four
+
+00:06:03.200 --> 00:06:08.639
+or five. So these papers often, the work on them spans
+
+00:06:08.640 --> 00:06:13.559
+multiple years. will start working on a paper when I begin,
+
+00:06:13.560 --> 00:06:16.519
+before I begin the experiments, ideally, because I'm
+
+00:06:16.520 --> 00:06:23.439
+trying to do hypothesis-driven research. And so that helps
+
+00:06:23.440 --> 00:06:27.559
+define the scope of the project and limit the number of
+
+00:06:27.560 --> 00:06:32.959
+rabbit holes I go down. So, but through the nature of the
+
+00:06:32.960 --> 00:06:36.919
+work, there's a lot of waiting required in my case for
+
+00:06:36.920 --> 00:06:39.679
+crystals to grow and then the opportunity to collect
+
+00:06:39.680 --> 00:06:43.879
+diffraction data on the crystals. And then the structures
+
+00:06:43.880 --> 00:06:48.559
+have to be determined and refined and analyzed and then
+
+00:06:48.560 --> 00:06:52.799
+deposited, figures have to be made. So a lot of steps are
+
+00:06:52.800 --> 00:06:57.759
+involved that those take generally span, that work can span
+
+00:06:57.760 --> 00:07:02.559
+several years.
+
+00:07:02.560 --> 00:07:09.399
+In a given day, I try to work on two papers, ideally. I haven't
+
+00:07:09.400 --> 00:07:12.279
+been doing so well lately over the past month.
+
+00:07:12.280 --> 00:07:19.759
+In the past year, there was a couple of days where I worked on
+
+00:07:19.760 --> 00:07:24.239
+five papers. There was something like a half dozen where I
+
+00:07:24.240 --> 00:07:29.159
+worked on four, about 40 days where I worked on three, and I
+
+00:07:29.160 --> 00:07:33.479
+think there was something like about 100 days where I worked
+
+00:07:33.480 --> 00:07:40.999
+on two papers a day, about 140 days where I just worked on one.
+
+00:07:41.000 --> 00:07:45.719
+So my idea is, I've been sort of developing more recently is
+
+00:07:45.720 --> 00:07:49.159
+that I'll start doing like the generative writing on a paper
+
+00:07:49.160 --> 00:07:51.959
+at the beginning of the day on the paper project I'm most
+
+00:07:51.960 --> 00:07:55.439
+excited about. I tried to, I'm a night owl. I tried to do this
+
+00:07:55.440 --> 00:08:00.519
+work early in the morning when I'm half awake to try to
+
+00:08:00.520 --> 00:08:03.439
+overcome my internal editor that inhibits me from writing
+
+00:08:03.440 --> 00:08:09.879
+prose freely. And so the idea is just to get a lot of words out,
+
+00:08:09.880 --> 00:08:14.639
+worry about editing them later. And then after about three
+
+00:08:14.640 --> 00:08:17.999
+hours, I'll switch to the second project that I'm less
+
+00:08:18.000 --> 00:08:21.999
+excited about. And I can go for another 90 minutes to two
+
+00:08:22.000 --> 00:08:27.719
+hours on that project. So I build up a lot of momentum, and
+
+00:08:27.720 --> 00:08:31.959
+then I do the switch. And I find that switch to be relatively
+
+00:08:31.960 --> 00:08:37.359
+easy. So my process will be On project A, make some final
+
+00:08:37.360 --> 00:08:42.359
+notes about what was accomplished in the writing log. Then
+
+00:08:42.360 --> 00:08:47.999
+I'll switch over to the writing log for the project B, and
+
+00:08:48.000 --> 00:08:51.359
+I'll go to the diary section at the beginning. I'll make a
+
+00:08:51.360 --> 00:08:59.333
+little to-do list and maybe look at the prior entry in the
+
+00:08:59.334 --> 00:09:03.199
+diary if I need to reboot my memory. And then I'll move on to
+
+00:09:03.200 --> 00:09:07.919
+the manuscript and go for 90 minutes or two hours.
+
+00:09:07.920 --> 00:09:12.479
+Generally, you're only good for somewhere between four and
+
+00:09:12.480 --> 00:09:15.359
+a half, five and a half hours. If you try to write in a
+
+00:09:15.360 --> 00:09:17.839
+generative fashion much longer than that, your
+
+00:09:17.840 --> 00:09:21.279
+productivity goes down quite a bit. You're better off
+
+00:09:21.280 --> 00:09:24.039
+switching to a completely different activity and then
+
+00:09:24.040 --> 00:09:30.159
+using your experience doing that writing to essentially
+
+00:09:30.160 --> 00:09:33.199
+launch background jobs in your subconscious. And so you
+
+00:09:33.200 --> 00:09:37.479
+will get those ideas in the shower the next morning.
+
+00:09:37.480 --> 00:09:44.519
+I find it really funny because I also relate. I've also
+
+00:09:44.520 --> 00:09:48.919
+worked a lot on organization as linked to paper writing but
+
+00:09:48.920 --> 00:09:53.719
+also to on my work as a developer and it's funny how you refer
+
+00:09:53.720 --> 00:09:56.999
+to your ability to think about something in very similar
+
+00:09:57.000 --> 00:09:59.399
+terms to how a computer would think about something. You've
+
+00:09:59.833 --> 00:10:02.399
+mentioned in your presentation the cost of context
+
+00:10:02.400 --> 00:10:04.919
+switching between different things but it's also
+
+00:10:04.920 --> 00:10:08.119
+something that we use in computing when a processor needs to
+
+00:10:08.120 --> 00:10:11.719
+be thinking about something else, well, it has a cost. And
+
+00:10:11.720 --> 00:10:15.359
+it's really fun for me to hear you talk about, oh, I need to
+
+00:10:15.360 --> 00:10:19.159
+select two topics, but no longer than 90 minutes per topic,
+
+00:10:19.160 --> 00:10:21.319
+because it's really about maximizing your output for
+
+00:10:21.320 --> 00:10:25.239
+creativity. And overall, your entire chat, your entire
+
+00:10:25.240 --> 00:10:28.519
+presentation here is about really maximizing the
+
+00:10:28.520 --> 00:10:32.959
+engagement that you have between outputs and your
+
+00:10:32.960 --> 00:10:37.159
+cognition. And I really find this amazing how down to the T
+
+00:10:37.160 --> 00:10:40.279
+you've managed to do this. And it actually leads me to
+
+00:10:40.280 --> 00:10:42.679
+another question which is being asked of you, which is,
+
+NOTE Q: How you capture those ideas when when you are away from Emacs?
+
+00:10:42.680 --> 00:10:45.959
+how do you capture those ideas when you are away from Emacs? And
+
+00:10:45.960 --> 00:10:47.999
+perhaps not only those you have in the showers, but also
+
+00:10:48.000 --> 00:10:53.919
+elsewhere. So that's a great question. Over the past year, I
+
+00:10:53.920 --> 00:10:59.239
+actually, last January, upon recommendation of a senior
+
+00:10:59.240 --> 00:11:05.399
+colleague, I bought a digital voice recorder for $85 from
+
+00:11:05.400 --> 00:11:10.279
+Sony, and it's the best investment I've made in a very long
+
+00:11:10.280 --> 00:11:16.399
+time. other than my laptop computer, because I then record
+
+00:11:16.400 --> 00:11:21.439
+my thoughts. So I have a half hour commute. And to me, that's
+
+00:11:21.440 --> 00:11:25.359
+largely a waste of time. I wish I lived a lot closer to work.
+
+00:11:25.360 --> 00:11:33.679
+But I use that time to generate ideas. So maybe I'll start my
+
+00:11:33.680 --> 00:11:40.559
+day at home for 90 minutes, worked on paper A, and then I might
+
+00:11:40.560 --> 00:11:44.799
+try to prime my mind about project B, or I might still have
+
+00:11:44.800 --> 00:11:48.199
+ideas that are flowing about project A. And I'll record
+
+00:11:48.200 --> 00:11:50.982
+those in the digital voice recorder. And then when I get to
+
+00:11:50.983 --> 00:11:54.441
+the lab, I'll transfer the audio file to my computer, and
+
+00:11:54.442 --> 00:12:00.066
+I'll transcribe it using Whisper. So I've set up some
+
+00:12:00.067 --> 00:12:03.759
+Python scripts and bash functions to go through and I
+
+00:12:03.760 --> 00:12:10.999
+convert all the sentences into one sentence per line
+
+00:12:11.000 --> 00:12:16.359
+because that's the way I like to write and edit things. And so
+
+00:12:16.360 --> 00:12:19.679
+it does all this pre-processing for me. And I have this
+
+00:12:19.680 --> 00:12:23.279
+transcript that's in pretty good shape. I don't have to do
+
+00:12:23.280 --> 00:12:29.159
+very much editing. And I'll then copy that over and work on
+
+00:12:29.160 --> 00:12:33.079
+it, clean it up, and pluck out the ideas that I think might be
+
+00:12:33.080 --> 00:12:40.439
+useful. Unfortunately, I'm not very I'm not away from my
+
+00:12:40.440 --> 00:12:47.959
+computer that much. I'm in front of it, 12, 14 hours a day. So
+
+00:12:47.960 --> 00:12:53.039
+when I'm teaching, when I'm in seminar, other committee
+
+00:12:53.040 --> 00:12:58.359
+meetings, traveling, then I'll capture ideas on paper. I
+
+00:12:58.360 --> 00:13:01.649
+don't have a cell phone. I'm trying to be the last human on
+
+00:13:01.650 --> 00:13:07.316
+earth without a cell phone. I think I would be so distracted
+
+00:13:07.317 --> 00:13:12.442
+by a cell phone. I would be the worst person on the planet,
+
+00:13:12.443 --> 00:13:14.163
+I would be totally focused on my cell phone
+
+00:13:14.164 --> 00:13:16.399
+if I had one. So I'm like one
+
+00:13:16.400 --> 00:13:22.999
+of the few people left who can read a map. So I do run into some
+
+00:13:23.000 --> 00:13:26.199
+difficulties hailing taxis and that sort of thing when I'm
+
+00:13:26.200 --> 00:13:30.599
+traveling. So there are some downsides to not having a cell
+
+00:13:30.600 --> 00:13:35.719
+phone, but these days. Yeah, but I think there's a pretty
+
+00:13:35.720 --> 00:13:38.639
+significant upside because, you know, you talk about cell
+
+00:13:38.640 --> 00:13:40.999
+phones here, but before you were talking about the 90
+
+00:13:41.000 --> 00:13:44.799
+minutes of uninterrupted focus on a given topic. And I think
+
+00:13:44.800 --> 00:13:48.359
+plenty of people would be envious of this ability to focus
+
+00:13:48.360 --> 00:13:54.519
+for that long on a topic. And I guess if we are to thread the
+
+00:13:54.520 --> 00:13:57.239
+needle here, well, the lack of cell phone might be for
+
+00:13:57.240 --> 00:14:00.839
+something for this ability to focus. So take of this what you
+
+00:14:00.840 --> 00:14:06.799
+will. True, I am a sucker for the web browser. I can get
+
+00:14:06.800 --> 00:14:11.759
+distracted going down various rabbit holes thanks to
+
+00:14:11.760 --> 00:14:17.279
+Google searches and that sort of thing. Likewise, email is
+
+00:14:17.280 --> 00:14:22.399
+another tension grabber. So, there's those other battles I
+
+00:14:22.400 --> 00:14:27.599
+have to fight too. So, right, that is a huge battle that all of
+
+00:14:27.600 --> 00:14:31.839
+us face is developing focus and being able to maintain
+
+00:14:31.840 --> 00:14:37.159
+focus. Right. So, we have about three more minutes of
+
+00:14:37.160 --> 00:14:39.279
+questions. So, thank you so much already for answering many
+
+00:14:39.280 --> 00:14:43.319
+questions. How about we do a quick fire for the remaining
+
+00:14:43.320 --> 00:14:47.079
+questions and then maybe we will take a question from... from
+
+00:14:47.080 --> 00:14:50.272
+here or in the room. So how about we go for the next one?
+
+NOTE Q: What if an ideas does not belong to any current working manuscript?
+
+00:14:50.273 --> 00:14:51.573
+What if an ID does not belong
+
+00:14:51.574 --> 00:14:55.199
+to any current working manuscript? So I
+
+00:14:55.200 --> 00:14:57.799
+have a sandbox area in the log file.
+
+00:14:57.800 --> 00:15:04.319
+So if it's likely going to be related to something to a
+
+00:15:04.320 --> 00:15:09.119
+certain degree, if the idea is totally unrelated to
+
+00:15:09.120 --> 00:15:12.719
+anything I'm working on, then I will
+
+00:15:12.720 --> 00:15:21.359
+I maintain a 700 through 750 words. I maintain a kind of a
+
+00:15:21.360 --> 00:15:26.719
+external diary and I just capture those kind of ideas there.
+
+00:15:26.720 --> 00:15:31.199
+So, I have access to a web interface to this big text area with
+
+00:15:31.200 --> 00:15:37.079
+nothing in it. And I just dump ideas all day long in there. So,
+
+00:15:37.080 --> 00:15:42.799
+and I save that away. I have that in a big LaTeX document
+
+00:15:42.800 --> 00:15:49.999
+currently on Overleaf. but each day has its own page. And so
+
+00:15:50.000 --> 00:15:53.079
+that information is captured and I can recover it. And maybe
+
+00:15:53.080 --> 00:15:57.599
+it's gonna take me a week, a month, a year to take that idea and
+
+00:15:57.600 --> 00:16:00.279
+think about it. And then eventually I'll get to a point where
+
+00:16:00.280 --> 00:16:04.279
+I have a critical mass of momentum and data and so forth,
+
+00:16:04.280 --> 00:16:08.279
+where I could start a new writing project. But you're right,
+
+00:16:08.280 --> 00:16:11.399
+that is a problem, capturing those ideas and keeping track
+
+00:16:11.400 --> 00:16:16.719
+of them. The Xenocasting can also help with that. Right. OK,
+
+00:16:16.720 --> 00:16:19.159
+so we have time for one more question and I think I'm going to
+
+00:16:19.160 --> 00:16:22.679
+skip this one. You can take all the time you want after we're
+
+00:16:22.680 --> 00:16:25.679
+done with the live show for you to answer in BBB, obviously,
+
+00:16:25.680 --> 00:16:28.319
+and even after the conference. But I'd really like to finish
+
+00:16:28.320 --> 00:16:28.801
+on this one.
+
+NOTE Q: If there were one habit from your process (referencing your extensive flow chart) that you want active learners/professional researchers to adopt, which would it be and why?
+
+00:16:28.802 --> 00:16:31.879
+So, if there were one habit from your process,
+
+00:16:31.880 --> 00:16:35.079
+referencing your extensive flowchart, that you want
+
+00:16:35.080 --> 00:16:37.839
+active learners or professional researchers to adopt,
+
+00:16:37.840 --> 00:16:44.479
+which would it be and why? So,
+
+00:16:44.480 --> 00:16:49.999
+I think just keeping that daily diary, that's the essential
+
+00:16:50.000 --> 00:16:55.239
+part for overcoming the fear of forgetting and the fear of
+
+00:16:55.240 --> 00:16:58.319
+losing momentum. One reason why people don't work on two
+
+00:16:58.320 --> 00:17:02.399
+projects a day is that they fear losing momentum on the first
+
+00:17:02.400 --> 00:17:07.319
+project they're working on. But we often are stuck with
+
+00:17:07.320 --> 00:17:09.999
+working on multiple writing projects, and they're best
+
+00:17:10.000 --> 00:17:13.199
+done over longer periods of time rather than in a hasty
+
+00:17:13.200 --> 00:17:18.679
+fashion. I try to avoid binge writing, although I do my share
+
+00:17:18.680 --> 00:17:23.479
+of that, too. Okay, well, Blaine, thank you so much for all
+
+00:17:23.480 --> 00:17:29.199
+your questions. The stream is going to move to the next chat
+
+00:17:29.200 --> 00:17:31.999
+and talk. We're moving to the next talk of the day, but feel
+
+00:17:32.000 --> 00:17:35.159
+free to stay in a room. For everyone interested in asking
+
+00:17:35.160 --> 00:17:38.479
+more questions to Blaine, the BBB, sorry, BigBlueButton
+
+00:17:38.480 --> 00:17:41.250
+link is available on the website. You can join and ask
+
+00:17:41.240 --> 00:17:43.319
+questions directly to Blaine. And otherwise, we'll make
+
+00:17:43.320 --> 00:17:45.479
+sure that all the remaining questions on the pad get their
+
+00:17:45.480 --> 00:17:48.239
+answer eventually. Thank you so much, Blaine. You're
+
+00:17:48.240 --> 00:17:56.559
+welcome. Bye-bye. Bye.
+
+00:17:56.560 --> 00:18:00.079
+okay I think the stream is moving on. Just making sure. okay. Yes
+
+00:18:00.080 --> 00:18:02.079
+we are moving on to the next stream. So Blaine, I'm going to need to
+
+00:18:02.080 --> 00:18:04.919
+get ready for the next talk. Thank you so much for all your
+
+00:18:04.920 --> 00:18:08.079
+answers and feel free to answer your questions. I'm
+
+00:18:08.080 --> 00:18:11.759
+sorry that i didn't get to fill your question live. It's just
+
+00:18:11.760 --> 00:18:16.599
+there was a lot of questions actually. It was a comment. Okay.
+
+NOTE Off-stream Q&A
+
+00:18:16.600 --> 00:18:24.199
+Yeah, yeah. You mentioned about that you sit all the day in
+
+00:18:24.200 --> 00:18:27.999
+front of computer, right? And I have to say, it's not too
+
+00:18:28.000 --> 00:18:31.439
+different from a bathroom if you get distracted by web
+
+00:18:31.440 --> 00:18:34.919
+browser. I also have the same problem. And one interesting
+
+00:18:34.920 --> 00:18:38.679
+solution I found at some point is that I pry my mind about
+
+00:18:38.680 --> 00:18:44.039
+certain task, I leave my office and I go for a walk while
+
+00:18:44.040 --> 00:18:49.079
+thinking about this. And that really forces to focus
+
+00:18:49.080 --> 00:18:52.839
+because while you're working you have nothing else to do.
+
+00:18:52.840 --> 00:18:56.999
+You cannot go and like go like searching Google and stuff
+
+00:18:57.000 --> 00:19:03.359
+like that. It can really help in some cases.
+
+00:19:03.360 --> 00:19:09.559
+Yeah, I try to. Periodically, I'll try to restart doing the
+
+00:19:09.560 --> 00:19:12.879
+Pomodoro method, where you're supposed to get up every 25
+
+00:19:12.880 --> 00:19:17.959
+minutes and take a break. But that requires a lot of
+
+00:19:17.960 --> 00:19:23.799
+discipline. And it also has, I find I'm more exhausted by
+
+00:19:23.800 --> 00:19:26.879
+following that method at the end of the day. But I think the
+
+00:19:26.880 --> 00:19:30.919
+problem with, well, I think in part- No, no, I don't mean
+
+00:19:30.920 --> 00:19:36.079
+Pomodoro actually. I mean, more like showers. Because when
+
+00:19:36.080 --> 00:19:39.079
+you take a shower, you think about something, right? When
+
+00:19:39.080 --> 00:19:43.159
+you just go for a walk, you again think about it. So this is not
+
+00:19:43.160 --> 00:19:46.119
+a break to take rest. It's a break to think away from
+
+00:19:46.120 --> 00:19:49.039
+computer.
+
+00:19:49.040 --> 00:19:54.239
+And you prime yourself, your brain by... picking something
+
+00:19:54.240 --> 00:19:56.719
+to work on. So I have a project, I think, like certain
+
+00:19:56.720 --> 00:20:01.079
+questions I want to think about. I sometimes take my, like a
+
+00:20:01.080 --> 00:20:05.319
+piece of paper with me. And then when I walk, I like take
+
+00:20:05.320 --> 00:20:10.279
+notes. You can record voice in your case. And like half an
+
+00:20:10.280 --> 00:20:15.239
+hour and you can really generate ideas.
+
+00:20:15.240 --> 00:20:18.519
+I have been doing a similar thing. I will take a clipboard.
+
+00:20:18.520 --> 00:20:24.799
+Maybe I'll have, um, Some blank pages where I'll write, jot
+
+00:20:24.800 --> 00:20:29.799
+down ideas as I walk. I'll go for like a half hour, hour-long
+
+00:20:29.800 --> 00:20:33.879
+walk and also read a paper sometimes, and in the process of
+
+00:20:33.880 --> 00:20:39.159
+reading, I get ideas.
+
+00:20:39.160 --> 00:20:45.159
+The clipboard though is socially less acceptable. It
+
+00:20:45.160 --> 00:20:49.359
+reminds people of their gym teacher, I think, or their
+
+00:20:49.360 --> 00:20:53.799
+marine drill sergeant, and they give me all kinds of weird
+
+00:20:53.800 --> 00:20:59.279
+looks. Even though they're walking and reading their cell
+
+00:20:59.280 --> 00:21:03.759
+phone, looking down at their cell phone, they give me weird
+
+00:21:03.760 --> 00:21:08.599
+looks for looking down at a clipboard as I walk. So there's
+
+00:21:08.600 --> 00:21:16.719
+that weird aspect to it. It's kind of hilarious.
+
+00:21:16.720 --> 00:21:21.479
+Thank you very much for the comment. Yeah, hopefully it's
+
+00:21:21.480 --> 00:21:24.799
+helpful. Because I really struggled about this web browser
+
+00:21:24.800 --> 00:21:28.346
+in the past. Not so much these days. Very good.
+
+00:21:28.347 --> 00:21:57.279
+That's good to hear.
+
+00:21:57.280 --> 00:21:57.639
+I asked,
+
+00:21:57.640 --> 00:22:06.519
+when I write notes, I've noticed like with the
+
+00:22:06.520 --> 00:22:10.360
+Getting Things Done and the Zettelkasten, I like to separate them
+
+00:22:10.400 --> 00:22:14.759
+out. And beyond that, I also like to separate them out on
+
+00:22:14.760 --> 00:22:19.959
+daily things and the global things. So that, for instance,
+
+00:22:19.960 --> 00:22:24.719
+your Zettelkasten, a daily would be like a journal. If you
+
+00:22:24.720 --> 00:22:29.599
+separate it out, It gives a lot of tension of, oh, well, if
+
+00:22:29.600 --> 00:22:33.119
+it's just a stray thought, I'll write it into my journal if I
+
+00:22:33.120 --> 00:22:36.959
+don't know where it goes. If I can think of a permanent place
+
+00:22:36.960 --> 00:22:41.479
+for it to go, it goes into the Zettelkasten. Same thing with,
+
+00:22:41.480 --> 00:22:44.599
+and then with like the getting things done is like, I don't,
+
+00:22:44.600 --> 00:22:48.159
+you start with like a fresh sheet of paper every single day or
+
+00:22:48.160 --> 00:22:54.639
+note or whatever. You ever done, you have tricks like that
+
+00:22:54.640 --> 00:22:59.359
+that you've noticed? So I'm sort of doing something similar
+
+00:22:59.360 --> 00:23:04.279
+through this. Well, to be honest, I like at the start of the
+
+00:23:04.280 --> 00:23:07.399
+day, I actually will just do sort of a brain dump of what
+
+00:23:07.400 --> 00:23:11.879
+happened the day before, just to try to get writing again.
+
+00:23:11.880 --> 00:23:16.959
+And these days, because of carpal tunnel syndrome, I'll use
+
+00:23:16.960 --> 00:23:22.159
+a voice speech to text to generate that initial text. And I'm
+
+00:23:22.160 --> 00:23:28.479
+just trying to, build up momentum of generating words. And
+
+00:23:28.480 --> 00:23:35.559
+so I capture, but I'm also adding to that document
+
+00:23:35.560 --> 00:23:40.719
+throughout the day. And so that is available through the web
+
+00:23:40.720 --> 00:23:47.279
+browser. I have a tab open to 750 words all the time. There's
+
+00:23:47.280 --> 00:23:51.719
+an alternate to it that is called Write Honey, that somebody
+
+00:23:51.720 --> 00:23:55.919
+in Berlin started, because they benefited so greatly from
+
+00:23:55.920 --> 00:23:58.679
+this practice. They have made it available for free,
+
+00:23:58.680 --> 00:24:05.039
+apparently for life. And so there's no word limit, whereas I
+
+00:24:05.040 --> 00:24:10.599
+have a grandfathered version of 750 words, and I have a word
+
+00:24:10.600 --> 00:24:15.519
+limit of 5,000 words. I rarely hit it. It's nice to know that
+
+00:24:15.520 --> 00:24:20.599
+right honey doesn't have that limit. So, that's how I'm
+
+00:24:20.600 --> 00:24:26.199
+capturing things. And then, so some of that text winds up
+
+00:24:26.200 --> 00:24:32.279
+being moved into my log file or even sometimes into the
+
+00:24:32.280 --> 00:24:37.799
+manuscript.
+
+00:24:37.800 --> 00:24:42.079
+So maybe a little less organized than the getting things
+
+00:24:42.080 --> 00:24:47.559
+done approach with the dailies and then the refiling
+
+00:24:47.560 --> 00:24:54.319
+process. So I don't do any refiling. I want to file once. I
+
+00:24:54.320 --> 00:24:58.079
+don't want to file a second time or have to go back and handle
+
+00:24:58.080 --> 00:25:03.319
+something a second time. So that's my rationale for the
+
+00:25:03.320 --> 00:25:08.159
+approach I take. I'm not using it. I've had various
+
+00:25:08.160 --> 00:25:12.759
+iterations of systems I've used, but I think my favorite one
+
+00:25:12.760 --> 00:25:15.559
+for like getting things done is actually not using
+
+00:25:15.560 --> 00:25:18.799
+Org Agenda, just like making a blank sheet and kind of doing
+
+00:25:18.800 --> 00:25:24.039
+like a template where it's just like, and separating my
+
+00:25:24.040 --> 00:25:28.119
+tasks out into three categories, like core tasks, like, and
+
+00:25:28.120 --> 00:25:32.279
+rule of thumb is like, if it's beyond three, it's too much too
+
+00:25:32.280 --> 00:25:36.359
+many. And like core tasks, secondary tasks and unplanned
+
+00:25:36.360 --> 00:25:39.759
+tasks. So these, those three categories, like for
+
+00:25:39.760 --> 00:25:42.039
+instance, the core task, if it's greater than three, it's
+
+00:25:42.040 --> 00:25:46.999
+too many. That way is like, when you look back, then you can
+
+00:25:47.000 --> 00:25:51.439
+see, like, if I got my core tasks done, I did really good. or if
+
+00:25:51.440 --> 00:25:56.879
+I got a lot of secondary tasks but not my core tasks done, I got
+
+00:25:56.880 --> 00:25:58.873
+side reactions with things that don't matter.
+
+00:25:58.874 --> 00:26:00.674
+If I got a lot of unplanned tasks,
+
+00:26:00.640 --> 00:26:03.679
+I could look at those unplanned tasks to see, oh yeah, okay,
+
+00:26:03.680 --> 00:26:07.639
+that was fine. Okay, the day didn't go as
+
+00:26:07.640 --> 00:26:14.999
+planned, but it was, yeah. That's an excellent suggestion.
+
+00:26:15.000 --> 00:26:20.119
+I generally just And I ended up long of a to-do list. It's
+
+00:26:20.120 --> 00:26:25.079
+impossible to accomplish in a day. Then I just like
+
+00:26:25.080 --> 00:26:29.799
+furnaces. Another trick that I liked was I also put like that
+
+00:26:29.800 --> 00:26:34.719
+under like a week. Cause it makes more sense to do it under a
+
+00:26:34.720 --> 00:26:39.079
+week. And then I'd have like subheadings under that, like,
+
+00:26:39.080 --> 00:26:45.079
+you know, so week day. Um, then I'd have those three
+
+00:26:45.080 --> 00:26:48.599
+categories for each of the tasks and then kind of as an
+
+00:26:48.600 --> 00:26:51.719
+unofficial day at the end, I just like have a staging area for
+
+00:26:51.720 --> 00:26:56.199
+all tasks. So I just kind of, then I just, I want to be using org
+
+00:26:56.200 --> 00:27:00.319
+agenda. So then I just be moving up and down, you know, cause
+
+00:27:00.320 --> 00:27:03.199
+you could, cause you're able to rearrange stuff in org mode
+
+00:27:03.200 --> 00:27:08.079
+so easily. I don't know if there's a good way of, that's been
+
+00:27:08.080 --> 00:27:11.919
+my favorite iteration
+
+00:27:11.920 --> 00:27:20.759
+of doing it. So I wrote a little function that pops in the
+
+00:27:20.760 --> 00:27:25.439
+to-dos that are specific to a particular project in the log
+
+00:27:25.440 --> 00:27:31.359
+file for that project.
+
+00:27:31.360 --> 00:27:36.599
+And then I add the log file name to the list of org files that
+
+00:27:36.600 --> 00:27:41.919
+Org Agenda searches, so those to-dos will show up. But my
+
+00:27:41.920 --> 00:27:46.199
+list is too long, and that becomes overwhelming. So I'll
+
+00:27:46.200 --> 00:27:51.399
+just assign a to-do heading to the top item in my to-do list to
+
+00:27:51.400 --> 00:27:54.479
+try to, but maybe it should be three. That would be a
+
+00:27:54.480 --> 00:27:58.479
+reasonable compromise.
+
+00:27:58.480 --> 00:28:03.879
+That's a good idea.
+
+00:28:03.880 --> 00:28:12.879
+So you're doing weekly planning then? I can show up. I was.
+
+00:28:12.880 --> 00:28:16.879
+This is, yeah, this was, yeah. What ended up making me stop is
+
+00:28:16.880 --> 00:28:20.439
+I didn't know how to make a template of it. And I, I ended up
+
+00:28:20.440 --> 00:28:25.879
+getting annoyed by manually changing the days every single
+
+00:28:25.880 --> 00:28:29.759
+time and naming like my files and stuff like that. If I Maybe
+
+00:28:29.760 --> 00:28:34.159
+if I did it now, I could figure out how to program it or if I
+
+00:28:34.160 --> 00:28:36.439
+spent enough time, but that's what I think eventually made
+
+00:28:36.440 --> 00:28:42.479
+me stop doing it. So there's a, um, you can make a snippet for
+
+00:28:42.480 --> 00:28:45.640
+the week and then you could have code in the snippet that
+
+00:28:45.680 --> 00:28:51.519
+would generate the dates automatically. Um, So I have like
+
+00:28:51.520 --> 00:28:56.599
+for my daily entry, I have a snippet called entry and then I
+
+00:28:56.600 --> 00:29:02.079
+hit tab and our control or whatever to insert the snippet and
+
+00:29:02.080 --> 00:29:07.919
+that has the current date already entered. So I skip that, I
+
+00:29:07.920 --> 00:29:13.479
+don't have to deal with that. So I think you could probably
+
+00:29:13.480 --> 00:29:18.639
+feed what you want to accomplish to a copilot, for example,
+
+00:29:18.640 --> 00:29:21.801
+being copilot. I've been using Bing Copilot
+
+00:29:21.802 --> 00:29:25.833
+for the past three or four months to return
+
+00:29:25.834 --> 00:29:29.227
+Elisp code that works 90% of the time.
+
+00:29:29.228 --> 00:29:34.399
+I've been pretty impressed. And it's free. So no
+
+00:29:34.400 --> 00:29:43.119
+API key required. It runs. So I guess I installed the Bing
+
+00:29:43.120 --> 00:29:49.362
+Copilot plugin in the Google Chrome.
+
+00:29:49.363 --> 00:29:50.199
+And that's what I've been using.
+
+00:29:50.200 --> 00:30:00.807
+Yeah, I can show you my screen if
+
+00:30:00.808 --> 00:30:05.852
+you want to see what the screen looks like.
+
+00:30:05.853 --> 00:30:06.839
+I can email you the template. I kind of have it saved as a
+
+00:30:06.840 --> 00:30:12.639
+template. I've got to find it, though. Let's see.
+
+00:30:12.640 --> 00:30:17.439
+Not exactly set up to.
+
+00:30:17.440 --> 00:30:44.159
+Alright, so. I
+
+00:30:44.160 --> 00:30:50.159
+don't know if you can see this well enough, but...
+
+00:30:50.160 --> 00:30:59.599
+Yeah, let's make it bigger. Can you see that at all? I can see a
+
+00:30:59.600 --> 00:31:01.279
+little bit of it. Yeah, it's kind of blurry.
+
+00:31:01.280 --> 00:31:07.399
+Alright, well. But then you just do that right there. So it's
+
+00:31:07.400 --> 00:31:13.239
+all color coded. I, so I get a sense of, uh, uh, what the kind of
+
+00:31:13.240 --> 00:31:18.599
+greenish blue lines must be or days, I guess, or. Okay. Well,
+
+00:31:18.600 --> 00:31:22.639
+right. There's like, so you can see like startup show two
+
+00:31:22.640 --> 00:31:27.519
+levels. Then I have like numbers right there. So right on one
+
+00:31:27.520 --> 00:31:30.919
+day you have like the core tasks, there's three out of four
+
+00:31:30.920 --> 00:31:37.119
+done. Then I have like secondary and unplanned and then.
+
+00:31:37.120 --> 00:31:42.079
+Yeah, that's just the general idea
+
+00:31:42.080 --> 00:31:50.319
+So that this is you raise you know the so the dilemma I face of
+
+00:31:50.320 --> 00:31:55.119
+course is that I have maintain like a to-do list and our
+
+00:31:55.120 --> 00:31:58.799
+project specific and then there's the all the other things I
+
+00:31:58.800 --> 00:32:04.439
+have to do and So there should be like some The org agenda
+
+00:32:04.440 --> 00:32:09.879
+should be a way of being able to pull the two sets together, I
+
+00:32:09.880 --> 00:32:10.319
+guess.
+
+00:32:10.320 --> 00:32:16.959
+I had broken up my,
+
+00:32:16.960 --> 00:32:25.359
+well, I had way too many to-do lists stored in various
+
+00:32:25.360 --> 00:32:25.919
+places.
+
+00:32:25.920 --> 00:32:32.199
+And so that's a problem, I guess, when you have too many
+
+00:32:32.200 --> 00:32:37.359
+to-dos and the org Agenda becomes overwhelming and sort of
+
+00:32:37.360 --> 00:32:44.479
+discourages Yeah, I figure that the general task on that is
+
+00:32:44.480 --> 00:32:49.199
+like I start writing things up. I get more and more items.
+
+00:32:49.200 --> 00:32:52.319
+I'll make a master to-do list. Oh my master to-do list has too
+
+00:32:52.320 --> 00:32:58.759
+many items. Let me throw it out Well, there's another name
+
+00:32:58.760 --> 00:33:01.559
+for that kind of list you could you know called a grass
+
+NOTE Time Power
+
+00:33:01.560 --> 00:33:06.959
+catcher list. So Charles Hobbs was this, he wrote a book in
+
+00:33:06.960 --> 00:33:16.079
+the 80s called Time Power. And he had like, you know, so he was
+
+00:33:16.080 --> 00:33:22.679
+one of these time management gurus. And so, let's
+
+00:33:22.680 --> 00:33:26.519
+see, you get the name of some, like Tony Robbins and,
+
+00:33:26.520 --> 00:33:34.879
+I forget the name of the other guy, that's Brian Tracy. So
+
+00:33:34.880 --> 00:33:39.119
+that they have kind of pushed the same kind of similar
+
+00:33:39.120 --> 00:33:43.279
+approaches. But Charles Hobbs had a very more organized
+
+00:33:43.280 --> 00:33:46.679
+approach, I think, and more disciplined. And he identified
+
+00:33:46.680 --> 00:33:49.439
+that kind of list as a grass catcher list, where you have a
+
+00:33:49.440 --> 00:33:52.839
+list of items that you think you might want to do, but you
+
+00:33:52.840 --> 00:33:57.359
+haven't prioritized them yet. And you haven't scheduled
+
+00:33:57.360 --> 00:34:03.199
+them yet. but they need a safe place to be stored. When time
+
+00:34:03.200 --> 00:34:06.199
+permits, the idea was you would pull items off that grass
+
+00:34:06.200 --> 00:34:10.599
+catcher list and move it into a to-do item that you will
+
+00:34:10.600 --> 00:34:18.079
+schedule and commit to getting done. That was the idea,
+
+00:34:18.080 --> 00:34:20.999
+separating them between core tasks, secondary tasks,
+
+00:34:21.000 --> 00:34:24.119
+unplanned tasks, because your whole day can't be planned.
+
+00:34:24.120 --> 00:34:27.919
+Right, right. You have things you have to do that are
+
+00:34:27.920 --> 00:34:31.319
+unscheduled that come through your door or land in your
+
+00:34:31.320 --> 00:34:35.239
+inbox or land in your email. You've got to do them. And then
+
+00:34:35.240 --> 00:34:38.799
+core tasks, I don't know, like to-do lists, their whole
+
+00:34:38.800 --> 00:34:43.279
+point is. So for instance, like journal and Zettelkasten
+
+00:34:43.280 --> 00:34:46.679
+are kind of, and like that's global lists versus the daily
+
+00:34:46.680 --> 00:34:49.399
+lists are kind of. done a little differently. With
+
+00:34:49.400 --> 00:34:53.639
+Zettelkasten, it's organic. Things build up. If you make a
+
+00:34:53.640 --> 00:34:56.359
+note, it's great. If you don't, if it has a small amount,
+
+00:34:56.360 --> 00:35:00.479
+that's great. Have a small note. With a daily to-do, you want
+
+00:35:00.480 --> 00:35:05.199
+to use it to make decisions. That's the idea of having the
+
+00:35:05.200 --> 00:35:08.639
+core task and the secondary task separate because the whole
+
+00:35:08.640 --> 00:35:12.719
+thing about it is, I wanna use this to eliminate what I'm
+
+00:35:12.720 --> 00:35:15.759
+going to do. It's to choose what I'm going to do, like the core
+
+00:35:15.760 --> 00:35:19.839
+tasks. Because if I can get my core tasks, I can be happy with
+
+00:35:19.840 --> 00:35:26.519
+my previous days. And then I would probably start using
+
+00:35:26.520 --> 00:35:30.639
+agenda a lot more if I was more consistent with using like
+
+00:35:30.640 --> 00:35:34.439
+these as like weekly files. I don't know. But then the whole
+
+00:35:34.440 --> 00:35:37.559
+goal thing is just like, let me see what I wanna populate the
+
+00:35:37.560 --> 00:35:43.879
+day list with. So how many core tasks wind up spanning
+
+00:35:43.880 --> 00:35:47.359
+multiple days because they're such big projects?
+
+00:35:47.360 --> 00:35:54.519
+I would need more time using the system before I'd figure
+
+00:35:54.520 --> 00:35:59.679
+something like that out. As I said, I'm not using it right
+
+00:35:59.680 --> 00:36:04.759
+now, but that has been my favorite iteration of using these.
+
+00:36:04.760 --> 00:36:13.519
+So within the core tasks, do you assign priorities? So the
+
+00:36:13.520 --> 00:36:20.279
+way I would translate this a little bit would be like in this
+
+00:36:20.280 --> 00:36:24.999
+method that Charles Hobbs had, he had a category for the
+
+00:36:25.000 --> 00:36:29.399
+items that you really have to get done, and they're really
+
+00:36:29.400 --> 00:36:34.119
+important. And so they get a priority of A. And then the
+
+00:36:34.120 --> 00:36:39.519
+secondary tasks would get a priority of B. But then within
+
+00:36:39.520 --> 00:36:42.079
+the A category, you would number them like one through
+
+00:36:42.080 --> 00:36:45.039
+three, I guess. All right, so this would be part of the
+
+00:36:45.040 --> 00:36:49.079
+purpose of separating the daily list or like the weekly list
+
+00:36:49.080 --> 00:36:51.719
+from the global list. So for instance, your global list,
+
+00:36:51.720 --> 00:36:55.679
+you'd say, I want this project that will take a long duration
+
+00:36:55.680 --> 00:37:00.639
+of time. But your daily list would just say, I want to work on
+
+00:37:00.640 --> 00:37:05.039
+it today, even if I don't get it done today. Like, I want to
+
+00:37:05.040 --> 00:37:11.399
+work on it today. then maybe you can link like for instance
+
+00:37:11.400 --> 00:37:16.239
+that your daily list to that global list or something along
+
+00:37:16.240 --> 00:37:20.479
+those lines. But that would be I think a good answer to that
+
+00:37:20.480 --> 00:37:24.719
+type of problem because yeah, the daily list is like
+
+00:37:24.720 --> 00:37:30.999
+supposed to be for that day, not for, Like for instance, you
+
+00:37:31.000 --> 00:37:34.679
+start out clean, you make the list like that would probably
+
+00:37:34.680 --> 00:37:38.599
+be your first task for the week is what do I want for the week?
+
+00:37:38.600 --> 00:37:41.639
+Then you have some tasks that you do with staging. And then
+
+00:37:41.640 --> 00:37:43.799
+like for instance, since you look at it as a whole week at a
+
+00:37:43.800 --> 00:37:47.559
+time, you're able to rearrange it and say, these are the
+
+00:37:47.560 --> 00:37:51.159
+things I wanna get done this week. This is what I really wanna
+
+00:37:51.160 --> 00:37:53.639
+get done on this day. This is what I don't care about on this
+
+00:37:53.640 --> 00:37:53.959
+day or yeah.
+
+00:37:53.960 --> 00:38:03.079
+Another person that kind of, and this is kind of related,
+
+00:38:03.080 --> 00:38:05.559
+there's this idea of
+
+00:38:05.560 --> 00:38:14.039
+of time blocking. So obviously, three tasks, core tasks,
+
+00:38:14.040 --> 00:38:18.839
+maybe they're going to take three or four hours each or two or
+
+00:38:18.840 --> 00:38:23.919
+three. And you can assign blocks of time in your schedule to
+
+00:38:23.920 --> 00:38:30.039
+get them done. And often, what happens is they take longer
+
+00:38:30.040 --> 00:38:33.799
+than you expect. And you have to extend the blocks. Calvin
+
+00:38:33.800 --> 00:38:39.359
+Newport has a that's a kind of approach he advocates is you
+
+00:38:39.360 --> 00:38:43.519
+and I think the power to that is you're you. you're mapping
+
+00:38:43.520 --> 00:38:48.599
+out, you know, you're allocating the time to do these things
+
+00:38:48.600 --> 00:38:52.679
+and you're seeing how you actually, how much time things
+
+00:38:52.680 --> 00:38:56.119
+actually take. And then you, so you wind up adjusting in the
+
+00:38:56.120 --> 00:39:00.079
+future. And the idea is with this approach is do it on paper.
+
+00:39:00.080 --> 00:39:03.559
+And then you have to like, uh, if something takes longer,
+
+00:39:03.560 --> 00:39:06.599
+that pushes everything else down. You just wind up
+
+00:39:06.600 --> 00:39:12.799
+redrawing your schedule for the day, uh, manually. And, um,
+
+00:39:12.800 --> 00:39:17.399
+So it's kind of laborious, and that labor is supposed to
+
+00:39:17.400 --> 00:39:21.799
+inhibit you from spending too much time on a project. As you
+
+00:39:21.800 --> 00:39:24.959
+know, you've got the pain of redrawing everything if you
+
+00:39:24.960 --> 00:39:27.919
+spend too much time on the first project.
+
+00:39:27.920 --> 00:39:36.999
+Yeah, there was a, let's see. It's whatever you strategy you
+
+00:39:37.000 --> 00:39:40.359
+want to do. Like for instance, to me, it's like doing it this
+
+00:39:40.360 --> 00:39:45.519
+way makes me say, I want to focus on like what matters. Then
+
+00:39:45.520 --> 00:39:49.239
+it'll tell me if I feel good about that day, depends on what
+
+00:39:49.240 --> 00:39:52.759
+algorithm, what level and what type of strategy you're
+
+00:39:52.760 --> 00:39:56.119
+using. If you're using time blocking, you're optimizing
+
+00:39:56.120 --> 00:40:02.879
+for each level of time block where I'm, where's like, And you
+
+00:40:02.880 --> 00:40:09.359
+can combine the approaches. It'd be trickier. But like, now
+
+00:40:09.360 --> 00:40:12.919
+let's see. I was listening to a talk with Jordan Peterson.
+
+00:40:12.920 --> 00:40:15.159
+One of the things he said that really resonated with me is
+
+00:40:15.160 --> 00:40:19.119
+like, you wanna use a calendar, but the first rule of using a
+
+00:40:19.120 --> 00:40:24.599
+calendar is don't let the calendar tyrannize you. Because
+
+00:40:24.600 --> 00:40:27.999
+like the first thing you wanna do whenever you use a calendar
+
+00:40:28.000 --> 00:40:33.039
+is schedule every single minute of the day Now you don't have
+
+00:40:33.040 --> 00:40:37.279
+any room for if any task overruns at all. And after a couple of
+
+00:40:37.280 --> 00:40:42.719
+tests, you're like, I don't want to do this anymore. I rebel.
+
+00:40:42.720 --> 00:40:49.879
+I'm going to throw it out. So one kind of combination is
+
+00:40:49.880 --> 00:40:53.799
+through this Pomodoro method I mentioned earlier, where
+
+00:40:53.800 --> 00:40:57.719
+you would sort of like block out, say, two hours. You work for
+
+00:40:57.720 --> 00:41:02.199
+like 25 minutes, take a little, break for up to five minutes
+
+00:41:02.200 --> 00:41:07.279
+and get back to work. And then after two hours, you're to take
+
+00:41:07.280 --> 00:41:11.119
+like a 15 minute break in the morning. In the afternoon, you
+
+00:41:11.120 --> 00:41:14.599
+might even let that break run longer and you might only have
+
+00:41:14.600 --> 00:41:19.279
+three work sessions between breaks. So because you're
+
+00:41:19.280 --> 00:41:24.319
+going to be more run down in the afternoon. And so you build in
+
+00:41:24.320 --> 00:41:26.919
+some
+
+00:41:26.920 --> 00:41:31.639
+into your schedule, some flex like, okay, that's supposed
+
+00:41:31.640 --> 00:41:34.439
+to be a break time, but you know, maybe some urgency comes up
+
+00:41:34.440 --> 00:41:37.999
+and you got to deal with, um, and you have to break out of this,
+
+00:41:38.000 --> 00:41:44.039
+uh, Pomodoro technique. So, uh, that, that, that's one way
+
+00:41:44.040 --> 00:41:48.799
+of kind of scheduling in some, uh, flexibility is through
+
+00:41:48.800 --> 00:41:54.399
+the breaks at Peterson's[??], right. Right. That... I can't, I
+
+00:41:54.400 --> 00:41:59.239
+can't... I don't schedule to that kind of detail. That's just
+
+00:41:59.240 --> 00:42:00.039
+too oppressive.
+
+00:42:00.040 --> 00:42:05.399
+Well, neither do I, but it's like that, like I, that's, I
+
+00:42:05.400 --> 00:42:09.119
+don't try to, to me, the much more interesting question that
+
+00:42:09.120 --> 00:42:12.479
+I tried to do is like, let's try to make sure I do the important
+
+00:42:12.480 --> 00:42:15.199
+things. Cause if I do those, my life would probably move a lot
+
+00:42:15.200 --> 00:42:19.319
+quicker. If I get, if I choose a couple items that I really
+
+00:42:19.320 --> 00:42:22.239
+want and am able to consistently do them, I think my life
+
+00:42:22.240 --> 00:42:26.319
+would bastically start improving. Not necessarily if I can
+
+00:42:26.320 --> 00:42:28.879
+play the game of optimizing every hour.
+
+00:42:28.880 --> 00:42:36.879
+Maybe that could be, and it's a place to start rather, and I
+
+00:42:36.880 --> 00:42:39.079
+think it'd be the most effective place to start. And if I got
+
+00:42:39.080 --> 00:42:42.719
+better at using it all the time, perhaps I'd be playing
+
+00:42:42.720 --> 00:42:46.999
+optimizing every hour game. But this is the game I think
+
+00:42:47.000 --> 00:42:52.719
+would be best bang for buck for me to optimize now. What
+
+00:42:52.720 --> 00:42:56.039
+you're trying to optimize for is accomplishing these core
+
+00:42:56.040 --> 00:43:03.559
+tasks, getting them done as quickly as possible, or as
+
+00:43:03.560 --> 00:43:10.559
+effectively as possible, and as effectively as you need, or
+
+00:43:10.560 --> 00:43:15.359
+whatever your goal is. But yeah, focusing on that rather
+
+00:43:15.360 --> 00:43:19.679
+than the scheduling, I think. Plus, a core task could be, I
+
+00:43:19.680 --> 00:43:26.119
+don't know, catch up on all my house chores, or let, or do a
+
+00:43:26.120 --> 00:43:28.879
+specific one if it's really big or like, I don't know, it's
+
+00:43:28.880 --> 00:43:32.159
+whatever you want it to be. It's like, you can make them
+
+00:43:32.160 --> 00:43:37.559
+bigger or smaller depending on, on how you word them and
+
+00:43:37.560 --> 00:43:40.919
+everything. Cause like, if you say cap, capture all of your
+
+00:43:40.920 --> 00:43:44.879
+house chores up for like one week and you haven't done
+
+00:43:44.880 --> 00:43:47.279
+anything, that's probably a little too ambitious.
+
+00:43:47.280 --> 00:43:56.439
+That's right. Yeah, well, a lot of. Yeah.
+
+00:43:56.440 --> 00:44:03.039
+I spend, I don't know, at least 15 minutes, half an hour at the
+
+00:44:03.040 --> 00:44:07.119
+beginning of the day, sort of my my planning and sort of my
+
+00:44:07.120 --> 00:44:12.359
+initial writing session is involves a bit of planning and
+
+00:44:12.360 --> 00:44:20.399
+there's always. A lot more time. So generally, depending on
+
+00:44:20.400 --> 00:44:21.279
+the nature of your work,
+
+00:44:21.280 --> 00:44:28.119
+it can take up to 15% of your time. It can take quite a bit of
+
+00:44:28.120 --> 00:44:33.919
+time. And I think people don't really acknowledge that as
+
+00:44:33.920 --> 00:44:39.039
+part of your work is planning. And it can take a significant
+
+00:44:39.040 --> 00:44:39.839
+amount of time.
+
+00:44:39.840 --> 00:44:44.799
+Yeah, that's what I was meaning though is like the very first
+
+00:44:44.800 --> 00:44:48.119
+thing I think people generally always try to do with the
+
+00:44:48.120 --> 00:44:51.279
+scanners like look at how productive I can be let's schedule
+
+00:44:51.280 --> 00:44:55.319
+every single minute up and it's like You're not gonna want to
+
+00:44:55.320 --> 00:45:00.519
+do that for very long and it's not gonna work out And what you
+
+00:45:00.520 --> 00:45:06.359
+were saying about The pomodoro technique one of the core
+
+00:45:06.360 --> 00:45:11.919
+Let's see, one of the benefits could be described of another
+
+00:45:11.920 --> 00:45:16.879
+benefit I've seen of like multiple habits books is if you
+
+00:45:16.880 --> 00:45:19.599
+start multiple small habits where you try to do them
+
+00:45:19.600 --> 00:45:23.319
+consistently, you give yourself an opening to where if you
+
+00:45:23.320 --> 00:45:28.279
+get into the flow state, you can do a lot more of it. Like, I
+
+00:45:28.280 --> 00:45:31.759
+don't know, let's say you got a habit of, I don't know, just
+
+00:45:31.760 --> 00:45:36.519
+write a journal entry. You're a journal entry of like at
+
+00:45:36.520 --> 00:45:39.279
+least two lines. I don't know that could very easily turn to
+
+00:45:39.280 --> 00:45:42.759
+like three paragraphs and if you have like a whole bunch of
+
+00:45:42.760 --> 00:45:46.279
+Like the pomodoro technique it could be like stubs to allow
+
+00:45:46.280 --> 00:45:47.639
+you to do more stuff
+
+00:45:47.640 --> 00:45:54.319
+Where are they in spur to allow inspiration to allow you to
+
+00:45:54.320 --> 00:45:57.239
+generate inspiration and then capture it when it strikes if
+
+00:45:57.240 --> 00:45:58.759
+the mood fancies you
+
+00:45:58.760 --> 00:46:08.319
+Yeah, so that's kind of an issue with the Pomodoro
+
+00:46:08.320 --> 00:46:13.839
+technique. So, one idea is that you just, if you really have
+
+00:46:13.840 --> 00:46:19.359
+to break out, because the idea is too big to put on the back
+
+00:46:19.360 --> 00:46:24.359
+burner and hold in place, then you do have to break out of the
+
+00:46:24.360 --> 00:46:30.039
+Pomodoro and go, you know, jot down a quick note or three
+
+00:46:30.040 --> 00:46:30.719
+paragraphs.
+
+00:46:30.720 --> 00:46:36.839
+but like how much... You don't get to count that as a
+
+00:46:36.840 --> 00:46:40.679
+Pomodoro. You have to like reset your count because you've
+
+00:46:40.680 --> 00:46:48.759
+broken it. I mean, according to that method, it's
+
+00:46:48.760 --> 00:46:52.879
+kind of rigid. It's a different algorithm optimizing for
+
+00:46:52.880 --> 00:46:55.479
+different things. And this may just be like a by-product,
+
+00:46:55.480 --> 00:47:00.759
+but this could be very easily like a core advantage that may
+
+00:47:00.760 --> 00:47:05.599
+or may not be the core reason that you were using it but didn't
+
+00:47:05.600 --> 00:47:08.719
+realize it, and may not be something that it's optimizing
+
+00:47:08.720 --> 00:47:17.399
+for. So
+
+00:47:17.400 --> 00:47:22.159
+are you developing a Emacs package then with your template?
+
+00:47:22.160 --> 00:47:30.319
+No. As I said,
+
+00:47:30.320 --> 00:47:36.319
+My next steps where I think would make it work a lot better is
+
+00:47:36.320 --> 00:47:39.999
+if I figured out some way of automatically filling out the
+
+00:47:40.000 --> 00:47:45.439
+dates or maybe automatically adding the file per week into
+
+00:47:45.440 --> 00:47:51.999
+and out of Org Agenda. That would be my next steps. I think if I
+
+00:47:52.000 --> 00:47:55.719
+did that, it would have a much greater chance of becoming
+
+00:47:55.720 --> 00:48:01.879
+part of my workflow at all times. Yeah, I bet you could do it
+
+00:48:01.880 --> 00:48:08.439
+pretty Something I got to work with the help of copilot. I'm
+
+00:48:08.440 --> 00:48:14.959
+not a wizard yet at Emacs Lisp, but I find that copilot is
+
+00:48:14.960 --> 00:48:26.439
+quite helpful.
+
+00:48:26.440 --> 00:48:32.799
+Yeah, their AIs are definitely interesting.
+
+NOTE Do you use a lot of TeX inside Org Mode?
+
+00:48:32.800 --> 00:48:38.279
+So. do you ever use any, uh, a lot of TeX inside of org mode?
+
+00:48:38.280 --> 00:48:49.639
+No, mostly because I know that like I could try to learn it,
+
+00:48:49.640 --> 00:48:57.639
+but I just don't have a need for it. So yeah. And then also like
+
+00:48:57.640 --> 00:49:05.279
+I remember learning, when I learned HTML, I like writing
+
+00:49:05.280 --> 00:49:08.519
+HTML more than like, for instance, Word, because it was a lot
+
+00:49:08.520 --> 00:49:14.959
+more transparent, like a plain text document is, and kind of
+
+00:49:14.960 --> 00:49:20.159
+wrote the ordered list, unordered list, in such a way that it
+
+00:49:20.160 --> 00:49:25.599
+kind of looked similar to the page. But I find that I like Org
+
+00:49:25.600 --> 00:49:26.439
+Mode more than,
+
+00:49:26.440 --> 00:49:35.479
+HTML because, well, it's optimized for, like, my writing
+
+00:49:35.480 --> 00:49:38.479
+and consumption and overall use case rather than, like,
+
+00:49:38.480 --> 00:49:43.359
+optimizing it for somebody else to view, which I generally
+
+00:49:43.360 --> 00:49:45.039
+don't have as much.
+
+00:49:45.040 --> 00:49:52.799
+But, so, like, I don't know. Org Mode is what I'm going to end
+
+00:49:52.800 --> 00:49:57.879
+up using the most, so. I just want to use LaTeX enough.
+
+00:49:57.880 --> 00:50:00.999
+Although I'd be interested in learning LaTeX snippets
+
+00:50:01.000 --> 00:50:06.519
+inside of Org Mode for like the math stuff, but then again, I
+
+00:50:06.520 --> 00:50:13.479
+just never have to type it. So my attitude towards Org Mode
+
+00:50:13.480 --> 00:50:18.199
+changed radically over the summer. I was avoiding it
+
+00:50:18.200 --> 00:50:25.439
+somewhat before and then when I realized I can keep all the
+
+00:50:25.440 --> 00:50:33.279
+great aspects of LaTeX and still use all the great features
+
+00:50:33.280 --> 00:50:39.959
+of Org Mode. So I view now, I think of Org Mode as a wrapper
+
+00:50:39.960 --> 00:50:44.559
+around LaTeX. I know it's not really that, but by thinking
+
+00:50:44.560 --> 00:50:49.159
+about it that way, uh, it's much more palatable to me to, uh,
+
+00:50:49.160 --> 00:50:54.679
+uh, just go, uh, commit to doing as much as possible in org
+
+00:50:54.680 --> 00:50:58.559
+mode. So I've been, that's what I've been doing. Um, this
+
+00:50:58.560 --> 00:51:01.839
+fall is just, uh, every document I started as an org file.
+
+00:51:01.840 --> 00:51:09.959
+I imagine I would like it if I knew it, it's just because I,
+
+00:51:09.960 --> 00:51:13.319
+because I imagine it would feel to me like HTML, or it's just
+
+00:51:13.320 --> 00:51:18.519
+like, Yeah, I can write it, I can format it the way I want to.
+
+00:51:18.520 --> 00:51:24.439
+This is just guesses from my experience with HTML. I can read
+
+00:51:24.440 --> 00:51:27.679
+the source code of it and kind of get an idea of how it will look
+
+00:51:27.680 --> 00:51:30.919
+like, but I just...
+
+00:51:30.920 --> 00:51:36.799
+It's like if you're gonna use the Linux terminal, but you're
+
+00:51:36.800 --> 00:51:41.639
+gonna use it for an hour a week every... Yeah, an hour a week.
+
+00:51:41.640 --> 00:51:45.199
+It's just like, it's just not enough time to dedicate to
+
+00:51:45.200 --> 00:51:48.279
+learn it for to start paying off. That's right. And you can
+
+00:51:48.280 --> 00:51:52.559
+always export your org file to an HTML file.
+
+00:51:52.560 --> 00:51:56.079
+Yeah.
+
+00:51:56.080 --> 00:52:06.039
+But the org file is what I stare at 95% of the time or more. I
+
+00:52:06.040 --> 00:52:10.519
+only use a PDF. So I export to PDF generally. And when I export
+
+00:52:10.520 --> 00:52:16.239
+to HTML, it's very cool. I like looking at the document in the
+
+00:52:16.240 --> 00:52:20.879
+web browser. I like navigating it. But I generally will
+
+00:52:20.880 --> 00:52:24.879
+export it to PDF so I can print it out when I'm traveling to
+
+00:52:24.880 --> 00:52:30.439
+carry out editing. But that's just a small, tiny fraction of
+
+00:52:30.440 --> 00:52:34.039
+the time that I'm actually working with the document. So
+
+00:52:34.040 --> 00:52:38.119
+most of the time it's in org mode. You know, maybe it doesn't
+
+00:52:38.120 --> 00:52:44.199
+look as pretty as in, you know, uh, HTML, but it's, uh, it's so
+
+00:52:44.200 --> 00:52:48.679
+such a pleasure to work in because of the way you can reorder
+
+NOTE Org Mode versus Markdown
+
+00:52:48.680 --> 00:52:55.119
+lists, you know, create headlines. So what about org mode
+
+00:52:55.120 --> 00:52:57.719
+versus Markdown? Cause I know when, cause when I looked at
+
+00:52:57.720 --> 00:53:00.559
+org mode versus Markdown, I was like, yeah, more stuff
+
+00:53:00.560 --> 00:53:05.039
+supports Markdown, but. Org mode has more stuff built into
+
+00:53:05.040 --> 00:53:10.519
+it, like the calendar and agenda stuff. And it's obvious
+
+00:53:10.520 --> 00:53:14.559
+what this is supposed to be in org mode. And Emacs has got the
+
+00:53:14.560 --> 00:53:18.919
+best client. I use Emacs. And I think it's got a better syntax
+
+00:53:18.920 --> 00:53:23.319
+than Markdown. You've got stuff like Obsidian and Notes.
+
+00:53:23.320 --> 00:53:30.959
+And what about the Markdown? So Markdown, I use it a lot on
+
+00:53:30.960 --> 00:53:35.479
+GitHub repositories for the readme files. Sometimes I'll
+
+00:53:35.480 --> 00:53:38.959
+do them in org, but generally just go with the GitHub
+
+00:53:38.960 --> 00:53:44.159
+Markdown. But tables are still kind of a pain in Markdown,
+
+00:53:44.160 --> 00:53:48.719
+whereas tables are such a pleasure to build in org mode,
+
+00:53:48.720 --> 00:53:52.959
+because you have that dynamic adjusting of the column width
+
+00:53:52.960 --> 00:53:59.239
+as you make entries that become wider. And it's so easy to add
+
+00:53:59.240 --> 00:54:04.159
+columns. And it's so hard to add columns. It's much harder in
+
+00:54:04.160 --> 00:54:12.479
+Markdown and in LaTeX. It's more of a pain to add new columns.
+
+00:54:12.480 --> 00:54:16.919
+So the table aspect, that, to me, was one of the killer
+
+00:54:16.920 --> 00:54:20.439
+features. And then the other killer feature, of course, is
+
+00:54:20.440 --> 00:54:24.159
+the literate programming or interactive programming. So
+
+00:54:24.160 --> 00:54:26.559
+interactive computing that you can do where you have a code
+
+00:54:26.560 --> 00:54:30.639
+block and then you can execute it and have the output show up
+
+00:54:30.640 --> 00:54:35.159
+right below the code block. And
+
+00:54:35.160 --> 00:54:40.839
+org modes support for that kind of interactive computing is
+
+00:54:40.840 --> 00:54:46.039
+I'm not aware of anything more sophisticated, because you
+
+00:54:46.040 --> 00:54:50.799
+could have parallel sessions. You could have four Python
+
+00:54:50.800 --> 00:54:55.039
+sessions going, each of them labeled differently. And
+
+00:54:55.040 --> 00:54:57.519
+they're all walled off from each other. They don't see each
+
+00:54:57.520 --> 00:55:07.079
+other. Or you can have different programming languages. So
+
+00:55:07.080 --> 00:55:11.039
+you can do polyglottic
+
+00:55:11.040 --> 00:55:14.359
+programming where you have... Maybe Python's generating a
+
+00:55:14.360 --> 00:55:18.239
+table, and then that table gets, you decide you want to plot
+
+00:55:18.240 --> 00:55:24.199
+it using R, or you want to use ggplot2 and R to plot it, so that
+
+00:55:24.200 --> 00:55:29.719
+table gets fed into R in the next code block down, and then
+
+00:55:29.720 --> 00:55:33.559
+below it, you get a graph made in R, or you can make it in new
+
+00:55:33.560 --> 00:55:39.559
+plot, or you could, or some other, or you could move it into a
+
+00:55:39.560 --> 00:55:47.399
+LaTeX code block, plot the data in with Tikz,
+
+00:55:47.400 --> 00:55:52.719
+or you could move it into Clojure and use one of the
+
+00:55:52.720 --> 00:55:56.399
+Clojure plotting programs. Just kind of limitless what you
+
+00:55:56.400 --> 00:56:00.119
+can do in terms of recombining the best of different
+
+00:56:00.120 --> 00:56:01.599
+programming languages.
+
+00:56:01.600 --> 00:56:09.239
+Yeah, let's see. The literate DevOps are really good talks
+
+00:56:09.240 --> 00:56:13.359
+and subjects to get into this type of stuff. And they give a
+
+00:56:13.360 --> 00:56:17.119
+very good example of some tips on how to do this. You start
+
+00:56:17.120 --> 00:56:20.359
+writing in the previous or past tenses, though. You got the
+
+00:56:20.360 --> 00:56:23.719
+answer already, and then your notes are already formatted
+
+00:56:23.720 --> 00:56:28.559
+out as you're doing it for after the fact. And like, one thing
+
+NOTE Raku
+
+00:56:28.560 --> 00:56:32.679
+I like doing a lot is using the Raku language as a calculator,
+
+00:56:32.680 --> 00:56:37.239
+because I can just type in math as normal and it all works.
+
+00:56:37.240 --> 00:56:44.919
+I've tried that. Yeah, you can just say like, I don't know, 25
+
+00:56:44.920 --> 00:56:49.559
+times four with, and you can put like parentheses in it. I'm
+
+00:56:49.560 --> 00:56:55.039
+not exactly, I haven't used it very heavily. Oh, it also
+
+00:56:55.040 --> 00:57:01.839
+supports Unicode. So if you wanted to have
+
+00:57:01.840 --> 00:57:07.319
+the not equals sign, the Unicode not equals sign, it will
+
+00:57:07.320 --> 00:57:12.919
+actually do that. Cool. Or like the division sign. I don't
+
+00:57:12.920 --> 00:57:22.759
+know how it will do it. Yeah. But yeah. And then using that in,
+
+00:57:22.760 --> 00:57:28.239
+I also wrote a shell script where it would just help me do a
+
+00:57:28.240 --> 00:57:31.879
+calculation. I was trying to do a business calculation
+
+00:57:31.880 --> 00:57:35.359
+where I was, and I'd have variable names and I ended up
+
+00:57:35.360 --> 00:57:39.319
+writing the, in the parentheses I'd have enters, returns,
+
+00:57:39.320 --> 00:57:42.319
+and then just a variable name with like a dollar sign, kind of
+
+00:57:42.320 --> 00:57:45.799
+like how you'd have in the shell. And I outputted every
+
+00:57:45.800 --> 00:57:47.479
+single line that I had in the enter.
+
+00:57:47.480 --> 00:57:54.479
+six or 10 variables in this paragraph, the paragraph
+
+00:57:54.480 --> 00:57:57.759
+spanned, I don't know, like four lines or something like
+
+00:57:57.760 --> 00:58:01.039
+that. Maybe, yeah, something, I think it was along those
+
+00:58:01.040 --> 00:58:04.599
+lines. And I was just thinking of like what this would be in
+
+00:58:04.600 --> 00:58:07.879
+something else, just like, it was a lot nicer. Yeah, I had
+
+00:58:07.880 --> 00:58:10.879
+like equations for the variable, like in like one line, but
+
+00:58:10.880 --> 00:58:13.839
+when I wrote that, what my output should be is like, like I
+
+00:58:13.840 --> 00:58:16.359
+wasn't putting all of these like, you know, string join,
+
+00:58:16.360 --> 00:58:21.159
+string join, string join, It looked relatively close to
+
+00:58:21.160 --> 00:58:25.239
+what my terminal output would be, and then a later iteration
+
+00:58:25.240 --> 00:58:29.039
+I found on this was, let's write what I'm going to put into the
+
+00:58:29.040 --> 00:58:36.119
+command line, made a couple changeable variables in it, and
+
+00:58:36.120 --> 00:58:40.039
+then I can see my results, and that ended up being very nice.
+
+00:58:40.040 --> 00:58:44.199
+Ended up being nicer than the shells. Yeah, ended up
+
+00:58:44.200 --> 00:58:45.959
+enhancing that shell script that I wrote.
+
+00:58:45.960 --> 00:58:50.919
+That's a Raku calculator.
+
+00:58:50.920 --> 00:58:57.759
+Uh, it's the Raku programming language, which I was just
+
+00:58:57.760 --> 00:59:02.479
+using it, which I was just using as, which I'll just use as
+
+00:59:02.480 --> 00:59:06.079
+just straight up that calculator. Cause I'll do like,
+
+00:59:06.080 --> 00:59:11.999
+because it supports math well enough that I, like I, yeah,
+
+00:59:12.000 --> 00:59:17.239
+you can put like 25 divided by four and it doesn't start
+
+00:59:17.240 --> 00:59:24.439
+doing, what's the word, modular fractal, the double math,
+
+00:59:24.440 --> 00:59:28.079
+like it,
+
+00:59:28.080 --> 00:59:28.639
+if it's,
+
+00:59:28.640 --> 00:59:34.439
+the double math where it's like negative .2 versus like
+
+00:59:34.440 --> 00:59:40.399
+minus one, or sometimes it'll do optimized computer math
+
+00:59:40.400 --> 00:59:43.999
+where it doesn't give you the right answer, why people will
+
+00:59:44.000 --> 00:59:44.639
+like Mathematica.
+
+00:59:44.640 --> 00:59:56.439
+So, how do you, do you access it through, in org mode then?
+
+00:59:56.440 --> 01:00:05.199
+I'll do it in that. Sometimes I just fire up a Raku shell, but
+
+01:00:05.200 --> 01:00:09.159
+one of the biggest things I'll fire up a Raku shell for is like
+
+01:00:09.160 --> 01:00:17.399
+just, um, what's oh just recently I was just like doing it for
+
+01:00:17.400 --> 01:00:20.399
+some math and like how many people how much money will I have
+
+01:00:20.400 --> 01:00:24.559
+to spend on Christmas oh I've got I'm gonna buy this gift it's
+
+01:00:24.560 --> 01:00:33.799
+gonna cost this much and then I've got so let's I think 15
+
+01:00:33.800 --> 01:00:37.959
+times four because it's no 60 divided by four because it was a
+
+01:00:37.960 --> 01:00:42.919
+four pack And then times, and then I put it in parentheses,
+
+01:00:42.920 --> 01:00:47.519
+oh, four plus like two plus two, because like of the
+
+01:00:47.520 --> 01:00:49.119
+families, each of the units, and I just started doing it that
+
+01:00:49.120 --> 01:00:53.479
+way. And I put them all in a parentheses. And then at the end of
+
+01:00:53.480 --> 01:00:55.959
+this spit out the numbers, like, so I could just use the
+
+01:00:55.960 --> 01:00:58.279
+parentheses without thinking about, you know, like, oh,
+
+01:00:58.280 --> 01:01:02.679
+I'm actually in a programming language. No, I just kind of
+
+01:01:02.680 --> 01:01:07.279
+wrote it like I was in algebra, algebra, not in,
+
+01:01:07.280 --> 01:01:11.359
+not finding some special program, not finding a
+
+01:01:11.360 --> 01:01:14.999
+calculator, because it's easy for me to file up a terminal.
+
+01:01:15.000 --> 01:01:20.439
+Then I open that up, and it all just works. Plus, I also got a
+
+01:01:20.440 --> 01:01:22.639
+full programming language behind it if I ever need it.
+
+01:01:22.640 --> 01:01:33.679
+I wasn't aware that it utilizes standard math notation
+
+01:01:33.680 --> 01:01:37.279
+rather than the Polish math notation that we use in ELISP.
+
+01:01:37.280 --> 01:01:42.839
+Um, that's interesting because it's, it's in the list
+
+01:01:42.840 --> 01:01:45.279
+family of programming languages.
+
+01:01:45.280 --> 01:01:54.399
+Yeah. It's like, Hey, I can use, I can actually use my math
+
+01:01:54.400 --> 01:01:57.879
+knowledge. I can use the order of operations.
+
+01:01:57.880 --> 01:02:00.879
+Yep.
+
+01:02:00.880 --> 01:02:07.999
+I just wish that when I was in high school, they started
+
+01:02:08.000 --> 01:02:10.239
+telling me how to practically use this rather than me
+
+01:02:10.240 --> 01:02:14.119
+discover it years later when I'm out of it. Yeah.
+
+01:02:14.120 --> 01:02:27.399
+Well, I probably better move along to attend the other
+
+01:02:27.400 --> 01:02:32.839
+talks. All right. So it's been great talking to you, Plasma
+
+01:02:32.840 --> 01:02:35.159
+Strike. Yep, you too.
diff --git a/2024/captions/emacsconf-2024-rust--an-experimental-emacs-core-in-rust--troy-hinckley--answers.vtt b/2024/captions/emacsconf-2024-rust--an-experimental-emacs-core-in-rust--troy-hinckley--answers.vtt
new file mode 100644
index 00000000..1b881325
--- /dev/null
+++ b/2024/captions/emacsconf-2024-rust--an-experimental-emacs-core-in-rust--troy-hinckley--answers.vtt
@@ -0,0 +1,926 @@
+WEBVTT
+
+00:00:00.000 --> 00:00:06.519
+Okay, so I'm going to look at some of the questions showing up
+
+00:00:06.520 --> 00:00:08.499
+in the etherpad we got here.
+
+NOTE Q: Have you considered using CRDTs to share buffers between threads and merge any concurrent edits automatically?
+
+00:00:08.500 --> 00:00:09.439
+It says, have you considered
+
+00:00:09.440 --> 00:00:12.799
+using a CRDT to share buffers between threads and merge any
+
+00:00:12.800 --> 00:00:16.039
+concurrent edits automatically? So I have looked at that.
+
+00:00:16.040 --> 00:00:20.559
+And the problem with CRDTs is that even though they give you a
+
+00:00:20.560 --> 00:00:22.839
+mathematically correct answer when you're trying to merge
+
+00:00:22.840 --> 00:00:26.479
+two conflicts, it's not always a useful answer. Like, it's
+
+00:00:26.480 --> 00:00:29.199
+not coherent. If you have two things trying to edit the same
+
+00:00:29.200 --> 00:00:31.359
+thing, there's no good way to resolve that. And so they
+
+00:00:31.360 --> 00:00:33.559
+really work well when you have two people working live, both
+
+00:00:33.560 --> 00:00:35.639
+editing the same document, because they can fix any
+
+00:00:35.640 --> 00:00:37.199
+particular issues like that, like you would with Google
+
+00:00:37.200 --> 00:00:39.919
+Docs. But you have different packages that aren't aware of
+
+00:00:39.920 --> 00:00:42.159
+each other, and you're going to run into problems. And so
+
+00:00:42.160 --> 00:00:44.999
+this is something, if you read from the Xi editor, which was
+
+00:00:45.000 --> 00:00:48.039
+one of the first ones to use CRDTs, in the retrospective, he
+
+00:00:48.040 --> 00:00:52.359
+talks about how they had this problem, where the CRDTs They
+
+00:00:52.360 --> 00:00:53.999
+give you an answer, but it's not always an answer that's
+
+00:00:54.000 --> 00:00:59.079
+useful. And so I feel like locks at least are going to make it.
+
+00:00:59.080 --> 00:01:00.439
+It's not going to be as efficient if you have a whole bunch of
+
+00:01:00.440 --> 00:01:02.319
+packages, but I don't imagine there's going to be a ton of
+
+00:01:02.320 --> 00:01:04.799
+those. It can actually, I think it'll be more useful in
+
+00:01:04.800 --> 00:01:05.873
+practice.
+
+NOTE Q: Why hosted on GitHub? GitHub is nonfree. Is it possible to report bugs/send patches without using GitHub?
+
+00:01:05.874 --> 00:01:11.239
+I host on GitHub because that's what I know.
+
+00:01:11.240 --> 00:01:13.239
+If there's a way to host it on somewhere else, I'd be
+
+00:01:13.240 --> 00:01:15.439
+interested in doing that. If you're interested in setting
+
+00:01:15.440 --> 00:01:17.799
+patches without using GitHub, you could always send an
+
+00:01:17.800 --> 00:01:22.959
+email. I'm more than happy to accept email patches.
+
+NOTE Q: Do you think it's possible to achieve 100% compatibility with current Emacs code?
+
+00:01:22.960 --> 00:01:24.959
+Do you think it's possible to achieve with the current Emacs
+
+00:01:24.960 --> 00:01:29.719
+code? I do. I think, I think you can do that. Um, like I said,
+
+00:01:29.720 --> 00:01:33.279
+there's a couple things inside there that are intentional
+
+00:01:33.280 --> 00:01:37.919
+breaks with existing Emacs code. And some of those being
+
+00:01:37.920 --> 00:01:43.159
+like functions are immutable. As well as having data shared
+
+00:01:43.160 --> 00:01:44.759
+switch between different threads, which means there's
+
+00:01:44.760 --> 00:01:46.599
+going to be some copying going on. So there's going to be
+
+00:01:46.600 --> 00:01:48.399
+subtle things that are going to be different. And we've
+
+00:01:48.400 --> 00:01:50.359
+really got to think about those intentionally, but I'm
+
+00:01:50.360 --> 00:01:54.519
+really going for bug compatibility with GNU Emacs so that
+
+00:01:54.520 --> 00:01:57.159
+you can take an existing Elisp package and just run it and it
+
+00:01:57.160 --> 00:01:59.879
+just works, 'cause I think that's one of the big strengths of
+
+00:01:59.880 --> 00:02:03.399
+the Emacs ecosystem is the millions of lines of Elisp that
+
+00:02:03.400 --> 00:02:07.479
+people have written.
+
+00:02:07.480 --> 00:02:11.912
+Um, So I'm not, okay...
+
+NOTE Q: so you're re-implementing elisp in rust? have you considered using a more modern lisp, such as scheme? [11:03]
+
+00:02:11.913 --> 00:02:14.279
+So since you're re-implementing Elisp and
+
+00:02:14.280 --> 00:02:17.039
+Rust, have you considered using more modern Lisp such as
+
+00:02:17.040 --> 00:02:20.919
+Scheme? So I'm not re-implementing Elisp and Rust. I'm
+
+00:02:20.920 --> 00:02:25.439
+re-implementing the C in Rust. In fact, I would like to make
+
+00:02:25.440 --> 00:02:30.479
+more of the core that's written in C in Elisp instead of C or
+
+00:02:30.480 --> 00:02:33.839
+Rust, because then it's actually introspectible. There's
+
+00:02:33.840 --> 00:02:38.719
+a talk by Tom Tromney that he gave a while ago about Emacs
+
+00:02:38.720 --> 00:02:42.239
+should be Emacs Lisp. I kind of like that philosophy,
+
+00:02:42.240 --> 00:02:44.799
+that as much of it as should be Elisp as possible, and we
+
+00:02:44.800 --> 00:02:48.079
+should only have C or Rust or some systems level language for
+
+00:02:48.080 --> 00:02:52.319
+really low-level stuff. Using a more modern LISP such as
+
+00:02:52.320 --> 00:02:54.839
+Scheme. I know there's, I mean, there's two talks, I think,
+
+00:02:54.840 --> 00:02:58.239
+in this conference about using Scheme inside Emacs. And I
+
+00:02:58.240 --> 00:03:00.719
+looked at this at one point about what if you wrote it inside
+
+00:03:00.720 --> 00:03:03.919
+Common LISP, because that's also has some really low level
+
+00:03:03.920 --> 00:03:05.879
+details. And then you could go from Elisp down to Common
+
+00:03:05.880 --> 00:03:09.199
+Lisp. But the problem is, is under the hood, you still need a
+
+00:03:09.200 --> 00:03:12.559
+systems language. You can't, you still need either C or Rust
+
+00:03:12.560 --> 00:03:15.639
+or something underneath the Common Lisp to implement the
+
+00:03:15.640 --> 00:03:17.799
+primitives. And so it's not going to give you just two
+
+00:03:17.800 --> 00:03:19.719
+languages, you know, you'll have three. You'll have the
+
+00:03:19.720 --> 00:03:24.919
+elisp, common lisp, and C under the hood. And so in this case
+
+00:03:24.920 --> 00:03:29.559
+we just have the two. We have the Elisp and the rest.
+
+00:03:29.560 --> 00:03:42.999
+All right that's all the questions I see there. Let
+
+00:03:43.000 --> 00:03:54.079
+me go look at... Okay,
+
+00:03:54.080 --> 00:04:01.399
+so I see into the chat.
+
+NOTE Q: Do you have specific features from the Rust compiler that are missing (or are nightly-only) that you would take advantage of?
+
+00:04:01.400 --> 00:04:03.839
+Does it features from the Rust compiler that are missing
+
+00:04:03.840 --> 00:04:06.239
+that way you would take advantage of? Oh, that is a great
+
+00:04:06.240 --> 00:04:10.679
+question. Um, there's a handful of them. Uh, I should've
+
+00:04:10.680 --> 00:04:13.599
+written down a list of these. One of them is Polonius, which
+
+00:04:13.600 --> 00:04:17.959
+is the new borrow checker because we're trying to be used
+
+00:04:17.960 --> 00:04:21.759
+lifetime to track our objects. We often run into situations
+
+00:04:21.760 --> 00:04:24.239
+where we've kind of got a hack around things because the
+
+00:04:24.240 --> 00:04:26.199
+limitations with the borrow checker. And so I have a whole
+
+00:04:26.200 --> 00:04:29.559
+bunch of like notes inside there about where. A better
+
+00:04:29.560 --> 00:04:34.959
+Polonius would help inside there and help ease some of the
+
+00:04:34.960 --> 00:04:40.599
+issues. Another thing is enum variances types, because
+
+00:04:40.600 --> 00:04:42.999
+right now we have an object which is defined as a big enum that
+
+00:04:43.000 --> 00:04:46.079
+had all the possible objects, but if we want to have a subset
+
+00:04:46.080 --> 00:04:47.479
+of those objects or just pass in one of those objects, we've
+
+00:04:47.480 --> 00:04:50.079
+got to define a new struct. And so we have a whole bunch of
+
+00:04:50.080 --> 00:04:52.839
+boilerplate code to define that all out. And if we had
+
+00:04:52.840 --> 00:04:56.719
+variances types, that would make the code a lot easier.
+
+00:04:56.720 --> 00:05:00.079
+Another one is the allocator API. Right now we're kind of
+
+00:05:00.080 --> 00:05:02.479
+working around it, but ultimately we're going to need our
+
+00:05:02.480 --> 00:05:07.719
+own allocator. And the allocator API is still nightly only.
+
+00:05:07.720 --> 00:05:10.919
+So there's a couple more. I'll look at that more, but that's a
+
+00:05:10.920 --> 00:05:24.279
+great question.
+
+00:05:24.280 --> 00:05:26.879
+Let's see.
+
+NOTE Q: Can remacs be reused?
+
+00:05:26.880 --> 00:05:30.799
+Okay. I see a question you might not have noticed just asking
+
+00:05:30.800 --> 00:05:37.159
+about reuse of Remacs. Oh, yes, so I have reused some of Remacs
+
+00:05:37.160 --> 00:05:40.159
+code, and some taken, like I mentioned, taken some of their
+
+00:05:40.160 --> 00:05:45.319
+ideas, but ultimately we're using a different model
+
+00:05:45.320 --> 00:05:49.439
+because under the hood in Remacs, everything is just defined
+
+00:05:49.440 --> 00:05:53.799
+as an opaque external type that's defined inside Emacs and
+
+00:05:53.800 --> 00:05:56.159
+so it just pulls those in interacts with those and passes
+
+00:05:56.160 --> 00:05:58.879
+them back into C. We're trying to see what we can do if we
+
+00:05:58.880 --> 00:06:02.279
+say okay we're not going to take the same... So they're bound to
+
+00:06:02.280 --> 00:06:06.839
+the implementation details of Emacs, and we don't want to do
+
+00:06:06.840 --> 00:06:09.559
+that. We've re-implemented all the core types
+
+00:06:09.560 --> 00:06:12.559
+ourselves. So that means that we can't just take the
+
+00:06:12.560 --> 00:06:16.559
+Remacs code one for one and use it in our project, but we can
+
+00:06:16.560 --> 00:06:18.799
+take a lot of their ideas. I've spent some time reading
+
+00:06:18.800 --> 00:06:20.439
+through their documentation, different things about how
+
+00:06:20.440 --> 00:06:23.856
+they approached strings and GC
+
+00:06:23.857 --> 00:06:24.759
+and different stuff like that.
+
+00:06:24.760 --> 00:07:23.599
+Looks like all the questions.
+
+NOTE Q: What are you thoughts on the GUI layer. Any plans on how to reimplement it?
+
+00:07:23.600 --> 00:07:26.199
+Okay, so another question. What are your thoughts on the GUI
+
+00:07:26.200 --> 00:07:30.959
+layer? Any plans on how to reimplement it? This is something
+
+00:07:30.960 --> 00:07:34.079
+I've thought a lot about, but I still don't have a solid plan
+
+00:07:34.080 --> 00:07:37.253
+for. I'm not really a GUI person. I mostly work with
+
+00:07:37.254 --> 00:07:42.719
+low-level. And so my two thoughts is you can go the GTK route.
+
+00:07:42.720 --> 00:07:45.519
+There's Rust bindings for that. That's well understood.
+
+00:07:45.520 --> 00:07:48.319
+It's got a good support. But there's also some interesting
+
+00:07:48.320 --> 00:07:53.919
+projects to try and do GUI in Rust, native Rust, and have it
+
+00:07:53.920 --> 00:07:57.399
+use Rust idioms and stuff like that. And so those are things
+
+00:07:57.400 --> 00:08:01.439
+like Druid and there's eGUI and a bunch of those that are that
+
+00:08:01.440 --> 00:08:05.359
+way. And I've never used one of them, but I'd be interested to
+
+00:08:05.360 --> 00:08:08.879
+try that out first and see how well does this work and how well
+
+00:08:08.880 --> 00:08:21.239
+supported is this doing a Rust-first GUI.
+
+NOTE Q: If money could fix the problem, how much would it cost to ship this with feature parity before 2026?
+
+00:08:21.240 --> 00:08:23.639
+If money could fix the problem, how much would it cost to ship
+
+00:08:23.640 --> 00:08:28.399
+this with feature parity before 2026? Ooh, in a year. Uh,
+
+00:08:28.400 --> 00:08:32.079
+that's a good question. Even if we had the money, it would
+
+00:08:32.080 --> 00:08:36.639
+take more than just me, even if I was working on it full time.
+
+00:08:36.640 --> 00:08:40.630
+Um, I don't know. That's a good question.
+
+00:08:40.631 --> 00:08:41.769
+I would think it would take a team
+
+00:08:41.770 --> 00:08:45.239
+of at least a handful of people to get this
+
+00:08:45.240 --> 00:08:48.559
+shipping within one year. Because there's still a lot of
+
+00:08:48.560 --> 00:08:50.759
+work to do. And even once you have everything implemented,
+
+00:08:50.760 --> 00:08:55.119
+there's a lot of bug finding and smoothing it out so that it
+
+00:08:55.120 --> 00:08:57.519
+runs as well as Emacs, which has been, you know, battle
+
+00:08:57.520 --> 00:08:58.359
+tested for a long time.
+
+00:08:58.360 --> 00:09:06.599
+Um, okay, so this might be a good moment for me to break in and
+
+00:09:06.600 --> 00:09:09.039
+just say that we've got about 10 minutes left before we
+
+00:09:09.040 --> 00:09:12.519
+resume new talks on on both tracks. Of course, we're happy to
+
+00:09:12.520 --> 00:09:18.119
+keep this. This chat open and keep the recording going here,
+
+00:09:18.120 --> 00:09:21.599
+which will share after the conference as long as as long as
+
+00:09:21.600 --> 00:09:28.349
+there's discussion here. Thank you.
+
+NOTE GObject implementation
+
+00:09:28.350 --> 00:09:29.119
+GTK project has
+
+00:09:29.120 --> 00:09:31.079
+automatic binding with a framework called GObject
+
+00:09:31.080 --> 00:09:33.599
+introspection, which is what I'm using for gypsum project.
+
+00:09:33.600 --> 00:09:35.959
+Probably Rust has a G object implementation, which you can
+
+00:09:35.960 --> 00:09:39.119
+use. Yeah, I know it has some GTK bindings. Um, I'm not sure if
+
+00:09:39.120 --> 00:09:41.954
+it's specifically GObject, but that's a good path
+
+00:09:41.955 --> 00:09:44.335
+because I feel like the problem
+
+00:09:44.336 --> 00:09:46.759
+with the Rust GUIs is that they're all
+
+00:09:46.760 --> 00:09:50.359
+very new. And so, you know, everything works in a demo, but
+
+00:09:50.360 --> 00:09:52.319
+you need something that can work across all different
+
+00:09:52.320 --> 00:09:54.319
+devices and all different platforms and have really good
+
+00:09:54.320 --> 00:09:56.599
+support and good accessibility and stuff like that.
+
+NOTE Q: elisp is implemented in c, so if you're not implementing elisp in rust, are you using/keeping the c implementation of elisp?
+
+00:09:56.600 --> 00:10:03.399
+All right, Elisp is implemented in C. So if you're not
+
+00:10:03.400 --> 00:10:07.359
+implementing Elisp in Rust, we're keeping the C
+
+00:10:07.360 --> 00:10:13.639
+implementation of Elisp. So let me see if I can do a better job
+
+00:10:13.640 --> 00:10:18.439
+of explaining this. So inside Emacs, you have about a
+
+00:10:18.440 --> 00:10:21.519
+million lines of Elisp. And underneath that, you have the C,
+
+00:10:21.520 --> 00:10:24.079
+which is the primitives everything's implemented yet. And
+
+00:10:24.080 --> 00:10:27.079
+so we're keeping all of the Elisp, and we're just taking that
+
+00:10:27.080 --> 00:10:30.559
+C layer and replacing it with Rust. And so when you call a
+
+00:10:30.560 --> 00:10:33.079
+built-in function, it's calling into a Rust function
+
+00:10:33.080 --> 00:10:40.079
+instead of a C function under the hood. So all the Elisp stays
+
+00:10:40.080 --> 00:10:42.679
+Elisp, but the C becomes Rust.
+
+NOTE Clarifying rewriting Elisp in Rust
+
+00:10:42.680 --> 00:10:54.599
+So looking at the IRC chat, it feels to me like maybe there's a
+
+00:10:54.600 --> 00:10:59.159
+little bit of confusion around what do we mean when we say
+
+00:10:59.160 --> 00:11:04.839
+rewriting Elisp in Rust, right? I think there are some
+
+00:11:04.840 --> 00:11:07.399
+people that are like, A, we're reinventing ELISP, and
+
+00:11:07.400 --> 00:11:09.679
+there's other people that are like, no, we're trying to be
+
+00:11:09.680 --> 00:11:12.879
+byte-for-byte compatible with Rust.
+
+00:11:12.880 --> 00:11:17.500
+So some people are questioning your no answer on that.
+
+00:11:17.501 --> 00:11:20.000
+Aren't you really, maybe, is what I'm reading in there.
+
+00:11:20.001 --> 00:11:21.769
+Do you want to respond to that?
+
+00:11:21.770 --> 00:11:26.119
+Yeah, I'm trying to think about how I can make this
+
+00:11:26.120 --> 00:11:29.559
+clearer. So the Elisp stays Elisp. We're not changing the
+
+00:11:29.560 --> 00:11:33.239
+Elisp at all, or at least very minimally. We want to be able to
+
+00:11:33.240 --> 00:11:36.519
+take, like I said, bug compatible. So whatever works inside
+
+00:11:36.520 --> 00:11:39.999
+existing Emacs, you can take all the Lisp and you can run it in
+
+00:11:40.000 --> 00:11:43.599
+Rune and it works the same. So the Elisp stays the same. It's
+
+00:11:43.600 --> 00:11:47.119
+just the under the hood core that is getting replaced. And
+
+00:11:47.120 --> 00:11:49.199
+this in turn adds some new features such as
+
+00:11:49.200 --> 00:11:52.799
+multi-threading. So it's not exactly compatible, but
+
+00:11:52.800 --> 00:11:55.559
+you should be able to use your existing code and the Elisp will
+
+00:11:55.560 --> 00:12:00.639
+stay Elisp. So the idea is that anything that I've written as
+
+00:12:00.640 --> 00:12:04.559
+an Emacs user, my config, my custom packages, whatever it
+
+00:12:04.560 --> 00:12:08.999
+may be, that's all going to be valid code. If you take, you
+
+00:12:09.000 --> 00:12:13.163
+know, the Elisp implementation as being the C code
+
+00:12:13.164 --> 00:12:15.745
+and the parts of Elisp written in Elisp
+
+00:12:15.746 --> 00:12:18.448
+that represent opportunity space
+
+00:12:18.449 --> 00:12:20.799
+thinking about Rust as an implementation language...
+
+00:12:20.800 --> 00:12:24.479
+Okay fine. You know, you can make a semantic argument, okay
+
+00:12:24.480 --> 00:12:25.995
+we're re-implementing, we're creating
+
+00:12:25.996 --> 00:12:29.018
+an alternate implementation of Elisp
+
+00:12:29.019 --> 00:12:31.639
+but what Elisp is isn't the problem
+
+00:12:31.640 --> 00:12:35.039
+space here. That's a fixed, a given, if you will.
+
+00:12:35.040 --> 00:12:36.065
+Is that all right?
+
+00:12:36.066 --> 00:12:39.199
+That's a good way of saying it. Okay. Yeah, what you
+
+00:12:39.200 --> 00:12:42.559
+said makes sense. I was kind of responding to some comments,
+
+00:12:42.560 --> 00:12:44.959
+like I'm not sure it connected for everybody. Makes a lot of
+
+00:12:44.960 --> 00:12:47.399
+sense. Yeah, I wasn't sure how much I needed to expand on that
+
+00:12:47.400 --> 00:12:51.119
+and explain that, but I appreciate you jumping in.
+
+00:12:51.120 --> 00:12:57.907
+Um, okay. So if I were just going to, but...
+
+NOTE Q: Will your Rust implementation also be able to run Emacs bytecode? Or are you implementing it at the Lisp level?
+
+00:12:57.908 --> 00:13:02.239
+Will your Rust implementation also be able to run Emacs bytecode or the
+
+00:13:02.240 --> 00:13:04.359
+implemented at the Lisp level? So I already have a bytecode
+
+00:13:04.360 --> 00:13:06.759
+interpreter inside there that runs the existing Elisp
+
+00:13:06.760 --> 00:13:09.519
+bytecode. And so that was one of the first things I did was
+
+00:13:09.520 --> 00:13:11.679
+bootstrap the interpreter and then bootstrap the bytecode
+
+00:13:11.680 --> 00:13:14.999
+engine. And so we compile, we use the... because the bytecode
+
+00:13:15.000 --> 00:13:19.079
+compiler is written in Emacs Lisp. So you bootstrap that
+
+00:13:19.080 --> 00:13:22.919
+and it gives you the Emacs bytecode. I have a bytecode
+
+00:13:22.920 --> 00:13:26.039
+engine that runs the bytecode. So that's already done. And
+
+00:13:26.040 --> 00:13:28.239
+you can potentially, on top of that, do something like the
+
+00:13:28.240 --> 00:13:31.999
+data compilation or a JIT. But we have both an
+
+00:13:32.000 --> 00:13:47.019
+interpreter and a bytecode compiler.
+
+00:13:47.020 --> 00:13:50.799
+And I'll just break in one more time to say with about five
+
+00:13:50.800 --> 00:13:56.319
+minutes left in our live time with this Q&A session, which
+
+00:13:56.320 --> 00:13:58.439
+we're happy to keep going as long as there are questions.
+
+00:13:58.440 --> 00:14:03.959
+Coming up in five minutes, we'll have a talk on color on the
+
+00:14:03.960 --> 00:14:09.639
+gen track. And then right here, we'll have the p-search
+
+00:14:09.640 --> 00:14:09.959
+talk.
+
+00:14:09.960 --> 00:14:20.099
+Thank you.
+
+NOTE Q: Is it possible to bootstrap with just the bytecode interpreter?
+
+00:14:20.100 --> 00:14:22.559
+Is it possible to bootstrap with just the bytecode
+
+00:14:22.560 --> 00:14:25.759
+interpreter? So I'll have to put in a link to one of my blog
+
+00:14:25.760 --> 00:14:28.519
+posts. So that was my original idea was to say, I don't want to
+
+00:14:28.520 --> 00:14:31.559
+have an interpreter, a bytecode interpreter and a native
+
+00:14:31.560 --> 00:14:33.180
+compiler. I want to just have just one.
+
+00:14:33.181 --> 00:14:36.741
+So I'm only going to have the bytecode.
+
+00:14:36.742 --> 00:14:37.708
+And so that's what I did initially.
+
+00:14:37.709 --> 00:14:42.079
+The problem with that is, is that a bunch of the early bootstrap
+
+00:14:42.080 --> 00:14:45.117
+Emacs code is written with the assumption
+
+00:14:45.118 --> 00:14:47.278
+that it's going to be interpreted.
+
+00:14:47.279 --> 00:14:49.019
+This is especially true with macros,
+
+00:14:49.020 --> 00:14:50.821
+where you'll have a function defined,
+
+00:14:50.822 --> 00:14:52.642
+you'll evaluate part of the function.
+
+00:14:52.643 --> 00:14:55.599
+The other half of the function has macros in it
+
+00:14:55.600 --> 00:14:59.719
+that are not defined yet, but it doesn't matter because they
+
+00:14:59.720 --> 00:15:02.399
+don't get used. But with the bytecode interpreter, it
+
+00:15:02.400 --> 00:15:04.639
+expands all macros when it gets the function definition.
+
+00:15:04.640 --> 00:15:08.799
+And so those weren't macros when the function was expanded,
+
+00:15:08.800 --> 00:15:12.359
+and therefore they got instantiated as functions, but
+
+00:15:12.360 --> 00:15:15.759
+they're not functions, they're macros. And so I initially
+
+00:15:15.760 --> 00:15:18.999
+spent a bunch of time trying to work around this, trying to
+
+00:15:19.000 --> 00:15:21.599
+move code around, work stuff around, refactor the code to
+
+00:15:21.600 --> 00:15:24.759
+try and get it to work with only bytecode interpreter. And
+
+00:15:24.760 --> 00:15:27.039
+eventually I just gave up. I said, you know what, I'm just
+
+00:15:27.040 --> 00:15:30.039
+going to write an actual interpreter to handle this because
+
+00:15:30.040 --> 00:15:33.799
+trying to handle all these lazy macros is too much work. And
+
+00:15:33.800 --> 00:15:35.759
+everything in the bootstrap is built with the assumption
+
+00:15:35.760 --> 00:15:37.799
+that you have lazy macro expansion.
+
+00:15:37.800 --> 00:15:45.159
+I'm guessing the Emacs bytecode interpreter isn't
+
+00:15:45.160 --> 00:15:45.959
+complete.
+
+00:15:45.960 --> 00:15:52.279
+So it's mostly complete. There's a handful of opcodes that
+
+00:15:52.280 --> 00:15:55.239
+aren't implemented that are pretty easy to add that I
+
+00:15:55.240 --> 00:15:57.879
+haven't run into. And there's some of them that are
+
+00:15:57.880 --> 00:16:00.119
+deprecated that aren't implemented, but it's essentially
+
+00:16:00.120 --> 00:16:00.479
+complete.
+
+00:16:00.480 --> 00:16:11.999
+We also provide a bytecode JIT compilation via libgcc the
+
+00:16:12.000 --> 00:16:17.344
+way Emacs currently does it. Eventually I would like to...
+
+00:16:17.345 --> 00:16:22.919
+I'm more inclined to have a proper runtime JIT than an
+
+00:16:22.920 --> 00:16:27.399
+ahead-of-time compiler like libgcc, like the current
+
+00:16:27.400 --> 00:16:29.919
+Emacs native compilation, because it allows you to take
+
+00:16:29.920 --> 00:16:34.559
+type information and actually apply that to the code, which
+
+00:16:34.560 --> 00:17:03.959
+can let you do more aggressive optimizations to it.
+
+NOTE What would it take to bootstrap Guile in Rune?
+
+00:17:03.960 --> 00:17:06.319
+He said, we may either get a new Emacs with an ancient C core
+
+00:17:06.320 --> 00:17:09.039
+with a modern Lisp, or an Emacs with modern core, but stuck
+
+00:17:09.040 --> 00:17:11.879
+with ancient Elisp. So there was another project I was
+
+00:17:11.880 --> 00:17:16.639
+talking to, one of the Guile implementations, about how we
+
+00:17:16.640 --> 00:17:19.119
+could potentially, he was like, what would it take to
+
+00:17:19.120 --> 00:17:24.479
+bootstrap Guile in Rune, where you have both, you could have
+
+00:17:24.480 --> 00:17:27.399
+Elisp and Guile running inside this project. And so we've
+
+00:17:27.400 --> 00:17:28.999
+started that discussion, which I think would be, which
+
+00:17:29.000 --> 00:17:33.999
+would be interesting. But it's tricky too, because
+
+00:17:34.000 --> 00:17:36.199
+fundamentally Elisp and Guile are two different
+
+00:17:36.200 --> 00:17:38.119
+languages. They have different semantics. They have
+
+00:17:38.120 --> 00:17:39.879
+different ways of handling things. You've really got to
+
+00:17:39.880 --> 00:17:42.479
+consider both of those when you're trying to make them work
+
+00:17:42.480 --> 00:17:42.799
+together.
+
+00:17:42.800 --> 00:17:57.319
+How would you do the native module system? What would be
+
+00:17:57.320 --> 00:17:59.799
+different? We can do the same thing. We have an FFI. So I
+
+00:17:59.800 --> 00:18:03.839
+haven't looked into it a ton, but I feel like it could be
+
+00:18:03.840 --> 00:18:06.359
+similar. And I'm actually interested, there's a couple
+
+00:18:06.360 --> 00:18:12.759
+projects on GitHub right now to have an FFI written in Elisp.
+
+00:18:12.760 --> 00:18:17.239
+So you don't even need to create a separate C or Rust module,
+
+00:18:17.240 --> 00:18:21.679
+because you can actually write native modules in Rust or C.
+
+00:18:21.680 --> 00:18:25.559
+And so you can just have direct bindings to a C FFI written in
+
+00:18:25.560 --> 00:18:27.799
+Elisp. You don't need any C code inside there. And I think
+
+00:18:27.800 --> 00:18:33.699
+that would be an interesting approach to look at as well.
+
+00:18:33.700 --> 00:18:35.839
+Oh, Ramin. Yeah, that's right. We were talking about that,
+
+00:18:35.840 --> 00:18:41.539
+about bootstrapping Scheme.
+
+00:18:41.540 --> 00:18:45.519
+And at this point, we have broken away from, uh, from this
+
+00:18:45.520 --> 00:18:47.399
+talk, but we're continuing to record and this will all be
+
+00:18:47.400 --> 00:18:50.439
+published. I'd say, go ahead and keep going as long as you'd
+
+00:18:50.440 --> 00:18:54.959
+like in here. And, um, thanks once again for the awesome
+
+00:18:54.960 --> 00:18:58.639
+discussion. Thank you so much. So I'll just pay attention to
+
+00:18:58.640 --> 00:19:02.919
+the ether pad and the chat and see.
+
+00:19:02.920 --> 00:19:05.919
+That sounds good. I'll keep an eye on IRC. And if there are
+
+00:19:05.920 --> 00:19:08.559
+more questions here, I'll bounce people toward the ether
+
+00:19:08.560 --> 00:19:12.760
+pad or this, uh, chat room. All right, thank you.
diff --git a/2024/captions/emacsconf-2024-students--an-example-of-a-cohesive-student-workflow-in-emacs--daniel-pinkston--answers.vtt b/2024/captions/emacsconf-2024-students--an-example-of-a-cohesive-student-workflow-in-emacs--daniel-pinkston--answers.vtt
new file mode 100644
index 00000000..2ea0a13c
--- /dev/null
+++ b/2024/captions/emacsconf-2024-students--an-example-of-a-cohesive-student-workflow-in-emacs--daniel-pinkston--answers.vtt
@@ -0,0 +1,846 @@
+WEBVTT
+
+00:00:00.000 --> 00:00:11.119
+And I believe we are live. Hi, Daniel, how are you doing? I'm
+
+00:00:11.120 --> 00:00:17.199
+doing great. It's cold outside, but it's nice in here, yeah.
+
+00:00:17.200 --> 00:00:21.439
+I can assure you it's very cold in my own place as well. We do
+
+00:00:21.440 --> 00:00:24.679
+EmacsConf always in December and that's always when it's
+
+00:00:24.680 --> 00:00:27.479
+particularly cold where I live and I assume where you live as
+
+00:00:27.480 --> 00:00:31.039
+well. So, don't worry, we'll try to keep you warm with
+
+00:00:31.040 --> 00:00:35.039
+interesting questions. But first, thank you for taking the
+
+00:00:35.040 --> 00:00:38.359
+time out of your busy high school life to make a presentation
+
+NOTE Q: Do you have any thoughts about the process of recording something for a conference?
+
+00:00:38.360 --> 00:00:41.439
+about Emacs. Do you have any thoughts about the process of
+
+00:00:41.440 --> 00:00:44.399
+recording something for a conference? Because I assume
+
+00:00:44.400 --> 00:00:47.279
+it's one of the first ones you're ever doing.
+
+00:00:47.280 --> 00:00:55.879
+I think it was not as difficult as I thought it would be. I just
+
+00:00:55.880 --> 00:01:04.479
+recorded in my basement and prepared some notes
+
+00:01:04.480 --> 00:01:08.639
+beforehand. I think it was definitely helpful to have Emacs
+
+00:01:08.640 --> 00:01:11.959
+as a tool for that, because I made my presentation with
+
+00:01:11.960 --> 00:01:18.559
+Beamer. Right. I mean, it's amazing to see so many of the
+
+00:01:18.560 --> 00:01:22.519
+tools because, you know, you've shown Emacs, but you've
+
+00:01:22.520 --> 00:01:27.399
+shown Beamer. You've shown tools that are about twice as old
+
+00:01:27.400 --> 00:01:30.239
+as you are yourself, which is amazing when you think about
+
+00:01:30.240 --> 00:01:33.199
+it. But I think many people in the audience can actually
+
+00:01:33.200 --> 00:01:36.479
+relate to your discovery of those tools because we were
+
+00:01:36.480 --> 00:01:40.679
+pretty much, I mean a lot of us were your age when we started
+
+00:01:40.680 --> 00:01:43.999
+playing with those tools so it's like there's a little bit of
+
+00:01:44.000 --> 00:01:45.759
+nostalgia that we feel looking at your presentation
+
+00:01:45.760 --> 00:01:48.719
+because we are, we can see the excitement behind everything
+
+00:01:48.720 --> 00:01:51.919
+you've touched and that's great for us because it brings us
+
+00:01:51.920 --> 00:01:55.919
+back maybe 10 or 20 years in the past and for others perhaps 30
+
+00:01:55.920 --> 00:02:01.079
+or 40 years so that's kind of amazing.
+
+00:02:01.080 --> 00:02:05.039
+How about we start taking some questions? So, just for
+
+00:02:05.040 --> 00:02:09.199
+timekeeping, we have until 20 of the current hours, which is
+
+00:02:09.200 --> 00:02:12.079
+8 minutes and 30 seconds to cover as many questions as
+
+00:02:12.080 --> 00:02:16.599
+possible. Now, if we might take the first one. So, Corwin,
+
+00:02:16.600 --> 00:02:20.359
+can you scroll down to the questions? Yes. I'll be reading
+
+00:02:20.360 --> 00:02:22.319
+you the questions just to make it a little easier for you,
+
+00:02:22.320 --> 00:02:23.791
+Daniel, to answer them.
+
+NOTE Q: I use org-roam for notes and find it very useful - have you considered it?
+
+00:02:23.792 --> 00:02:25.999
+I use Org-roam for notes and find it
+
+00:02:26.000 --> 00:02:30.639
+very useful. Have you considered it? Uh, yeah, that's
+
+00:02:30.640 --> 00:02:35.519
+actually where I started out for taking notes. Um, that,
+
+00:02:35.520 --> 00:02:38.719
+that I moved to Denote because I didn't use all of its
+
+00:02:38.720 --> 00:02:44.319
+features, um, for, Org Roam, I meant.
+
+00:02:44.320 --> 00:02:46.999
+Uh, I also didn't, didn't really like the dependency on an
+
+00:02:47.000 --> 00:02:51.919
+external database. Uh, it just like took a while for, um,
+
+00:02:51.920 --> 00:02:56.879
+stuff to index if I moved it between like, uh, using sync
+
+00:02:56.880 --> 00:03:03.679
+thing. laptop and my desktop. Yeah. Yeah, it's definitely
+
+00:03:03.680 --> 00:03:08.119
+something, I mean, I co-maintain Org Roam, so I'm fully aware
+
+00:03:08.120 --> 00:03:12.159
+of this problem with it. And yeah, SyncThing is not great to
+
+00:03:12.160 --> 00:03:16.639
+sync a database, a SQLite database that we use. And, I mean,
+
+00:03:16.640 --> 00:03:19.399
+whichever solution you use, whatever works for you is good.
+
+00:03:19.400 --> 00:03:21.919
+Orgrim was kind of thought in terms of scalability for
+
+00:03:21.920 --> 00:03:26.199
+people who had, you know, thousands of notes with thousands
+
+00:03:26.200 --> 00:03:28.919
+of links inside of them. so perhaps it's not adapted to your
+
+00:03:28.920 --> 00:03:31.039
+note-taking style right now, but perhaps it's something to
+
+00:03:31.040 --> 00:03:34.599
+keep in mind, you know, it's many tools and you use them when
+
+00:03:34.600 --> 00:03:39.599
+you need to. Colin, if we can switch the questions, I'm
+
+00:03:39.600 --> 00:03:40.879
+switching to the second one.
+
+NOTE Q: Do you use the Getting Things Done methodology as part of your Org workflow?
+
+00:03:40.880 --> 00:03:42.159
+Do you use the Getting Things
+
+00:03:42.160 --> 00:03:46.639
+Done methodology as part of your Org workflow? So there's an
+
+00:03:46.640 --> 00:03:50.039
+interesting thing about that. I started with Org first and
+
+00:03:50.040 --> 00:03:54.959
+then I heard about Getting Things Done, so I didn't exactly
+
+00:03:54.960 --> 00:04:01.679
+design my workflow with that in mind, but I sort of
+
+00:04:01.680 --> 00:04:06.439
+reinvented it, I would say, not really, but I do a lot of
+
+00:04:06.440 --> 00:04:09.439
+the similar things, but I don't have the different TODO
+
+00:04:09.440 --> 00:04:11.319
+states like...
+
+00:04:11.320 --> 00:04:17.279
+I don't know an example because I didn't really look into it
+
+00:04:17.280 --> 00:04:22.719
+that much, but it would be like NEXT isn't the next thing
+
+00:04:22.720 --> 00:04:28.879
+you're going to do. But I don't think I...
+
+00:04:28.880 --> 00:04:35.239
+where I just write what I need to do and then schedule it and
+
+00:04:35.240 --> 00:04:40.999
+then look at my agenda for the next thing. Yeah, I mean, part
+
+00:04:41.000 --> 00:04:45.959
+of the beauty of using Emacs, Org Mode or using a methodology
+
+00:04:45.960 --> 00:04:49.719
+like Getting Things Done is that I think you need to find room
+
+00:04:49.720 --> 00:04:53.519
+in the method or the tool for you to organically do what you
+
+00:04:53.520 --> 00:04:57.279
+want. And it's okay to not do everything in a Getting Things
+
+00:04:57.280 --> 00:05:00.599
+Done methodology. I know a lot of people take issue
+
+00:05:00.600 --> 00:05:04.719
+with the tickler file, where you're supposed to put stuff to
+
+00:05:04.720 --> 00:05:07.319
+review in the future. For instance, if you don't want
+
+00:05:07.320 --> 00:05:10.439
+to work on this particular topic right now in your life, you
+
+00:05:10.440 --> 00:05:14.679
+decide, oh, I'd like to revisit this topic maybe in six
+
+00:05:14.680 --> 00:05:17.399
+months. And then you have this tickler file, which has
+
+00:05:17.400 --> 00:05:21.799
+entries and folders for each month of the year. And when six
+
+00:05:21.800 --> 00:05:24.039
+months comes and you find yourself at the beginning of the
+
+00:05:24.040 --> 00:05:27.319
+next month, you open the file and you see, oh there's the task
+
+00:05:27.320 --> 00:05:30.319
+I left off for later. A lot of people don't like to do it this
+
+00:05:30.320 --> 00:05:34.279
+way, some people really like it, but part of the beauty of
+
+00:05:34.280 --> 00:05:38.119
+having tools which are very modular like Emacs and Org Mode
+
+00:05:38.120 --> 00:05:41.479
+allows you to have, well, you just adjust the method for
+
+00:05:41.480 --> 00:05:44.439
+something that works. And there's something to be garnered
+
+00:05:44.440 --> 00:05:48.759
+as well for applying these lessons to how you organize your
+
+00:05:48.760 --> 00:05:51.559
+life, not merely in front of a computer, but also how you
+
+00:05:51.560 --> 00:05:54.519
+manage your tasks elsewhere at school, iSchool or
+
+00:05:54.520 --> 00:05:58.519
+elsewhere.
+
+NOTE Q: org-fc and org-drill are emacs org mode centric flash card solutions, have you looked into them?
+
+00:05:58.520 --> 00:06:02.799
+All right, moving to the next question. Org-fc and org-drill
+
+00:06:02.800 --> 00:06:06.319
+are Emacs Org Mode-centric flashcard solutions. Have you
+
+00:06:06.320 --> 00:06:11.599
+looked into them? I think I looked into Org-Drill, but I
+
+00:06:11.600 --> 00:06:17.359
+wanted to use Anki because of... I wanted to use it on my
+
+00:06:17.360 --> 00:06:21.439
+phone, but then I realized I had to pay for the app, and then I
+
+00:06:21.440 --> 00:06:24.119
+didn't want to use it on my phone anymore.
+
+00:06:24.120 --> 00:06:31.799
+but it's just something that I used before without work mode
+
+00:06:31.800 --> 00:06:35.239
+for a little bit. And then I liked it,
+
+00:06:35.240 --> 00:06:42.919
+but yeah, it works pretty well with Org mode. So I didn't
+
+00:06:42.920 --> 00:06:47.799
+find a reason to switch to one of those because like I might be
+
+00:06:47.800 --> 00:06:53.559
+not at a computer one day and have to learn something. Yeah,
+
+00:06:53.560 --> 00:06:56.399
+that's something that you call premature optimization.
+
+00:06:56.400 --> 00:06:59.479
+And if you continue as a software engineer at university,
+
+00:06:59.480 --> 00:07:02.679
+you'll get to hear plenty of this. But yes, Anki is also a tool
+
+00:07:02.680 --> 00:07:06.399
+that I've used a whole lot in my learning journeys, be it
+
+00:07:06.400 --> 00:07:09.719
+about languages, be it about literature, be it about
+
+00:07:09.720 --> 00:07:15.519
+whatever really, and it's a very good tool and I recommend
+
+00:07:15.520 --> 00:07:17.799
+people to look into it, especially since they've released a
+
+00:07:17.800 --> 00:07:20.839
+new algorithm to manage learning a little differently than
+
+00:07:20.840 --> 00:07:23.719
+the old one. If you're familiar with SuperMemo, I really
+
+00:07:23.720 --> 00:07:25.992
+invite you to look into the advancement
+
+00:07:25.993 --> 00:07:27.505
+in Anki in recent years.
+
+NOTE Q: What do other students think about your approach - and what are they doing instead (if anything)? And your teachers - what do they think?
+
+00:07:27.506 --> 00:07:31.399
+Moving to another question, what do other students
+
+00:07:31.400 --> 00:07:33.919
+think about your approach and what are they doing instead,
+
+00:07:33.920 --> 00:07:39.359
+if anything? And your teachers, what do they think? So for
+
+00:07:39.360 --> 00:07:43.199
+other students they usually are just confused about what's
+
+00:07:43.200 --> 00:07:51.879
+going on when I show my computer because they know that I use
+
+00:07:51.880 --> 00:07:56.759
+Linux but they don't know what it is so they're just assuming
+
+00:07:56.760 --> 00:08:03.839
+everything on my computer is I'm either hacking or like
+
+00:08:03.840 --> 00:08:05.999
+doing some Linux thing and
+
+00:08:06.000 --> 00:08:09.919
+I don't really bother to explain it to them so that's kind
+
+00:08:09.920 --> 00:08:17.079
+But for I love it. See my see my prior videos. That's that's
+
+00:08:17.080 --> 00:08:19.559
+wonderful. Pardon me. Pardon me for breaking in, Daniel.
+
+00:08:19.560 --> 00:08:22.239
+But I just since I have, I want to say wonderful
+
+00:08:22.240 --> 00:08:28.559
+presentation. I love your spirit, your tone and great
+
+00:08:28.560 --> 00:08:29.319
+thought there.
+
+00:08:29.320 --> 00:08:31.399
+For my teachers, I think...
+
+00:08:31.400 --> 00:08:38.799
+because if I write an essay or something, I usually paste it
+
+00:08:38.800 --> 00:08:46.879
+in Google Docs. But recently, I got more confident, which is
+
+00:08:46.880 --> 00:08:53.879
+export to LaTeX, and I did that for my physics labs. My
+
+00:08:53.880 --> 00:08:56.439
+teacher was pretty satisfied with the results for the math
+
+00:08:56.440 --> 00:09:03.119
+formatting. So I think they don't really have a problem with
+
+00:09:03.120 --> 00:09:06.959
+it, where it's actually more convenient, maybe.
+
+00:09:06.960 --> 00:09:13.039
+That's really great to hear and if you continue at
+
+00:09:13.040 --> 00:09:16.519
+university, which I'm almost sure that you will, your
+
+00:09:16.520 --> 00:09:19.279
+professors, you'll be pretty much using the same tools as
+
+00:09:19.280 --> 00:09:23.359
+they are, so you'll find yourself in a like-minded crowd of
+
+00:09:23.360 --> 00:09:28.519
+people once you get to university. We are a little short on
+
+00:09:28.520 --> 00:09:30.719
+time because we need to move to the next talk in about one
+
+00:09:30.720 --> 00:09:35.999
+minute. There are still some questions and Daniel, I would
+
+00:09:36.000 --> 00:09:40.399
+invite you to stay and maybe answer them in a room so that we
+
+00:09:40.400 --> 00:09:43.399
+can gather as many of your answers as possible. But before we
+
+00:09:43.400 --> 00:09:45.239
+leave, I just want to give you the opportunity, if you have
+
+00:09:45.240 --> 00:09:46.919
+any last words, to share them with the crowd.
+
+00:09:46.920 --> 00:09:53.479
+Well, for the students who may be watching this, I hope that
+
+00:09:53.480 --> 00:09:57.319
+you give Emacs a try. And good luck if you decide to use
+
+00:09:57.320 --> 00:10:01.519
+something else because it's probably won't be as great.
+
+00:10:01.520 --> 00:10:07.399
+It's very good to be so young and to already be convinced that
+
+00:10:07.400 --> 00:10:09.879
+Emacs is the best thing. For some of us, it took us many
+
+00:10:09.880 --> 00:10:12.839
+decades to reach this conclusion, and I'm so happy
+
+00:10:12.840 --> 00:10:15.095
+to see young people. I used to be a teacher,
+
+00:10:15.096 --> 00:10:17.016
+by the way, so I used to teach people your age,
+
+00:10:17.017 --> 00:10:19.799
+but I'm so happy to see people your age
+
+00:10:19.800 --> 00:10:23.359
+interested in Emacs because it makes me hopeful that in the
+
+00:10:23.360 --> 00:10:26.799
+future we'll have people carrying the flame and standing on
+
+00:10:26.800 --> 00:10:30.039
+the shoulders of current people. So thank you so much,
+
+00:10:30.040 --> 00:10:32.917
+Daniel. We'll be seeing you soon. We wish you good luck with
+
+00:10:32.917 --> 00:10:35.999
+your studies. And for EmacsConf, we'll be moving to the next
+
+00:10:36.000 --> 00:10:39.624
+talk in five seconds. See you soon. And I want to reassure
+
+00:10:39.625 --> 00:10:44.332
+you, we'll post all the Q&A info when we do post this video.
+
+00:10:44.333 --> 00:10:47.839
+Yes. So Daniel, as I said,
+
+00:10:47.840 --> 00:10:49.239
+if you want to stick around a little more with
+
+00:10:49.240 --> 00:10:51.839
+Corwin to answer the questions, that's all fine.
+
+00:10:51.840 --> 00:10:53.599
+I'll be moving to the next room to get ready for the next
+
+00:10:53.600 --> 00:10:59.159
+talks. So thank you, Daniel. And I'll see you later.
+
+00:10:59.160 --> 00:11:06.199
+All right, the cops are gone. Wait, no, I'm just kidding. No,
+
+00:11:06.200 --> 00:11:10.042
+but if you'd like to walk through a few more of these
+
+00:11:10.043 --> 00:11:11.960
+questions, I'd be happy to record that. You're not
+
+00:11:12.000 --> 00:11:14.559
+obligated to do that. You could also, the pad's there. You
+
+00:11:14.560 --> 00:11:16.999
+could just type out your answers or whatever you prefer to
+
+00:11:17.000 --> 00:11:24.559
+do. I guess I can answer them still. Cool.
+
+00:11:24.560 --> 00:11:25.359
+So we're here.
+
+NOTE Q: What was your biggest source of frustration/friction/confusion when getting started with Emacs?
+
+00:11:25.360 --> 00:11:27.759
+What was your biggest source of frustration, friction,
+
+00:11:27.760 --> 00:11:32.319
+confusion when getting started?
+
+00:11:32.320 --> 00:11:38.239
+I honestly don't really remember. It
+
+00:11:38.240 --> 00:11:45.279
+somehow just clicked one day and I figured it out.
+
+00:11:45.280 --> 00:11:48.123
+All right, it takes us pretty naturally to the next one.
+
+NOTE Q: How did you come across Emacs? What got you into it?
+
+00:11:48.124 --> 00:11:54.079
+How did you come across Emacs? What got you into it? I could ask
+
+00:11:54.080 --> 00:11:58.280
+this question quite
+
+00:11:58.320 --> 00:12:05.479
+similar to how I stumbled into Linux, where I was... I heard
+
+00:12:05.480 --> 00:12:09.519
+of it before, but I saw screenshots of it
+
+00:12:09.520 --> 00:12:11.247
+or something on Reddit, and I was like, oh,
+
+00:12:11.248 --> 00:12:14.648
+that looks pretty cool, maybe I'll look into that.
+
+00:12:14.649 --> 00:12:16.599
+And then on YouTube, I would see videos
+
+00:12:16.600 --> 00:12:21.199
+about Doom Emacs, and then the Doomcasts video,
+
+00:12:21.200 --> 00:12:37.239
+I think that's what really got me into it.
+
+00:12:37.240 --> 00:12:42.279
+Okay, I did my best to capture that. So what's the situation
+
+00:12:42.280 --> 00:12:46.439
+with respect to the mobile use, if that's applicable? And
+
+00:12:46.440 --> 00:12:47.639
+Orgzly is,
+
+00:12:47.640 --> 00:12:52.359
+sorry, was it not Doomcast? Is it System Crafters?
+
+00:12:52.360 --> 00:12:58.199
+Sorry if I botched the note. Oh yeah, System Crafters was
+
+00:12:58.200 --> 00:13:01.679
+also one of the things I used for getting into Emacs from
+
+00:13:01.680 --> 00:13:08.079
+scratch. I'm sorry if my dog is barking.
+
+00:13:08.080 --> 00:13:16.799
+the, I'm not sure how to pronounce his name, but Protesilaos,
+
+00:13:16.800 --> 00:13:20.399
+I think that's how you say it. I always say Prot just to get me
+
+00:13:20.400 --> 00:13:23.039
+out of that problem for what it's worth. I'm not sure that I
+
+00:13:23.040 --> 00:13:26.719
+can say it properly either. Yeah, his videos were really
+
+00:13:26.720 --> 00:13:30.479
+great for getting started with each, each individual
+
+00:13:30.480 --> 00:13:31.240
+component of
+
+00:13:31.292 --> 00:13:34.124
+something like there's entire videos just
+
+00:13:34.125 --> 00:13:40.249
+about completion and about a tool called Embark. And like, I
+
+00:13:40.250 --> 00:13:41.318
+would just watch those videos
+
+00:13:41.319 --> 00:13:42.999
+while I was doing the dishes or something.
+
+00:13:43.000 --> 00:13:53.679
+and I would learn a lot from that.
+
+NOTE Q: What the situation with respect to "mobile" use (if ever that's applicable)? (yes, Orgzly...using that?)
+
+00:13:53.680 --> 00:13:59.120
+Awesome. I love it. What about the mobile...
+
+00:13:59.121 --> 00:14:04.960
+sorry, did I get that question out there already? Oh, no.
+
+00:14:04.961 --> 00:14:07.917
+I don't use Emacs or any Org Mode things on my
+
+00:14:07.918 --> 00:14:19.963
+phone. I have an iPhone, unfortunately.
+
+00:14:19.964 --> 00:14:24.120
+But for org files, I couldn't really get it to sync over
+
+00:14:24.121 --> 00:14:26.800
+without using a paid app.
+
+00:14:26.801 --> 00:14:28.040
+And I didn't really look into it
+
+00:14:28.041 --> 00:14:30.140
+that much because I have a computer with me
+
+00:14:30.141 --> 00:14:36.000
+almost all the time.
+
+00:14:36.001 --> 00:14:39.520
+Usually I carry around a notebook. And if I really need to
+
+00:14:39.521 --> 00:14:41.940
+know something or remember it for later,
+
+00:14:41.941 --> 00:14:52.660
+I just write it down.
+
+00:14:52.661 --> 00:15:01.759
+I've seen people get started with e-ink tablets, and they
+
+00:15:01.760 --> 00:15:07.959
+sync it with SyncThing because it's Android, but I don't use
+
+00:15:07.960 --> 00:15:21.919
+that, so I can't really attest to how good it is.
+
+NOTE Q: Has using emacs led to expanded interest in programming/computer science?
+
+00:15:21.920 --> 00:15:25.559
+So has using Emacs led you to an expanded interest in
+
+00:15:25.560 --> 00:15:28.519
+programming and computer science? Sorry if
+
+00:15:28.520 --> 00:15:31.781
+I could have got that out of the presentation.
+
+00:15:31.782 --> 00:15:33.999
+I think Emacs is what got me
+
+00:15:34.000 --> 00:15:37.840
+started with Lisp specifically.
+
+00:15:37.900 --> 00:15:40.380
+Otherwise, I probably would have not really looked into it
+
+00:15:40.381 --> 00:15:44.920
+that much, other than like maybe dabbling in Scheme
+
+00:15:44.921 --> 00:15:50.180
+from the Structures and Interpretations of Computer
+
+00:15:50.181 --> 00:15:53.680
+Programs book. But I probably wouldn't have seen that if I
+
+00:15:53.681 --> 00:16:06.120
+hadn't discovered Emacs either so.
+
+00:16:06.121 --> 00:16:08.792
+I was already into programming
+
+00:16:08.793 --> 00:16:14.958
+before Emacs, and I had used VS Code for a little bit and then
+
+00:16:14.959 --> 00:16:22.917
+Vim. But I think I've done most of my programming
+
+00:16:22.918 --> 00:16:26.667
+inside of Emacs, in terms of lines of code written,
+
+00:16:26.668 --> 00:16:40.671
+projects made...
+
+NOTE Q: How does interaction with others work in technical terms?
+
+00:16:40.672 --> 00:16:44.519
+So maybe we'd jump from there, right, to, you mentioned
+
+00:16:44.520 --> 00:16:48.359
+exporting notes, essays, and so on, handing them on to other
+
+00:16:48.360 --> 00:16:53.319
+people. How does interaction with others work in technical
+
+00:16:53.320 --> 00:16:57.759
+terms? We mostly find workflows centered around like
+
+00:16:57.760 --> 00:17:00.479
+Microsoft products, and that makes sense to me. I have a day
+
+00:17:00.480 --> 00:17:03.719
+job where I have to work with a bunch of Microsoft products,
+
+00:17:03.720 --> 00:17:08.399
+and I know the workflows for that. So how do you manage your
+
+00:17:08.400 --> 00:17:14.519
+kind of Emacs-y you know, workflows, um, you know, in terms of
+
+00:17:14.520 --> 00:17:19.119
+sharing with people. Yeah. So for sharing with like my
+
+00:17:19.120 --> 00:17:22.719
+teachers or something, I would, we use like Google at our
+
+00:17:22.720 --> 00:17:25.759
+school. So for, I'm very fortunate that I don't have to deal
+
+00:17:25.760 --> 00:17:29.639
+with Microsoft other than with a very niche situations in
+
+00:17:29.640 --> 00:17:32.599
+which I can just use LibreOffice and then convert to Doc X or
+
+00:17:32.600 --> 00:17:35.719
+something. I heard that chef. That's, that's how all my
+
+00:17:35.720 --> 00:17:39.679
+vendors, uh, my vendors all roll their eyes when they were,
+
+00:17:39.680 --> 00:17:42.885
+oh, you're a Microsoft shop. Yep. Heard.
+
+00:17:42.886 --> 00:17:45.947
+Then they're all Google shops too, in education.
+
+00:17:45.948 --> 00:17:51.958
+Great point. For Google, I just... If my teachers wanted
+
+00:17:51.959 --> 00:17:53.125
+a Google Doc or something,
+
+00:17:53.126 --> 00:17:54.299
+I usually just copy paste
+
+00:17:54.300 --> 00:17:55.679
+whatever I wrote in Emacs
+
+00:17:55.680 --> 00:17:59.333
+and then still keep it, anyway, as a side thing
+
+00:17:59.334 --> 00:18:00.667
+because I don't really trust the cloud
+
+00:18:00.668 --> 00:18:02.875
+that much in terms of using
+
+00:18:02.876 --> 00:18:10.667
+it for later if I wanted to look at it. But for that, I don't
+
+00:18:10.668 --> 00:18:14.339
+really have too much problems. Hopefully, I will find a way
+
+00:18:14.340 --> 00:18:21.439
+to figure it out when I get into university.
+
+00:18:21.440 --> 00:18:26.679
+Awesome. Okay, well, I know we did it once already, but since
+
+00:18:26.680 --> 00:18:30.479
+this will be the end of the video, let me just open the floor
+
+00:18:30.480 --> 00:18:33.439
+one more time for parting thoughts.
+
+00:18:33.440 --> 00:18:41.719
+I'm not sure that I have any. I mean, you said it pretty well,
+
+00:18:41.720 --> 00:18:46.639
+right? I hope my peers see this. I hope they realize other
+
+00:18:46.640 --> 00:18:49.879
+tools are kind of inferior from a gets things done
+
+00:18:49.880 --> 00:18:54.639
+standpoint. Saw your talk. Heard that message in this Q&A.
+
+00:18:54.640 --> 00:18:58.159
+I think you did a great job. You don't have to say more, but
+
+00:18:58.160 --> 00:19:02.835
+just offering you the chance. Thank you.
+
+00:19:02.836 --> 00:19:03.916
+Well, thank you, Daniel,
+
+00:19:03.917 --> 00:19:07.439
+and thanks to everybody watching this video
+
+00:19:07.440 --> 00:19:09.838
+during the conference or after it,
+
+00:19:09.839 --> 00:19:12.159
+and appreciate and look forward
+
+00:19:12.160 --> 00:19:18.880
+to your talks in the future, Daniel. Thank you.
diff --git a/2024/captions/emacsconf-2024-theme--my-journey-of-finding-and-creating-the-perfect-emacs-theme--metrowind--answers.vtt b/2024/captions/emacsconf-2024-theme--my-journey-of-finding-and-creating-the-perfect-emacs-theme--metrowind--answers.vtt
new file mode 100644
index 00000000..bb183779
--- /dev/null
+++ b/2024/captions/emacsconf-2024-theme--my-journey-of-finding-and-creating-the-perfect-emacs-theme--metrowind--answers.vtt
@@ -0,0 +1,405 @@
+WEBVTT
+
+00:00:00.000 --> 00:00:09.279
+So just to be clear, right now we are currently streaming. So
+
+00:00:09.280 --> 00:00:12.679
+if you want to answer with your voice, you can as well. Oh, I'm
+
+00:00:12.680 --> 00:00:17.999
+sorry. Okay. Yeah. So I've got a question. I think there was a
+
+00:00:18.000 --> 00:00:20.279
+little bit of a misunderstanding with whether we were doing
+
+00:00:20.280 --> 00:00:25.079
+a Q&A on BBB or if we were doing it on Etherpad. So it's really
+
+00:00:25.080 --> 00:00:28.479
+up to you. Right now we've set up everything. So if you want to
+
+00:00:28.480 --> 00:00:32.119
+start answering questions with your voice, we might as
+
+00:00:32.120 --> 00:00:33.864
+well. So OK, so I can just do it live.
+
+NOTE Q: When you choose colors based on the same lightness, does it not hurt readability since the eye sees lightness most?
+
+00:00:33.865 --> 00:00:38.239
+So one question is, so I
+
+00:00:38.240 --> 00:00:41.839
+assume this is a question on the lab space, where all the
+
+00:00:41.840 --> 00:00:46.959
+colors are the same lightness. Does it hurt readability? So
+
+00:00:46.960 --> 00:00:53.679
+far, I find it to be OK. For the lab theme, I picked the colors
+
+00:00:53.680 --> 00:01:00.999
+manually. So like I could just fix a angle essentially so
+
+00:01:01.000 --> 00:01:11.759
+that no colors are similar, so I have good readability. But
+
+00:01:11.760 --> 00:01:18.959
+for a random theme in Monte Carlo, it's hard because like
+
+00:01:18.960 --> 00:01:24.639
+it's just random. But yeah, that's a really good point. And
+
+00:01:24.640 --> 00:01:28.959
+also that's one of the motivations I did the nothing, you
+
+00:01:28.960 --> 00:01:33.999
+know, the great scale theme to explore just using
+
+00:01:34.000 --> 00:01:39.759
+lightness. Yeah.
+
+00:01:39.760 --> 00:01:48.199
+So looking at other questions.
+
+00:01:48.200 --> 00:01:52.279
+Okay, great. Do you want to take the next question. So, okay.
+
+NOTE Q: For monte-carlo, are all the "random" colors picked using a colorwheel/hue rotation?
+
+00:01:52.280 --> 00:01:56.959
+Okay, let's go to the third first. Let's finish. Yes, for
+
+00:01:56.960 --> 00:01:59.999
+Monte Carlo are all the random colors that using a color
+
+00:02:00.000 --> 00:02:06.479
+wheel here. Yes. Well, so basically, what this theme does is
+
+00:02:06.480 --> 00:02:14.159
+it. It picks a saturation and lightness for me first. These
+
+00:02:14.160 --> 00:02:19.759
+are also random, but they are picked with some kind of range.
+
+00:02:19.760 --> 00:02:26.559
+And that's a parameter that I can play with, you know, the
+
+00:02:26.560 --> 00:02:28.959
+range of lightness and separation.
+
+00:02:28.960 --> 00:02:33.479
+Once those are fixed, the colors are picked by angles in the
+
+00:02:33.480 --> 00:02:38.399
+color wheel, or heel rotation, as you would put it. So yes,
+
+00:02:38.400 --> 00:02:43.719
+that's roughly the process.
+
+NOTE Q: One area I see emacs able to do themes that is "underused?" is changing the font
+
+00:02:43.720 --> 00:02:47.239
+OK, great. I think the second question is still in the
+
+00:02:47.240 --> 00:02:51.679
+process. Oh, well, maybe you could start fielding it. I
+
+00:02:51.680 --> 00:02:55.319
+think you've got already something to work on. I see one area
+
+00:02:55.320 --> 00:03:01.199
+I see Emacs able to do. under use is changing the font, font
+
+00:03:01.200 --> 00:03:09.759
+size, font type, model space based on various faces. Yeah,
+
+00:03:09.760 --> 00:03:13.439
+so to paraphrase the question, one thing that Emacs is
+
+00:03:13.440 --> 00:03:17.399
+definitely not doing a whole lot of right now is changing the
+
+00:03:17.400 --> 00:03:21.079
+font that is being used, be it the font size, the font family.
+
+00:03:21.080 --> 00:03:25.039
+Sometimes you see themes, especially old mode themes,
+
+00:03:25.040 --> 00:03:29.199
+fontify differently the headers of the documents versus
+
+00:03:29.200 --> 00:03:31.879
+the content, and usually you do have a little bit of a
+
+00:03:31.880 --> 00:03:34.719
+contrast that is being introduced. But is it something that
+
+00:03:34.720 --> 00:03:38.959
+you find value in, this type of contrast based on font? And to
+
+00:03:38.960 --> 00:03:45.159
+me, it's my personal preference to just use one font. I don't
+
+00:03:45.160 --> 00:03:51.479
+even change the font size a lot in org mode. It's just
+
+00:03:51.480 --> 00:03:55.319
+personal preference.
+
+00:03:55.320 --> 00:03:58.999
+I've seen scenes where once I applied, I opened the org doc
+
+00:03:59.000 --> 00:04:04.639
+and suddenly all the titles are like Serif or some fancy
+
+00:04:04.640 --> 00:04:12.759
+fonts. That works. And to me, again, it's a personal
+
+00:04:12.760 --> 00:04:16.919
+preference that I don't really like that, but I know a lot of
+
+00:04:16.920 --> 00:04:21.799
+people like that. So it's up to you, I guess. Yeah, I mean,
+
+00:04:21.800 --> 00:04:25.839
+this, as we've seen in your talk and as well as the previous
+
+00:04:25.840 --> 00:04:29.279
+one we had this morning, you know, themes are very personal
+
+00:04:29.280 --> 00:04:33.079
+and at the end, whatever you need to, you know, some people
+
+00:04:33.080 --> 00:04:35.799
+are going to need more contrast than others, some people are
+
+00:04:35.800 --> 00:04:37.999
+going to need a little more variety in the fonts that they
+
+00:04:38.000 --> 00:04:41.359
+use. Ultimately, it's up to you really what you want to use.
+
+00:04:41.360 --> 00:04:45.199
+The end point, the angle that one should be aiming for is to
+
+00:04:45.200 --> 00:04:49.039
+feel comfortable in what they're editing. And whether this
+
+00:04:49.040 --> 00:04:52.799
+comfort translates into a very barebone color theme like
+
+00:04:52.800 --> 00:04:56.319
+the one we saw this morning with very slight colors but still
+
+00:04:56.320 --> 00:04:59.079
+which has a lot of personality or perhaps something closer
+
+00:04:59.080 --> 00:05:04.279
+to yours which tends to use equal luminance or lightness for
+
+00:05:04.280 --> 00:05:07.879
+the different entries. Well, everyone needs to tune in and
+
+00:05:07.880 --> 00:05:13.959
+find whatever works best for them, I think. Yep. And also, I
+
+00:05:13.960 --> 00:05:18.479
+want to note, I actually have a personal rule. It's also in
+
+00:05:18.480 --> 00:05:24.479
+all my themes. It's that comments have to be italic. I just
+
+00:05:24.480 --> 00:05:31.999
+like the look of italic comments. So, I actually... So, if
+
+00:05:32.000 --> 00:05:37.799
+you... In one of the section in the video, I mentioned I have
+
+00:05:37.800 --> 00:05:41.959
+hooks. Maybe I didn't mention, but I have hooks when using
+
+00:05:41.960 --> 00:05:47.359
+the picking the random theme setup. One of the purpose of
+
+00:05:47.360 --> 00:05:52.359
+that hook is I can add italic to all the themes on the comment
+
+00:05:52.360 --> 00:05:58.999
+face. Which I don't think it works actually right now, but
+
+00:05:59.000 --> 00:06:02.679
+that's the intention. Yeah, but I think it answers the
+
+00:06:02.680 --> 00:06:05.879
+question we started on originally. Because changing the
+
+00:06:05.880 --> 00:06:11.559
+font, I mean, using the italic variant of the font, it's
+
+00:06:11.560 --> 00:06:14.119
+literally a different font. And so, being able to have this
+
+00:06:14.120 --> 00:06:17.479
+type of contrast is actually important for you. So, it's
+
+00:06:17.480 --> 00:06:20.839
+nice that you managed to find this particular bit of
+
+00:06:20.840 --> 00:06:25.519
+knowledge through experimentation. And also I want to add
+
+00:06:25.520 --> 00:06:30.719
+that if you pick a monospace font like I do, usually there's
+
+00:06:30.720 --> 00:06:37.439
+not a lot of... Creativity? No, that's not the word. It's a
+
+00:06:37.440 --> 00:06:45.639
+lot of personality in the regular font part. But people do
+
+00:06:45.640 --> 00:06:51.799
+put a lot of different things in the italic. So yeah, if you
+
+00:06:51.800 --> 00:06:55.999
+can find a way to utilize the italic face, you could see some
+
+00:06:56.000 --> 00:07:01.239
+interesting results. Yeah, definitely. Again, I think
+
+00:07:01.240 --> 00:07:03.719
+it's important to consider all the things you can play with
+
+00:07:03.720 --> 00:07:06.519
+in terms of contrast. Because at the end of the day, you know,
+
+00:07:06.520 --> 00:07:08.839
+some people are going to be more receptive to a change of font
+
+00:07:08.840 --> 00:07:11.639
+than change of color. You know, just considering the amount
+
+00:07:11.640 --> 00:07:14.439
+of people who are colorblind and who are using software like
+
+00:07:14.440 --> 00:07:19.279
+this. You know, sometimes your vision optimizes for
+
+00:07:19.280 --> 00:07:22.039
+particular kind of changes and some people are going to be
+
+00:07:22.040 --> 00:07:26.279
+more sensitive to a slanted eye than they would be to an eye
+
+00:07:26.280 --> 00:07:31.479
+that is red or an eye that is blue. So, But it's not for
+
+00:07:31.480 --> 00:07:31.999
+everyone.
+
+00:07:32.000 --> 00:07:37.519
+So I'm looking at the time and we have about eight minutes
+
+00:07:37.520 --> 00:07:38.839
+until we go into the next talk.
+
+00:07:38.840 --> 00:07:44.519
+To be frank, I don't think I've got any more questions on my
+
+00:07:44.520 --> 00:07:46.879
+end. I'm not sure if we've got any people on BBB who has joined
+
+00:07:46.880 --> 00:07:49.119
+us and would like to ask a question. Let me check on IRC
+
+00:07:49.120 --> 00:07:53.799
+quickly if we've got any questions coming our way. I don't
+
+00:07:53.800 --> 00:07:57.199
+see any. Do you see any on your end?
+
+00:07:57.200 --> 00:08:06.479
+Not really. Well, then I suggest we just leave it at that and
+
+00:08:06.480 --> 00:08:08.679
+enjoy a little break before the next chat. So, thank you so
+
+00:08:08.680 --> 00:08:11.559
+much Metrowind for coming to EmacsConf and talking about
+
+00:08:11.560 --> 00:08:14.399
+colors because, as you saw, many people are interested
+
+00:08:14.400 --> 00:08:17.199
+about them, so much that another person decided to have a
+
+00:08:17.200 --> 00:08:20.639
+chat about theme. We didn't plan for this, but it's nice to
+
+00:08:20.640 --> 00:08:23.959
+see. And, well, perhaps you could collaborate in the future
+
+00:08:23.960 --> 00:08:26.919
+and both find the mutual confidence that you need to push
+
+00:08:26.920 --> 00:08:29.799
+your stuff to Melpa. Because I did hear that you weren't
+
+00:08:29.800 --> 00:08:33.119
+feeling too confident about your random color theme
+
+00:08:33.120 --> 00:08:37.439
+package. But, you know, you've done the first step, which is
+
+00:08:37.440 --> 00:08:40.559
+talking about it and sharing it with all of us. And perhaps
+
+00:08:40.560 --> 00:08:42.759
+the next step is to actually clean up the code to your
+
+00:08:42.760 --> 00:08:47.959
+satisfaction and publish it eventually. Oh, I can see
+
+00:08:47.960 --> 00:08:53.460
+another question. Should we go to that? Sure.
+
+NOTE Q: Have you ever kept any of the random themes that were thrown up?
+
+00:08:53.461 --> 00:08:54.079
+Have you ever
+
+00:08:54.080 --> 00:08:59.719
+kept any of the random themes that were thrown up? So I assume
+
+00:08:59.720 --> 00:09:05.119
+this is for the Monte Carlo setup. The answer is no. The
+
+00:09:05.120 --> 00:09:09.999
+reason is, like I mentioned, I'm using the randomly picking
+
+00:09:10.000 --> 00:09:15.079
+a theme setup right now. And Monte Carlo is one of them. Now,
+
+00:09:15.080 --> 00:09:18.639
+when Emacs picks Monte Carlo by chance, I wouldn't know
+
+00:09:18.640 --> 00:09:23.239
+about it. So I wouldn't know this is my random theme. That's
+
+00:09:23.240 --> 00:09:28.839
+the reason I never kept any, like, good color schemes
+
+00:09:28.840 --> 00:09:34.959
+generated. So, no. Right, okay. Well, considering we don't
+
+00:09:34.960 --> 00:09:37.359
+have any further questions, what I suggest now is that we'll
+
+00:09:37.360 --> 00:09:40.239
+leave it at that. So, again, Metrowind, thank you so much.
+
+00:09:40.240 --> 00:09:43.079
+Thank you. And hopefully we'll hear more of your themes in
+
+00:09:43.080 --> 00:09:51.120
+the future. Cool. Thanks. All right. Bye bye. Bye bye.
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
new file mode 100644
index 00000000..e8cb84c4
--- /dev/null
+++ b/2024/captions/emacsconf-2024-transducers--transducers-finally-ergonomic-data-processing-for-emacs--colin-woodbury--answers.vtt
@@ -0,0 +1,1032 @@
+WEBVTT chapters by sachac
+
+00:00:00.000 --> 00:00:07.559
+Hopefully the internet goes well. It's a nice Monday
+
+00:00:07.560 --> 00:00:31.999
+morning here in Tokyo.
+
+00:00:32.000 --> 00:00:37.879
+Are we connected all right?
+
+00:00:37.880 --> 00:00:40.879
+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,
+
+00:00:44.520 --> 00:00:49.959
+there we are. Okay. All right. Sorry about that. I got a mute
+
+00:00:49.960 --> 00:00:55.119
+out my, my back office chatter. That's kind of distracting
+
+00:00:55.120 --> 00:00:58.079
+me a little bit. All right. Sorry. I may have lost the plot a
+
+00:00:58.080 --> 00:01:04.919
+little bit. I think I did. However, find the 1st question.
+
+00:01:04.920 --> 00:01:09.919
+I got pretty distracted by conversation backstage. Yeah,
+
+NOTE Q: When I tried comparing transducers.el to cl-lib and dash (benchmark-compiled), I got the following results
+
+00:01:09.920 --> 00:01:15.879
+no problem. So the first question here, someone's asking,
+
+00:01:15.880 --> 00:01:22.279
+when they first tried comparing transducers.el, the cl-lib
+
+00:01:22.280 --> 00:01:27.959
+and Dash bookmark compiled, and they give some detailed
+
+00:01:27.960 --> 00:01:32.479
+results we're sharing on the stream. Um, they expected
+
+00:01:32.480 --> 00:01:36.679
+transducers to be slower than CL loop, but faster than CL lib
+
+00:01:36.680 --> 00:01:41.119
+or dash. However, this isn't the case, any idea why. And so
+
+00:01:41.120 --> 00:01:43.639
+I'll, I'll come back into their data to show there's they're
+
+00:01:43.640 --> 00:01:48.279
+showing, um, you know, there's not a lot of detail on the, on
+
+00:01:48.280 --> 00:01:52.199
+the, on the use case here. We could certainly click through
+
+00:01:52.200 --> 00:02:02.559
+it, do it.
+
+00:02:02.560 --> 00:02:06.999
+Oh, I should've waited to zoom until I find my spot here.
+
+00:02:07.000 --> 00:02:13.639
+There we are.
+
+00:02:13.640 --> 00:02:18.599
+All right, so there's our example.
+
+00:02:18.600 --> 00:02:23.759
+Looks like we are doing a simple map and a sum.
+
+00:02:23.760 --> 00:02:29.239
+Mm-hmm. Yeah, that's right. Yeah, question about
+
+00:02:29.240 --> 00:02:36.279
+performance. So a case like this, a simple, I just want to rip
+
+00:02:36.280 --> 00:02:40.279
+through a collection of numbers and sum them all. That's a
+
+00:02:40.280 --> 00:02:44.679
+case where basically loop is always going to win because
+
+00:02:44.680 --> 00:02:51.319
+loop is optimized. This is true in both Emacs Lisp and in
+
+00:02:51.320 --> 00:02:56.039
+Common Lisp. For a case like this where you're not really
+
+00:02:56.040 --> 00:03:02.399
+doing two nested of chained calls, like you don't have many
+
+00:03:02.400 --> 00:03:05.839
+sort of what I was compositional steps. If you're just
+
+00:03:05.840 --> 00:03:09.999
+ripping through a collection of numbers, loop is always
+
+00:03:10.000 --> 00:03:15.559
+going to win. Transducers kind of shines when you have to do
+
+00:03:15.560 --> 00:03:19.639
+things that loop can't in terms of expressing yourself. So
+
+00:03:19.640 --> 00:03:22.559
+there are lots of different transducers that you can chain
+
+00:03:22.560 --> 00:03:27.079
+together. And in that case, you're kind of prioritizing
+
+00:03:27.080 --> 00:03:33.039
+developer time and developer happiness because you're
+
+00:03:33.040 --> 00:03:36.399
+able to yourself more clearly, whereas sometimes those
+
+00:03:36.400 --> 00:03:40.679
+kind of algorithms can get very hairy if you're just using
+
+00:03:40.680 --> 00:03:45.399
+loop. Now that sounds like I'm moving the goalposts, and
+
+00:03:45.400 --> 00:03:48.639
+there's really no excuse for these things not being as
+
+00:03:48.640 --> 00:03:54.559
+performant as possible. In this specific case, my guess is
+
+00:03:54.560 --> 00:03:57.759
+that the transducers is slower because it has to do a whole
+
+00:03:57.760 --> 00:04:03.239
+bunch of like inner function calls in order to actually do
+
+00:04:03.240 --> 00:04:09.239
+the adding and the collecting. So there's a lot of stuff that
+
+00:04:09.240 --> 00:04:12.119
+just the raw loop doesn't have to do, which transducers
+
+00:04:12.120 --> 00:04:20.439
+does. And so in this case, that's why it would be slower.
+
+00:04:20.440 --> 00:04:29.079
+All right, makes sense.
+
+00:04:29.080 --> 00:04:36.239
+Um... I cannot comment against Dash. And also a reminder
+
+00:04:36.240 --> 00:04:40.159
+that transducers both in CL and in Emacs Lisp here doesn't
+
+00:04:40.160 --> 00:04:44.919
+attempt to do any, you know, fun, you know, inner rewriting
+
+00:04:44.920 --> 00:04:48.239
+or, you know, what's called an Haskell fusion. Like if you
+
+00:04:48.240 --> 00:04:51.359
+have two different map steps, like in a row, it's not gonna
+
+00:04:51.360 --> 00:04:55.159
+see that and somehow fuse them internally. It's a fairly, in
+
+00:04:55.160 --> 00:04:59.679
+that sense, the implementation is just as is.
+
+00:04:59.680 --> 00:05:04.159
+to make it you know as raw fast as possible. The idea being
+
+00:05:04.160 --> 00:05:12.839
+that ergonomics is more important up front. Yeah, that's
+
+00:05:12.840 --> 00:05:17.519
+kind of a whole fascinating sub-panel, right? My theme this
+
+00:05:17.520 --> 00:05:19.799
+conference has been, oh, all these different things we
+
+00:05:19.800 --> 00:05:24.039
+should try to get sub-panels going for and use that. Maybe
+
+00:05:24.040 --> 00:05:29.039
+fill in the dev track or even have a third track or whatever.
+
+00:05:29.040 --> 00:05:31.519
+I'm not that concerned about the logistics of squeezing
+
+00:05:31.520 --> 00:05:38.519
+into the schedule so much. But anyway, interesting, I mean,
+
+00:05:38.520 --> 00:05:40.839
+to say.
+
+NOTE Q: Do you know of any theoretical texts on transducers?
+
+00:05:40.840 --> 00:05:47.799
+Did we already speak to theoretical texts? No, right? No,
+
+00:05:47.800 --> 00:05:53.399
+let's continue. Okay, so another question from the group.
+
+00:05:53.400 --> 00:05:58.879
+Do you know of any theoretical texts on transducers? My
+
+00:05:58.880 --> 00:06:01.959
+readme, particularly of the Common Lisp implementation,
+
+00:06:01.960 --> 00:06:06.159
+is the theoretical text on transducers. Rich Hickey has
+
+00:06:06.160 --> 00:06:10.439
+some YouTube videos which also come close. I mean, he
+
+00:06:10.440 --> 00:06:14.799
+invented the things. But in terms of having a full
+
+00:06:14.800 --> 00:06:21.559
+explanation of everything, it's my readme and it's also
+
+00:06:21.560 --> 00:06:23.319
+the...
+
+00:06:23.320 --> 00:06:28.559
+The info manual of Guile Scheme, their documentation on
+
+00:06:28.560 --> 00:06:34.199
+Surfy 171 is what I used to learn transducers and to
+
+00:06:34.200 --> 00:06:38.399
+re-implement them in other LISPs. So if you just want like a
+
+00:06:38.400 --> 00:06:41.639
+document explaining them, MyReadMe is actually the
+
+00:06:41.640 --> 00:06:46.959
+clearest that I've found. Awesome. Okay, next question.
+
+00:06:46.960 --> 00:06:50.119
+And I'm sorry, you gave a name, you referred to somebody's
+
+00:06:50.120 --> 00:06:55.439
+videos. Rich Hickey, the inventor of Clojure. Rich Hickey,
+
+00:06:55.440 --> 00:07:00.399
+thank you. Hope I got the spelling right, and maybe somebody
+
+00:07:00.400 --> 00:07:04.719
+can catch that and fix it. If not, I'll reach on. Thank you.
+
+NOTE Q: Did you think about [compiler features, macros] viz your cl, fennel, elisp, porting of your transducers?
+
+00:07:04.720 --> 00:07:08.239
+Reach on to the next question. Waters (Lazy Series in
+
+00:07:08.240 --> 00:07:12.799
+Lisp, late 70s) said this should have been done as an
+
+00:07:12.800 --> 00:07:16.799
+additional compiler feature in compilers, but if not, must
+
+00:07:16.800 --> 00:07:21.439
+be a macro package. Do you think about that vis your CL,
+
+00:07:21.440 --> 00:07:27.519
+Fennel, Elisp, porting of transducers? I think that
+
+00:07:27.520 --> 00:07:28.519
+there's definitely
+
+00:07:28.520 --> 00:07:36.519
+some Galaxy Brain Lisp author out there is probably smart
+
+00:07:36.520 --> 00:07:40.599
+enough to turn a bunch of this stuff into macros. I believe
+
+00:07:40.600 --> 00:07:47.119
+that's how the common Lisp library series works. It sees
+
+00:07:47.120 --> 00:07:52.079
+that you were calling map or whatever, and it actually knows
+
+00:07:52.080 --> 00:07:56.639
+that that's a special macro key. in order to be fast. I did not
+
+00:07:56.640 --> 00:08:01.839
+do that. The implementation as I have it is very simple and
+
+00:08:01.840 --> 00:08:05.759
+simplicity shouldn't be underestimated.
+
+00:08:05.760 --> 00:08:13.559
+I love it. What a nice succinct answer. Even I can manage to
+
+00:08:13.560 --> 00:08:16.578
+type that out as I scroll us to the next question.
+
+NOTE Q: Does t-buffer-read provide a lazy stream that's linewise, or charwise, or do something else entirely?
+
+00:08:16.579 --> 00:08:24.079
+So, does t-buffer-read provide a lazy stream
+
+00:08:24.080 --> 00:08:28.359
+that's line-wise or character-wise or do something else
+
+00:08:28.360 --> 00:08:29.018
+entirely?
+
+00:08:29.019 --> 00:08:31.587
+Okay, there are two functions. I showed
+
+00:08:31.588 --> 00:08:35.073
+t-buffer-read. There's also one called t-file-read,
+
+00:08:35.074 --> 00:08:38.682
+which does that. You actually have the buffer open,
+
+00:08:38.683 --> 00:08:40.239
+it's much more clever.
+
+00:08:40.240 --> 00:08:45.999
+t-buffer-read, I believe, is simpler. As long as you have an
+
+00:08:46.000 --> 00:08:52.079
+Emacs list, what is called the current buffer active. I'm
+
+00:08:52.080 --> 00:08:56.679
+fairly sure you're able to just call next-line on it. I don't
+
+00:08:56.680 --> 00:08:59.479
+believe that I'm doing anything fancy there, looking for
+
+00:08:59.480 --> 00:09:03.999
+line ends. I believe I'm just grabbing the next line and then
+
+00:09:04.000 --> 00:09:09.423
+processing that line-wise. Very good.
+
+NOTE Q: Can the Elisp library be combined with the stream.el API or seq in general?
+
+00:09:09.424 --> 00:09:17.303
+Can the Elisp library be combined with the stream.el API
+
+00:09:17.304 --> 00:09:22.830
+or seq in general? I would say that these libraries
+
+00:09:22.831 --> 00:09:27.596
+are completely orthogonal. You saw that everything
+
+00:09:27.597 --> 00:09:29.279
+was prefixed by t-.
+
+00:09:29.280 --> 00:09:36.879
+Basically, transducer is its own zone. However, one thing
+
+00:09:36.880 --> 00:09:40.239
+that I do in the common lisp, which is theoretically
+
+00:09:40.240 --> 00:09:44.359
+possible for the Emacs Lisp as well, is kind of like little
+
+00:09:44.360 --> 00:09:48.919
+shim libraries. So I provide, at least for Common Lisp, for a
+
+00:09:48.920 --> 00:09:51.799
+number of, you know, popular sort of third-party
+
+00:09:51.800 --> 00:09:55.239
+collection types, I provide an ability to use them as
+
+00:09:55.240 --> 00:09:59.559
+sources. Maybe that's what you mean. Like
+
+00:09:59.560 --> 00:10:04.439
+the built-in containers for Emacs Lisp are already
+
+00:10:04.440 --> 00:10:06.519
+supported. So, you know, a vector hash table and so on.
+
+00:10:06.520 --> 00:10:13.719
+make sense so i think what i heard there is yeah go ahead
+
+00:10:13.720 --> 00:10:17.879
+please sorry in terms of mixing like you know like for
+
+00:10:17.880 --> 00:10:22.599
+instance you know like seq-map used in transducers
+
+00:10:22.600 --> 00:10:28.119
+we'll put it that way
+
+00:10:28.120 --> 00:10:31.879
+i was just gonna say i think it um it it sounds like you're
+
+00:10:31.880 --> 00:10:37.199
+saying Yeah, probably they are actually. We don't know yet
+
+00:10:37.200 --> 00:10:41.239
+about any places where they don't play nicely together. So
+
+00:10:41.240 --> 00:10:45.399
+quite possibly so. We can use sequence and transducers
+
+00:10:45.400 --> 00:10:49.959
+together, for example. As a source potentially, yeah. It's
+
+00:10:49.960 --> 00:10:54.159
+very easy because that just uses defgeneric. As long as you
+
+00:10:54.160 --> 00:10:57.719
+have a new, like if you have a new collection type, as long as
+
+00:10:57.720 --> 00:11:01.519
+you implement a def method for it somewhere, it'll just
+
+00:11:01.520 --> 00:11:12.159
+magically work with this library. That's the magic of...
+
+00:11:12.160 --> 00:11:18.439
+Yeah, as an Emacs user enjoying, you know, sort of the
+
+00:11:18.440 --> 00:11:21.959
+renaissance of new features it's had, or sorry, Emacs ERC
+
+00:11:21.960 --> 00:11:27.799
+user for chat. I've seen a lot of awesome stuff get done in the
+
+00:11:27.800 --> 00:11:32.119
+last couple of years with generic set. JP never was working
+
+00:11:32.120 --> 00:11:36.679
+on that. And like, that's just making me my eyes pop and go,
+
+00:11:36.680 --> 00:11:39.279
+wow, that does make a whole lot of things simpler, doesn't
+
+00:11:39.280 --> 00:11:44.279
+it? I think we're a lot of us running into generics and how
+
+00:11:44.280 --> 00:11:47.542
+that solves problems in Emacs.
+
+NOTE Q: How does one debug a t-comp expression? Can you single step and see intermediate results of the different statements you declare?
+
+00:11:47.543 --> 00:11:50.279
+How does one debug a t-comp
+
+00:11:50.280 --> 00:11:55.119
+expression? Can you talk in terms of single step,
+
+00:11:55.120 --> 00:11:58.479
+step-by-step, intermediate results of the different
+
+00:11:58.480 --> 00:12:08.759
+statements you declare? Yes. So in Common Lisp, this is
+
+00:12:08.760 --> 00:12:12.919
+and sly stickers and things like that. In Emacs Lisp, it's a
+
+00:12:12.920 --> 00:12:19.559
+little bit, shall we say, more difficult. For step
+
+00:12:19.560 --> 00:12:20.479
+debugging,
+
+00:12:20.480 --> 00:12:25.679
+so what comp does is comp internally, it should be a macro,
+
+00:12:25.680 --> 00:12:28.839
+but currently it's not, although there's work to improve
+
+00:12:28.840 --> 00:12:33.559
+that. It's doing an internal reduce and it's turning into
+
+00:12:33.560 --> 00:12:37.479
+one giant kind of composed lambda inside. So I don't know if
+
+00:12:37.480 --> 00:12:42.999
+step debugging would work there. However, we do have one
+
+00:12:43.000 --> 00:12:47.439
+function called log, which lets you inspect intermediate
+
+00:12:47.440 --> 00:12:50.759
+results. So you could technically use that to inject
+
+00:12:50.760 --> 00:12:54.279
+yourself somewhere into the transduction chain and, you
+
+00:12:54.280 --> 00:12:57.239
+know, halt or, you know, inspect the current value, et
+
+00:12:57.240 --> 00:13:01.119
+cetera. So you get a bunch of questions lined up. I think
+
+00:13:01.120 --> 00:13:04.199
+we're coming up, uh, within our last five minutes, uh,
+
+00:13:04.200 --> 00:13:07.919
+before some declared, uh, reset time that we have
+
+00:13:07.920 --> 00:13:11.919
+internally to just roll our closing credits, so to speak.
+
+00:13:11.920 --> 00:13:14.839
+Um, not that I would want to cut the question and answer
+
+00:13:14.840 --> 00:13:18.399
+short, but I might have to step away personally. But, um, as
+
+00:13:18.400 --> 00:13:21.519
+we discussed before, you can just kind of run the QA, however
+
+00:13:21.520 --> 00:13:24.879
+you want here. Um, or, or take questions offline if you'd
+
+00:13:24.880 --> 00:13:27.999
+like to answer them off the pad. And I just want to say one more
+
+00:13:28.000 --> 00:13:30.959
+time. Kitt said it managed later. Thanks again for your talk
+
+00:13:30.960 --> 00:13:35.759
+for dedicating the time to this live QA. And I think we can see
+
+00:13:35.760 --> 00:13:40.279
+by the many questions that are here. So I'll try to kind of
+
+00:13:40.280 --> 00:13:42.959
+flip us through as many of them as I can with our last couple of
+
+00:13:42.960 --> 00:13:48.399
+minutes, if that sounds good. Alternately, this might be a
+
+00:13:48.400 --> 00:13:52.079
+good time if you have kind of wrap it up, final thoughts, as
+
+00:13:52.080 --> 00:13:58.399
+Leo Sopanda saying. By all means, have at. Sure, thanks a
+
+00:13:58.400 --> 00:14:01.639
+lot. I'd say that if you are still curious, check out the
+
+00:14:01.640 --> 00:14:05.159
+read-me's because those have a lot of information,
+
+00:14:05.160 --> 00:14:09.519
+including a full description of the API and everything
+
+00:14:09.520 --> 00:14:10.719
+that's available.
+
+00:14:10.720 --> 00:14:16.599
+Otherwise, just give them a shot. Using these things is the
+
+00:14:16.600 --> 00:14:21.639
+best way to learn them, of course. I use them everywhere,
+
+00:14:21.640 --> 00:14:24.719
+basically, all across my Emacs list and all across my common
+
+00:14:24.720 --> 00:14:29.839
+list now. They get a lot of mileage. All right. You're
+
+00:14:29.840 --> 00:14:33.639
+speaking our language now. As Emacs users, all our ears poke
+
+00:14:33.640 --> 00:14:36.039
+up when you say, I'm getting a lot of mileage. I'm using it
+
+00:14:36.040 --> 00:14:39.879
+across everything. Every Emacs user has a story that
+
+00:14:39.880 --> 00:14:42.494
+harmonizes with that, I think.
+
+NOTE 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?
+
+00:14:42.495 --> 00:14:44.519
+So our next question, is
+
+00:14:44.520 --> 00:14:48.599
+there a path for transducers to enable Elisp processing or
+
+00:14:48.600 --> 00:14:53.999
+otherwise overly large data sets as if just normal Emacs
+
+00:14:54.000 --> 00:14:56.959
+buffers, i.e. just pulling one thing at a time. So
+
+00:14:56.960 --> 00:15:00.719
+essentially stream like under the hood, but buffer like an
+
+00:15:00.720 --> 00:15:03.519
+interface. I think that makes sense to me. with none of the
+
+00:15:03.520 --> 00:15:07.799
+usual performance issues, like as if, you know, the history
+
+00:15:07.800 --> 00:15:11.399
+with long files is what that brings to mind, I guess. Yes, so
+
+00:15:11.400 --> 00:15:15.799
+as you saw before, the withBufferRead sort of stream
+
+00:15:15.800 --> 00:15:19.879
+function does have to have the actual buffer in memory, and
+
+00:15:19.880 --> 00:15:22.679
+then you can go really fast. But there's another one with
+
+00:15:22.680 --> 00:15:26.839
+file read. Now, again, I haven't tried to optimize that yet.
+
+00:15:26.840 --> 00:15:30.119
+But in theory, it is able to read right from the underlying
+
+00:15:30.120 --> 00:15:32.839
+file without having to open it as a buffer first.
+
+00:15:32.840 --> 00:15:39.199
+Awesome. Ari, the performance issues mentioned, and that
+
+00:15:39.200 --> 00:15:43.479
+popped up recently in the list and forums, to what extent
+
+00:15:43.480 --> 00:15:46.959
+does tail call optimization and other mechanisms like
+
+00:15:46.960 --> 00:15:50.159
+inlining, garbage collection friendliness, and so on,
+
+00:15:50.160 --> 00:15:55.159
+could these alleviate issues, enable their use at little to
+
+00:15:55.160 --> 00:15:58.439
+no extra costs? I feel like we're leading the witness here,
+
+00:15:58.440 --> 00:16:01.279
+but I'm sure you see where we're going. Yeah, no problem. So
+
+00:16:01.280 --> 00:16:03.799
+in terms of tail optimization, that's already happening
+
+00:16:03.800 --> 00:16:09.199
+because the internal loop mechanism is using CL labels. And
+
+00:16:09.200 --> 00:16:12.199
+in Emacs Lisp, CL labels is just a macro that is like
+
+00:16:12.200 --> 00:16:16.079
+extremely tail recursive. So that's very, very fast. It's
+
+00:16:16.080 --> 00:16:19.039
+not tail recursive, but it's using like goto. So it's
+
+00:16:19.040 --> 00:16:22.519
+extremely, extremely fast, like the raw looping of it. So,
+
+00:16:22.520 --> 00:16:24.359
+okay, well then where does the slowness come from? It's
+
+00:16:24.360 --> 00:16:26.439
+probably coming from those lambdas and it's probably
+
+00:16:26.440 --> 00:16:32.399
+coming from, uh, like extra consing, extra allocation
+
+00:16:32.400 --> 00:16:35.999
+somewhere, which is, um, sort of what you were, what you're
+
+00:16:36.000 --> 00:16:38.519
+referring to with the GC friendliness. So perhaps there's
+
+00:16:38.520 --> 00:16:45.199
+some, um, um, yeah, some, like some fusion that I can do to
+
+00:16:45.200 --> 00:16:51.199
+speed it up. Yeah, that just sounds fascinating endlessly.
+
+NOTE Q: Is there an option to read a csv/json and produce an alist or plist instead of a hash table for an entry?
+
+00:16:51.200 --> 00:16:55.559
+Are there options to like read from a CSV, JSON, produce an
+
+00:16:55.560 --> 00:17:01.679
+alist or plist instead of hash table? Absolutely.
+
+00:17:01.680 --> 00:17:06.239
+Yes, I need to double check that, but we can read both CSV and
+
+00:17:06.240 --> 00:17:10.359
+JSON, and you should be able to just turn on the plist option.
+
+00:17:10.360 --> 00:17:14.159
+I will double check, but there's fairly free conversion
+
+00:17:14.160 --> 00:17:18.039
+between those three types because hash table is not always
+
+00:17:18.040 --> 00:17:22.039
+what you want. And actually, I suspect that slowness that we
+
+00:17:22.040 --> 00:17:24.559
+saw in the demo before was because it was allocating hash
+
+00:17:24.560 --> 00:17:29.239
+tables for every, like, all of the 50,000 lines. And had it
+
+00:17:29.240 --> 00:17:32.599
+been a plist, it would have been faster. Interesting, so
+
+00:17:32.600 --> 00:17:35.399
+maybe there's opportunities even if you end up with hash
+
+00:17:35.400 --> 00:17:38.799
+lists, but then they're shared strategically and you pay
+
+00:17:38.800 --> 00:17:42.039
+the cost of a little extra layer in there that buckets them
+
+00:17:42.040 --> 00:17:46.439
+together the way that we might group files by the first four
+
+00:17:46.440 --> 00:17:50.519
+characters in the file name once we've got a million files.
+
+NOTE Q: Is the common lisp version ready for 'production' use? Is it complete enough and the API stable enough?
+
+00:17:50.520 --> 00:17:54.479
+Anyway, is the Common Lisp version ready for production
+
+00:17:54.480 --> 00:17:59.959
+use? Do you want to comment on API stability? I use it all the
+
+00:17:59.960 --> 00:18:04.159
+time. I'm writing a game in Common Lisp right now, and I'm
+
+00:18:04.160 --> 00:18:08.559
+using transducers everywhere in there, and it doesn't even
+
+00:18:08.560 --> 00:18:11.119
+make a dent in the frame rate, and I'm using them
+
+00:18:11.120 --> 00:18:15.359
+extensively. Okay, well, I'll just read from chat. Thanks
+
+00:18:15.360 --> 00:18:17.476
+so much for the answers.
+
+NOTE 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?
+
+00:18:17.477 --> 00:18:20.439
+Do we need a pre-written or t-minus
+
+00:18:20.440 --> 00:18:24.959
+version for every already existing reducing function,
+
+00:18:24.960 --> 00:18:30.239
+plus, as an example? Or is there a function that constructs,
+
+00:18:30.240 --> 00:18:33.559
+in my, I'm going to add the word, auto-visualifies them
+
+00:18:33.560 --> 00:18:37.319
+already, auto-defines or something, or just generically
+
+00:18:37.320 --> 00:18:42.239
+wraps function calls some way? already defined. This is
+
+00:18:42.240 --> 00:18:49.399
+basically fold. Some built-in functions like plus already
+
+00:18:49.400 --> 00:18:52.599
+function like reducers. It's a coincidence that they do
+
+00:18:52.600 --> 00:18:56.799
+that. But there's an example in the README. Max is one that
+
+00:18:56.800 --> 00:19:00.559
+does not act like that. For instance, maybe I could screen
+
+00:19:00.560 --> 00:19:06.479
+share later, but if you just type in plus one, If you call plus
+
+00:19:06.480 --> 00:19:10.519
+one in Emacs or Common Lisp, you get back one. It actually
+
+00:19:10.520 --> 00:19:15.119
+only needs one argument. If you only type plus, it actually
+
+00:19:15.120 --> 00:19:20.839
+gives you zero. Plus and multiple satisfy the API of
+
+00:19:20.840 --> 00:19:24.759
+reducers. But if you have one that doesn't, like the max
+
+00:19:24.760 --> 00:19:28.759
+function, and similarly, just type in plus as a function
+
+00:19:28.760 --> 00:19:32.359
+call, just plus with nothing else, and you'll see. No, as a
+
+00:19:32.360 --> 00:19:37.199
+function. zero will come out. This basically means it
+
+00:19:37.200 --> 00:19:43.159
+satisfies the reducer API. But a function like max does not.
+
+00:19:43.160 --> 00:19:48.399
+If you just type in max and then one, it won't work. Pardon me,
+
+00:19:48.400 --> 00:19:54.239
+it did. But if you type in max with nothing else, it wouldn't
+
+00:19:54.240 --> 00:19:55.239
+work.
+
+00:19:55.240 --> 00:19:58.599
+Hence, we have to wrap it in something like fold. I would say
+
+00:19:58.600 --> 00:20:01.919
+go look at the fold function. Right, which that I won't do.
+
+00:20:01.920 --> 00:20:04.839
+I'm not that well enough prepped. Darn it. Leo would have
+
+00:20:04.840 --> 00:20:08.399
+been here, but oh, well, you got me. Yeah, no problem. But
+
+00:20:08.400 --> 00:20:16.879
+fold is sort of the ultimate reducer function. Great. So is
+
+00:20:16.880 --> 00:20:26.319
+there, where was I? Here we go. We're way past this, right? So
+
+NOTE Q: Is the compelling argument for transducers is that it's a better abstraction?
+
+00:20:26.320 --> 00:20:34.279
+is the compiling argument for transducers that it's a
+
+00:20:34.280 --> 00:20:38.879
+better abstraction? It seems like there are concerns,
+
+00:20:38.880 --> 00:20:42.399
+objections, while problematically valid focused on
+
+00:20:42.400 --> 00:20:45.679
+implementation. Can this abstraction allow for advances
+
+00:20:45.680 --> 00:20:50.559
+in implementation? Yes, what I've basically done is mostly
+
+00:20:50.560 --> 00:20:55.999
+followed the pattern of usage that exists in Clojure and in
+
+00:20:56.000 --> 00:21:01.159
+Scheme's SERP 171. In theory, the service level API is the
+
+00:21:01.160 --> 00:21:04.999
+same no matter where you're using this, and that's the idea.
+
+00:21:05.000 --> 00:21:08.039
+If you learn them in one list, you should be able to use them
+
+00:21:08.040 --> 00:21:12.879
+everywhere. Then what it's actually doing under the hood is
+
+00:21:12.880 --> 00:21:18.359
+free for us to change around. My implementations are mostly
+
+00:21:18.360 --> 00:21:23.679
+based on the scheme with a few alterations here and there.
+
+00:21:23.680 --> 00:21:27.079
+And in the Common Lisp case, like adding some Common Lisp
+
+00:21:27.080 --> 00:21:27.959
+isms
+
+00:21:27.960 --> 00:21:34.759
+to improve usage like UX a little bit. But overall, we are
+
+00:21:34.760 --> 00:21:38.959
+free to do whatever we want internally to speed up
+
+00:21:38.960 --> 00:21:42.439
+performance. I just haven't done that work. Awesome.
+
+00:21:42.440 --> 00:21:47.239
+Awesome. So here's where I have to, where we're getting the
+
+00:21:47.240 --> 00:21:50.079
+hook. We've just been pulled off the stream. The viewers
+
+00:21:50.080 --> 00:21:54.079
+just saw the crawl by as it sent us over to the other pad where I
+
+00:21:54.080 --> 00:21:57.919
+get to jump on and get involved with that now. But I can't
+
+00:21:57.920 --> 00:22:00.359
+thank you enough, Colin. Would you like me to stop the
+
+00:22:00.360 --> 00:22:03.799
+recording here? Any other comments you'd like to make? Uh,
+
+00:22:03.800 --> 00:22:06.439
+yeah, sure. Like, I mean, I'll stick around for any more live
+
+00:22:06.440 --> 00:22:10.639
+questions. I'm looking at both IRC and, and, um, uh, big blue
+
+00:22:10.640 --> 00:22:13.239
+button here. So if people have more questions, I'll hang
+
+00:22:13.240 --> 00:22:15.959
+around for a bit. I'm going to leave the channel open. I see
+
+00:22:15.960 --> 00:22:17.839
+you do have a few people in here, so I'm just going to go ahead
+
+00:22:17.840 --> 00:22:20.839
+and leave the recording. We can always trim it. Um, trim it
+
+00:22:20.840 --> 00:22:24.279
+up. If you, uh, let us know, Hey, the last 10 minutes weren't
+
+00:22:24.280 --> 00:22:26.999
+anything, you know, or whatever. No, no pressure, no
+
+00:22:27.000 --> 00:22:29.839
+worries, no mistakes. Thank you. Really appreciate you.
+
+00:22:29.840 --> 00:22:31.959
+Yep. Thanks a lot.
+
+NOTE 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?
+
+00:22:31.960 --> 00:22:48.399
+OK, does anyone else have some questions? I see Mohsen in the
+
+00:22:48.400 --> 00:22:52.839
+BigBlueButton chat is asking how I made the video. So the
+
+00:22:52.840 --> 00:22:59.079
+presentation itself was done with RevealJS from Org Mode.
+
+00:22:59.080 --> 00:23:03.639
+So as you saw, I had a raw Org Mode buffer, which was
+
+00:23:03.640 --> 00:23:09.319
+which was the presentation itself, which I then just
+
+00:23:09.320 --> 00:23:11.759
+exported with a few certain settings, a few
+
+00:23:11.760 --> 00:23:15.919
+customizations. And then for screen recording, I used OBS,
+
+00:23:15.920 --> 00:23:19.719
+which worked flawlessly on Arch Linux. I used Sway,
+
+00:23:19.720 --> 00:23:23.159
+Wayland, and all of that. So all of that just worked, which
+
+00:23:23.160 --> 00:23:27.999
+was very impressive. Where do the HTML host the
+
+00:23:28.000 --> 00:23:51.959
+presentation? I don't have that presentation hosted
+
+00:23:51.960 --> 00:23:52.599
+anywhere.
+
+00:23:52.600 --> 00:23:59.119
+I'll look at the.
+
+00:23:59.120 --> 00:24:00.079
+I don't see that.
+
+00:24:00.080 --> 00:24:08.159
+Here it is. So we've got the file here as well.
+
+00:24:08.160 --> 00:24:10.999
+Looks like that's it for questions, basically.
+
+00:24:11.000 --> 00:24:14.919
+Yep, and it looks like everyone's moved on for now. Let's
+
+00:24:14.920 --> 00:24:20.159
+see. I mean, it would be so this is answering lounge 81 on IRC.
+
+NOTE 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?
+
+00:24:20.160 --> 00:24:24.599
+Yeah, like, if we really wanted to go that hardcore, maybe
+
+00:24:24.600 --> 00:24:29.439
+there's some like C level stuff that we could
+
+00:24:29.440 --> 00:24:36.119
+you know, significant demand for such a thing. You know, so
+
+00:24:36.120 --> 00:24:39.239
+far there hasn't been such demand, but maybe there will be in
+
+00:24:39.240 --> 00:24:42.519
+the future. Yeah, perhaps there's some custom stuff we
+
+00:24:42.520 --> 00:24:43.039
+could do.
+
+00:24:43.040 --> 00:24:48.599
+And otherwise, magic one.
+
+00:24:48.600 --> 00:25:00.599
+Well, it looks like some people are quite happy with this.
+
+00:25:00.600 --> 00:25:14.959
+All right. That's about what I've seen. So why don't we end it
+
+00:25:14.960 --> 00:25:19.839
+here? I think I can control the recording from my end. If I
+
+00:25:19.840 --> 00:25:23.800
+pause it, will that work? All right. Thank you, everyone.
diff --git a/2024/draft-schedule.md b/2024/draft-schedule.md
index 8d74af98..41ef8291 100644
--- a/2024/draft-schedule.md
+++ b/2024/draft-schedule.md
@@ -6,46 +6,46 @@ Jump to: <a href="#date-2024-12-07">Sat Dec 7</a> - <a href="#date-2024-12-08">S
[[!inline pages="internal(2024/schedule-2024-12-07)" raw="yes"]]
<div class="schedule" data-start="2024-12-07T14:00:00+0000" data-end="2024-12-07T22:30:00+0000" data-tracks="General,Development">
-[[!template id=sched time="""10""" q-and-a="""<a href="https://pad.emacsconf.org/2024-sat-open">Etherpad</a>""" pad="""https://pad.emacsconf.org/2024-sat-open""" startutc="""2024-12-07T14:00:00+0000""" endutc="""2024-12-07T14:10:00+0000""" start="""9:00""" end="""9:10""" title="""Saturday opening remarks""" url="""/2024/talks/sat-open""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""sat-open""" note="""video posted, video: 04:50"""]]
-[[!template id=sched time="""10""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-papers.html">BBB</a>""" pad="""https://pad.emacsconf.org/2024-papers""" startutc="""2024-12-07T14:10:00+0000""" endutc="""2024-12-07T14:20:00+0000""" start="""9:10""" end="""9:20""" title="""Writing academic papers in Org-Roam""" url="""/2024/talks/papers""" speakers="""Vincent Conus""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""papers""" note="""captioned, video posted, Q&A posted, video: 10:07, answers: 19:01"""]]
-[[!template id=sched time="""20""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-project.html">BBB</a>""" pad="""https://pad.emacsconf.org/2024-project""" startutc="""2024-12-07T14:40:00+0000""" endutc="""2024-12-07T15:00:00+0000""" start="""9:40""" end="""10:00""" title="""Managing writing project metadata with org-mode""" url="""/2024/talks/project""" speakers="""Blaine Mooers""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""project""" note="""captioned, video posted, Q&A posted, video: 21:38, answers: 1:02:41"""]]
-[[!template id=sched time="""20""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-gypsum.html">BBB</a>""" pad="""https://pad.emacsconf.org/2024-gypsum""" startutc="""2024-12-07T15:00:00+0000""" endutc="""2024-12-07T15:20:00+0000""" start="""10:00""" end="""10:20""" title="""Gypsum: my clone of Emacs and ELisp written in Scheme""" url="""/2024/talks/gypsum""" speakers="""Ramin Honary""" track="""Development""" watch="""https://emacsconf.org/2024/watch/dev""" slug="""gypsum""" note="""captioned, video posted, Q&A posted, video: 24:36, answers: 23:38"""]]
-[[!template id=sched time="""40""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-org-update.html">BBB</a>""" pad="""https://pad.emacsconf.org/2024-org-update""" startutc="""2024-12-07T15:20:00+0000""" endutc="""2024-12-07T16:00:00+0000""" start="""10:20""" end="""11:00""" title="""The Future of Org""" url="""/2024/talks/org-update""" speakers="""Ihor Radchenko""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""org-update""" note="""captioned, video posted, Q&A posted, video: 39:35, answers: 30:39"""]]
-[[!template id=sched time="""20""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-rust.html">BBB</a>""" pad="""https://pad.emacsconf.org/2024-rust""" startutc="""2024-12-07T15:40:00+0000""" endutc="""2024-12-07T16:00:00+0000""" start="""10:40""" end="""11:00""" title="""An experimental Emacs core in Rust""" url="""/2024/talks/rust""" speakers="""Troy Hinckley""" track="""Development""" watch="""https://emacsconf.org/2024/watch/dev""" slug="""rust""" note="""captioned, video posted, Q&A posted, video: 20:06, answers: 19:15"""]]
-[[!template id=sched time="""10""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-color.html">BBB</a>""" pad="""https://pad.emacsconf.org/2024-color""" startutc="""2024-12-07T16:20:00+0000""" endutc="""2024-12-07T16:30:00+0000""" start="""11:20""" end="""11:30""" title="""Colour your Emacs with ease""" url="""/2024/talks/color""" speakers="""Ryota Sawada""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""color""" note="""captioned, video posted, Q&A posted, video: 11:48, answers: 14:31"""]]
-[[!template id=sched time="""25""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-p-search.html">BBB</a>""" pad="""https://pad.emacsconf.org/2024-p-search""" startutc="""2024-12-07T16:20:00+0000""" endutc="""2024-12-07T16:45:00+0000""" start="""11:20""" end="""11:45""" title="""p-search: a local search engine in Emacs""" url="""/2024/talks/p-search""" speakers="""Zac Romero""" track="""Development""" watch="""https://emacsconf.org/2024/watch/dev""" slug="""p-search""" note="""captioned, video posted, Q&A posted, video: 22:42"""]]
-[[!template id=sched time="""10""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-julia.html">BBB</a>""" pad="""https://pad.emacsconf.org/2024-julia""" startutc="""2024-12-07T18:00:00+0000""" endutc="""2024-12-07T18:10:00+0000""" start="""1:00""" end="""1:10""" title="""Exploring shared philosophies in Julia and Emacs""" url="""/2024/talks/julia""" speakers="""Gabriele Bozzola""" track="""Development""" watch="""https://emacsconf.org/2024/watch/dev""" slug="""julia""" note="""captioned, video posted, Q&A posted, video: 09:17"""]]
-[[!template id=sched time="""10""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-theme.html">BBB</a>""" pad="""https://pad.emacsconf.org/2024-theme""" startutc="""2024-12-07T18:00:00+0000""" endutc="""2024-12-07T18:10:00+0000""" start="""1:00""" end="""1:10""" title="""My journey of finding and creating the “perfect” Emacs theme""" url="""/2024/talks/theme""" speakers="""MetroWind""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""theme""" note="""captioned, video posted, Q&A posted, video: 11:28, answers: 09:51"""]]
-[[!template id=sched time="""20""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-guile.html">BBB</a>""" pad="""https://pad.emacsconf.org/2024-guile""" startutc="""2024-12-07T18:25:00+0000""" endutc="""2024-12-07T18:45:00+0000""" start="""1:25""" end="""1:45""" title="""Beguiling Emacs: Guile-Emacs relaunched!""" url="""/2024/talks/guile""" speakers="""Robin Templeton""" track="""Development""" watch="""https://emacsconf.org/2024/watch/dev""" slug="""guile""" note="""captioned, video posted, Q&A posted, video: 15:57"""]]
-[[!template id=sched time="""15""" q-and-a="""<a href="https://chat.emacsconf.org/?join=emacsconf">#emacsconf, speaker nick: lispmacs</a>""" pad="""https://pad.emacsconf.org/2024-water""" startutc="""2024-12-07T18:30:00+0000""" endutc="""2024-12-07T18:45:00+0000""" start="""1:30""" end="""1:45""" title="""Watering my (digital) plant with Emacs timers""" url="""/2024/talks/water""" speakers="""Christopher Howard""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""water""" note="""captioned, video posted, video: 13:50"""]]
-[[!template id=sched time="""10""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-secrets.html">BBB</a>""" pad="""https://pad.emacsconf.org/2024-secrets""" startutc="""2024-12-07T18:55:00+0000""" endutc="""2024-12-07T19:05:00+0000""" start="""1:55""" end="""2:05""" title="""Committing secrets with git using sops-mode""" url="""/2024/talks/secrets""" speakers="""Jonathan Otsuka""" track="""Development""" watch="""https://emacsconf.org/2024/watch/dev""" slug="""secrets""" note="""video posted, video: 14:57"""]]
-[[!template id=sched time="""40""" q-and-a="""<a href="https://chat.emacsconf.org/?join=emacsconf">#emacsconf, speaker nick: lispmacs</a>""" pad="""https://pad.emacsconf.org/2024-shell""" startutc="""2024-12-07T18:55:00+0000""" endutc="""2024-12-07T19:35:00+0000""" start="""1:55""" end="""2:35""" title="""Emacs as a shell""" url="""/2024/talks/shell""" speakers="""Christopher Howard""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""shell""" note="""captioned, video posted, video: 37:13"""]]
-[[!template id=sched time="""60""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-mcclim.html">BBB</a>""" pad="""https://pad.emacsconf.org/2024-mcclim""" startutc="""2024-12-07T19:25:00+0000""" endutc="""2024-12-07T20:25:00+0000""" start="""2:25""" end="""3:25""" title="""Elisp and McCLIM""" url="""/2024/talks/mcclim""" speakers="""screwlisp""" track="""Development""" watch="""https://emacsconf.org/2024/watch/dev""" slug="""mcclim""" note="""captioned, video posted, Q&A posted, video: 34:29"""]]
-[[!template id=sched time="""20""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-casual.html">BBB</a>""" pad="""https://pad.emacsconf.org/2024-casual""" startutc="""2024-12-07T19:45:00+0000""" endutc="""2024-12-07T20:05:00+0000""" start="""2:45""" end="""3:05""" title="""Re-imagining the Emacs user experience with Casual Suite""" url="""/2024/talks/casual""" speakers="""Charles Choi""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""casual""" note="""captioned, video posted, Q&A posted, video: 18:24, answers: 22:12"""]]
-[[!template id=sched time="""20""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-hyperdrive.html">BBB</a>""" pad="""https://pad.emacsconf.org/2024-hyperdrive""" startutc="""2024-12-07T20:25:00+0000""" endutc="""2024-12-07T20:45:00+0000""" start="""3:25""" end="""3:45""" title="""New in hyperdrive.el: quick install, peer graph, transclusion!""" url="""/2024/talks/hyperdrive""" speakers="""Joseph Turner""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""hyperdrive""" note="""captioned, video posted, Q&A posted, video: 20:25, answers: 22:34"""]]
-[[!template id=sched time="""40""" q-and-a="""<a href="https://pad.emacsconf.org/2024-maxima">Etherpad</a>""" pad="""https://pad.emacsconf.org/2024-maxima""" startutc="""2024-12-07T20:45:00+0000""" endutc="""2024-12-07T21:05:00+0000""" start="""3:45""" end="""4:05""" title="""Emacs, eev, and Maxima - now!""" url="""/2024/talks/maxima""" speakers="""Eduardo Ochs""" track="""Development""" watch="""https://emacsconf.org/2024/watch/dev""" slug="""maxima""" note="""captioned, video posted, Q&A posted, video: 30:34"""]]
-[[!template id=sched time="""10""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-writing.html">BBB</a>""" pad="""https://pad.emacsconf.org/2024-writing""" startutc="""2024-12-07T21:05:00+0000""" endutc="""2024-12-07T21:15:00+0000""" start="""4:05""" end="""4:15""" title="""Emacs Writing Studio""" url="""/2024/talks/writing""" speakers="""Peter Prevos""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""writing""" note="""captioned, video posted, video: 13:31"""]]
-[[!template id=sched time="""25""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-emacs30.html">BBB</a>""" pad="""https://pad.emacsconf.org/2024-emacs30""" startutc="""2024-12-07T21:25:00+0000""" endutc="""2024-12-07T21:50:00+0000""" start="""4:25""" end="""4:50""" title="""Emacs 30 Highlights""" url="""/2024/talks/emacs30""" speakers="""Philip Kaludercic""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""emacs30""" note="""captioned, video posted, Q&A posted, video: 24:55, answers: 23:36"""]]
-[[!template id=sched time="""10""" q-and-a="""<a href="https://pad.emacsconf.org/2024-sat-close">Etherpad</a>""" pad="""https://pad.emacsconf.org/2024-sat-close""" startutc="""2024-12-07T22:00:00+0000""" endutc="""2024-12-07T22:10:00+0000""" start="""5:00""" end="""5:10""" title="""Saturday closing remarks""" url="""/2024/talks/sat-close""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""sat-close""" note="""video posted, video: 05:49"""]]</div>
+[[!template id=sched time="""10""" q-and-a="""<a href="https://pad.emacsconf.org/2024-sat-open">Etherpad</a>""" startutc="""2024-12-07T14:00:00+0000""" endutc="""2024-12-07T14:10:00+0000""" start="""9:00""" end="""9:10""" title="""Saturday opening remarks""" url="""/2024/talks/sat-open""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""sat-open""" note="""video posted, video: 04:50"""]]
+[[!template id=sched time="""10""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-papers.html">BBB</a>""" startutc="""2024-12-07T14:10:00+0000""" endutc="""2024-12-07T14:20:00+0000""" start="""9:10""" end="""9:20""" title="""Writing academic papers in Org-Roam""" url="""/2024/talks/papers""" speakers="""Vincent Conus""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""papers""" note="""captioned, video posted, Q&A posted, video: 10:07, answers: 19:01"""]]
+[[!template id=sched time="""20""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-project.html">BBB</a>""" startutc="""2024-12-07T14:40:00+0000""" endutc="""2024-12-07T15:00:00+0000""" start="""9:40""" end="""10:00""" title="""Managing writing project metadata with org-mode""" url="""/2024/talks/project""" speakers="""Blaine Mooers""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""project""" note="""captioned, video posted, Q&A posted, video: 21:38, answers: 1:02:41"""]]
+[[!template id=sched time="""20""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-gypsum.html">BBB</a>""" startutc="""2024-12-07T15:00:00+0000""" endutc="""2024-12-07T15:20:00+0000""" start="""10:00""" end="""10:20""" title="""Gypsum: my clone of Emacs and ELisp written in Scheme""" url="""/2024/talks/gypsum""" speakers="""Ramin Honary""" track="""Development""" watch="""https://emacsconf.org/2024/watch/dev""" slug="""gypsum""" note="""captioned, video posted, Q&A posted, video: 24:36, answers: 23:38"""]]
+[[!template id=sched time="""40""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-org-update.html">BBB</a>""" startutc="""2024-12-07T15:20:00+0000""" endutc="""2024-12-07T16:00:00+0000""" start="""10:20""" end="""11:00""" title="""The Future of Org""" url="""/2024/talks/org-update""" speakers="""Ihor Radchenko""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""org-update""" note="""captioned, video posted, Q&A posted, video: 39:35, answers: 30:39"""]]
+[[!template id=sched time="""20""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-rust.html">BBB</a>""" startutc="""2024-12-07T15:40:00+0000""" endutc="""2024-12-07T16:00:00+0000""" start="""10:40""" end="""11:00""" title="""An experimental Emacs core in Rust""" url="""/2024/talks/rust""" speakers="""Troy Hinckley""" track="""Development""" watch="""https://emacsconf.org/2024/watch/dev""" slug="""rust""" note="""captioned, video posted, Q&A posted, video: 20:06, answers: 19:15"""]]
+[[!template id=sched time="""10""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-color.html">BBB</a>""" startutc="""2024-12-07T16:20:00+0000""" endutc="""2024-12-07T16:30:00+0000""" start="""11:20""" end="""11:30""" title="""Colour your Emacs with ease""" url="""/2024/talks/color""" speakers="""Ryota Sawada""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""color""" note="""captioned, video posted, Q&A posted, video: 11:48, answers: 14:31"""]]
+[[!template id=sched time="""25""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-p-search.html">BBB</a>""" startutc="""2024-12-07T16:20:00+0000""" endutc="""2024-12-07T16:45:00+0000""" start="""11:20""" end="""11:45""" title="""p-search: a local search engine in Emacs""" url="""/2024/talks/p-search""" speakers="""Zac Romero""" track="""Development""" watch="""https://emacsconf.org/2024/watch/dev""" slug="""p-search""" note="""captioned, video posted, Q&A posted, video: 22:42"""]]
+[[!template id=sched time="""10""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-julia.html">BBB</a>""" startutc="""2024-12-07T18:00:00+0000""" endutc="""2024-12-07T18:10:00+0000""" start="""1:00""" end="""1:10""" title="""Exploring shared philosophies in Julia and Emacs""" url="""/2024/talks/julia""" speakers="""Gabriele Bozzola""" track="""Development""" watch="""https://emacsconf.org/2024/watch/dev""" slug="""julia""" note="""captioned, video posted, Q&A posted, video: 09:17"""]]
+[[!template id=sched time="""10""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-theme.html">BBB</a>""" startutc="""2024-12-07T18:00:00+0000""" endutc="""2024-12-07T18:10:00+0000""" start="""1:00""" end="""1:10""" title="""My journey of finding and creating the “perfect” Emacs theme""" url="""/2024/talks/theme""" speakers="""MetroWind""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""theme""" note="""captioned, video posted, Q&A posted, video: 11:28, answers: 09:51"""]]
+[[!template id=sched time="""20""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-guile.html">BBB</a>""" startutc="""2024-12-07T18:25:00+0000""" endutc="""2024-12-07T18:45:00+0000""" start="""1:25""" end="""1:45""" title="""Beguiling Emacs: Guile-Emacs relaunched!""" url="""/2024/talks/guile""" speakers="""Robin Templeton""" track="""Development""" watch="""https://emacsconf.org/2024/watch/dev""" slug="""guile""" note="""captioned, video posted, Q&A posted, video: 15:57"""]]
+[[!template id=sched time="""15""" q-and-a="""<a href="https://chat.emacsconf.org/?join=emacsconf">#emacsconf, speaker nick: lispmacs</a>""" startutc="""2024-12-07T18:30:00+0000""" endutc="""2024-12-07T18:45:00+0000""" start="""1:30""" end="""1:45""" title="""Watering my (digital) plant with Emacs timers""" url="""/2024/talks/water""" speakers="""Christopher Howard""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""water""" note="""captioned, video posted, video: 13:50"""]]
+[[!template id=sched time="""10""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-secrets.html">BBB</a>""" startutc="""2024-12-07T18:55:00+0000""" endutc="""2024-12-07T19:05:00+0000""" start="""1:55""" end="""2:05""" title="""Committing secrets with git using sops-mode""" url="""/2024/talks/secrets""" speakers="""Jonathan Otsuka""" track="""Development""" watch="""https://emacsconf.org/2024/watch/dev""" slug="""secrets""" note="""video posted, video: 14:57"""]]
+[[!template id=sched time="""40""" q-and-a="""<a href="https://chat.emacsconf.org/?join=emacsconf">#emacsconf, speaker nick: lispmacs</a>""" startutc="""2024-12-07T18:55:00+0000""" endutc="""2024-12-07T19:35:00+0000""" start="""1:55""" end="""2:35""" title="""Emacs as a shell""" url="""/2024/talks/shell""" speakers="""Christopher Howard""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""shell""" note="""captioned, video posted, video: 37:13"""]]
+[[!template id=sched time="""60""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-mcclim.html">BBB</a>""" startutc="""2024-12-07T19:25:00+0000""" endutc="""2024-12-07T20:25:00+0000""" start="""2:25""" end="""3:25""" title="""Elisp and McCLIM""" url="""/2024/talks/mcclim""" speakers="""screwlisp""" track="""Development""" watch="""https://emacsconf.org/2024/watch/dev""" slug="""mcclim""" note="""captioned, video posted, Q&A posted, video: 34:29"""]]
+[[!template id=sched time="""20""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-casual.html">BBB</a>""" startutc="""2024-12-07T19:45:00+0000""" endutc="""2024-12-07T20:05:00+0000""" start="""2:45""" end="""3:05""" title="""Re-imagining the Emacs user experience with Casual Suite""" url="""/2024/talks/casual""" speakers="""Charles Choi""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""casual""" note="""captioned, video posted, Q&A posted, video: 18:24, answers: 22:12"""]]
+[[!template id=sched time="""20""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-hyperdrive.html">BBB</a>""" startutc="""2024-12-07T20:25:00+0000""" endutc="""2024-12-07T20:45:00+0000""" start="""3:25""" end="""3:45""" title="""New in hyperdrive.el: quick install, peer graph, transclusion!""" url="""/2024/talks/hyperdrive""" speakers="""Joseph Turner""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""hyperdrive""" note="""captioned, video posted, Q&A posted, video: 20:25, answers: 22:34"""]]
+[[!template id=sched time="""40""" q-and-a="""<a href="https://pad.emacsconf.org/2024-maxima">Etherpad</a>""" startutc="""2024-12-07T20:45:00+0000""" endutc="""2024-12-07T21:05:00+0000""" start="""3:45""" end="""4:05""" title="""Emacs, eev, and Maxima - now!""" url="""/2024/talks/maxima""" speakers="""Eduardo Ochs""" track="""Development""" watch="""https://emacsconf.org/2024/watch/dev""" slug="""maxima""" note="""captioned, video posted, Q&A posted, video: 30:34"""]]
+[[!template id=sched time="""10""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-writing.html">BBB</a>""" startutc="""2024-12-07T21:05:00+0000""" endutc="""2024-12-07T21:15:00+0000""" start="""4:05""" end="""4:15""" title="""Emacs Writing Studio""" url="""/2024/talks/writing""" speakers="""Peter Prevos""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""writing""" note="""captioned, video posted, video: 13:31"""]]
+[[!template id=sched time="""25""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-emacs30.html">BBB</a>""" startutc="""2024-12-07T21:25:00+0000""" endutc="""2024-12-07T21:50:00+0000""" start="""4:25""" end="""4:50""" title="""Emacs 30 Highlights""" url="""/2024/talks/emacs30""" speakers="""Philip Kaludercic""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""emacs30""" note="""captioned, video posted, Q&A posted, video: 24:55, answers: 23:36"""]]
+[[!template id=sched time="""10""" q-and-a="""<a href="https://pad.emacsconf.org/2024-sat-close">Etherpad</a>""" startutc="""2024-12-07T22:00:00+0000""" endutc="""2024-12-07T22:10:00+0000""" start="""5:00""" end="""5:10""" title="""Saturday closing remarks""" url="""/2024/talks/sat-close""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""sat-close""" note="""video posted, video: 05:49"""]]</div>
Jump to: <a href="#date-2024-12-07">Sat Dec 7</a> - <a href="#date-2024-12-08">Sun Dec 8</a><a name="date-2024-12-08"></a>
# Sunday Dec 8, 2024
[[!inline pages="internal(2024/schedule-2024-12-08)" raw="yes"]]
<div class="schedule" data-start="2024-12-08T14:00:00+0000" data-end="2024-12-08T22:30:00+0000" data-tracks="General,Development">
-[[!template id=sched status="""done""" time="""10""" q-and-a="""<a href="https://pad.emacsconf.org/2024-sun-open">Etherpad</a>""" pad="""https://pad.emacsconf.org/2024-sun-open""" startutc="""2024-12-08T14:00:00+0000""" endutc="""2024-12-08T14:10:00+0000""" start="""9:00""" end="""9:10""" title="""Sunday opening remarks""" url="""/2024/talks/sun-open""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""sun-open""" note="""video posted, video: 04:37"""]]
-[[!template id=sched time="""10""" q-and-a="""<a href="https://pad.emacsconf.org/2024-links">Etherpad</a>""" pad="""https://pad.emacsconf.org/2024-links""" startutc="""2024-12-08T14:10:00+0000""" endutc="""2024-12-08T14:20:00+0000""" start="""9:10""" end="""9:20""" title="""Unlocking linked data: replacing specialized apps with an Org-based semantic wiki""" url="""/2024/talks/links""" speakers="""Abhinav Tushar""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""links""" note="""captioned, video posted, video: 11:21"""]]
-[[!template id=sched time="""20""" q-and-a="""<a href="https://chat.emacsconf.org/?join=emacsconf">#emacsconf, speaker nick: cosmicexplorer</a>""" note="""Development-focused; on the general track for scheduling reasons""" pad="""https://pad.emacsconf.org/2024-regex""" startutc="""2024-12-08T14:30:00+0000""" endutc="""2024-12-08T14:50:00+0000""" start="""9:30""" end="""9:50""" title="""Emacs regex compilation and future directions for expressive pattern matching""" url="""/2024/talks/regex""" speakers="""Danny McClanahan""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""regex""" note="""captioned, video posted, video: 24:56"""]]
-[[!template id=sched time="""20""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-learning.html">BBB</a>""" pad="""https://pad.emacsconf.org/2024-learning""" startutc="""2024-12-08T15:00:00+0000""" endutc="""2024-12-08T15:20:00+0000""" start="""10:00""" end="""10:20""" title="""Survival of the skillest: Thriving in the learning jungle""" url="""/2024/talks/learning""" speakers="""Bala Ramadurai""" track="""General""" 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 time="""45""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-blee.html">BBB</a>""" pad="""https://pad.emacsconf.org/2024-blee""" startutc="""2024-12-08T15:30:00+0000""" endutc="""2024-12-08T16:15:00+0000""" start="""10:30""" end="""11:15""" title="""About Blee: enveloping our own autonomy directed digital ecosystem with Emacs""" url="""/2024/talks/blee""" speakers="""Mohsen BANAN""" track="""General""" 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 time="""15""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-hyperbole.html">BBB</a>""" pad="""https://pad.emacsconf.org/2024-hyperbole""" startutc="""2024-12-08T16:30:00+0000""" endutc="""2024-12-08T16:45:00+0000""" start="""11:30""" end="""11:45""" title="""Fun things with GNU Hyperbole""" url="""/2024/talks/hyperbole""" speakers="""Mats Lidell""" track="""General""" 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 time="""20""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-open-mic.html">BBB</a>""" pad="""https://pad.emacsconf.org/2024-open-mic""" startutc="""2024-12-08T18:00:00+0000""" endutc="""2024-12-08T18:30:00+0000""" start="""1:00""" end="""1:30""" title="""Open mic/pad for quick updates etc.""" url="""/2024/talks/open-mic""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""open-mic""" note="""video posted, video: 40:13"""]]
-[[!template id=sched time="""15""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-pgmacs.html">BBB</a>""" note="""Development-focused; on the general track for scheduling reasons""" pad="""https://pad.emacsconf.org/2024-pgmacs""" startutc="""2024-12-08T18:40:00+0000""" endutc="""2024-12-08T18:55:00+0000""" start="""1:40""" end="""1:55""" title="""PGmacs: browsing and editing PostgreSQL databases from Emacs""" url="""/2024/talks/pgmacs""" speakers="""Eric Marsden""" track="""General""" 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 time="""20""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-literate.html">BBB</a>""" pad="""https://pad.emacsconf.org/2024-literate""" startutc="""2024-12-08T19:15:00+0000""" endutc="""2024-12-08T19:35:00+0000""" start="""2:15""" end="""2:35""" title="""Literate programming for the 21st Century""" url="""/2024/talks/literate""" speakers="""Howard Abrams""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""literate""" note="""captioned, video posted, Q&A posted, video: 15:51, answers: 22:48"""]]
-[[!template id=sched time="""10""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-students.html">BBB</a>""" pad="""https://pad.emacsconf.org/2024-students""" startutc="""2024-12-08T20:00:00+0000""" endutc="""2024-12-08T20:10:00+0000""" start="""3:00""" end="""3:10""" title="""An example of a cohesive student workflow in Emacs""" url="""/2024/talks/students""" speakers="""Daniel Pinkston""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""students""" note="""captioned, video posted, Q&A posted, video: 08:27"""]]
-[[!template id=sched time="""20""" q-and-a="""<a href="https://pad.emacsconf.org/2024-sharing">Etherpad</a>""" pad="""https://pad.emacsconf.org/2024-sharing""" startutc="""2024-12-08T20:20:00+0000""" endutc="""2024-12-08T20:40:00+0000""" start="""3:20""" end="""3:40""" title="""So you want to be an Emacs-fluencer?""" url="""/2024/talks/sharing""" speakers="""Gopar""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""sharing""" note="""captioned, video posted, video: 21:40"""]]
-[[!template id=sched time="""30""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-transducers.html">BBB</a>""" note="""Development-focused; on the general track for scheduling reasons""" pad="""https://pad.emacsconf.org/2024-transducers""" startutc="""2024-12-08T21:00:00+0000""" endutc="""2024-12-08T21:30:00+0000""" start="""4:00""" end="""4:30""" title="""Transducers: finally, ergonomic data processing for Emacs!""" url="""/2024/talks/transducers""" speakers="""Colin Woodbury""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""transducers""" note="""captioned, video posted, Q&A posted, video: 26:51, answers: 25:24"""]]
-[[!template id=sched time="""10""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-sun-close.html">BBB</a>""" pad="""https://pad.emacsconf.org/2024-sun-close""" startutc="""2024-12-08T21:50:00+0000""" endutc="""2024-12-08T22:00:00+0000""" start="""4:50""" end="""5:00""" title="""Sunday closing remarks""" url="""/2024/talks/sun-close""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""sun-close""" note="""video posted, Q&A posted, video: 01:59"""]]</div><div class="cancelled">Cancelled:<ul><li>Reproducibly building Emacs: “Hey your checksum is the same as mine!” - Aaron Grothe</li>
+[[!template id=sched status="""done""" time="""10""" q-and-a="""<a href="https://pad.emacsconf.org/2024-sun-open">Etherpad</a>""" startutc="""2024-12-08T14:00:00+0000""" endutc="""2024-12-08T14:10:00+0000""" start="""9:00""" end="""9:10""" title="""Sunday opening remarks""" url="""/2024/talks/sun-open""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""sun-open""" note="""video posted, video: 04:37"""]]
+[[!template id=sched time="""10""" q-and-a="""<a href="https://pad.emacsconf.org/2024-links">Etherpad</a>""" startutc="""2024-12-08T14:10:00+0000""" endutc="""2024-12-08T14:20:00+0000""" start="""9:10""" end="""9:20""" title="""Unlocking linked data: replacing specialized apps with an Org-based semantic wiki""" url="""/2024/talks/links""" speakers="""Abhinav Tushar""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""links""" note="""captioned, video posted, video: 11:21"""]]
+[[!template id=sched time="""20""" q-and-a="""<a href="https://chat.emacsconf.org/?join=emacsconf">#emacsconf, speaker nick: cosmicexplorer</a>""" note="""Development-focused; on the general track for scheduling reasons""" startutc="""2024-12-08T14:30:00+0000""" endutc="""2024-12-08T14:50:00+0000""" start="""9:30""" end="""9:50""" title="""Emacs regex compilation and future directions for expressive pattern matching""" url="""/2024/talks/regex""" speakers="""Danny McClanahan""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""regex""" note="""captioned, video posted, video: 24:56"""]]
+[[!template id=sched time="""20""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-learning.html">BBB</a>""" startutc="""2024-12-08T15:00:00+0000""" endutc="""2024-12-08T15:20:00+0000""" start="""10:00""" end="""10:20""" title="""Survival of the skillest: Thriving in the learning jungle""" url="""/2024/talks/learning""" speakers="""Bala Ramadurai""" track="""General""" 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 time="""45""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-blee.html">BBB</a>""" startutc="""2024-12-08T15:30:00+0000""" endutc="""2024-12-08T16:15:00+0000""" start="""10:30""" end="""11:15""" title="""About Blee: enveloping our own autonomy directed digital ecosystem with Emacs""" url="""/2024/talks/blee""" speakers="""Mohsen BANAN""" track="""General""" 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 time="""15""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-hyperbole.html">BBB</a>""" startutc="""2024-12-08T16:30:00+0000""" endutc="""2024-12-08T16:45:00+0000""" start="""11:30""" end="""11:45""" title="""Fun things with GNU Hyperbole""" url="""/2024/talks/hyperbole""" speakers="""Mats Lidell""" track="""General""" 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 time="""20""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-open-mic.html">BBB</a>""" startutc="""2024-12-08T18:00:00+0000""" endutc="""2024-12-08T18:30:00+0000""" start="""1:00""" end="""1:30""" title="""Open mic/pad for quick updates etc.""" url="""/2024/talks/open-mic""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""open-mic""" note="""video posted, video: 40:13"""]]
+[[!template id=sched time="""15""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-pgmacs.html">BBB</a>""" note="""Development-focused; on the general track for scheduling reasons""" startutc="""2024-12-08T18:40:00+0000""" endutc="""2024-12-08T18:55:00+0000""" start="""1:40""" end="""1:55""" title="""PGmacs: browsing and editing PostgreSQL databases from Emacs""" url="""/2024/talks/pgmacs""" speakers="""Eric Marsden""" track="""General""" 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 time="""20""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-literate.html">BBB</a>""" startutc="""2024-12-08T19:15:00+0000""" endutc="""2024-12-08T19:35:00+0000""" start="""2:15""" end="""2:35""" title="""Literate programming for the 21st Century""" url="""/2024/talks/literate""" speakers="""Howard Abrams""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""literate""" note="""captioned, video posted, Q&A posted, video: 15:51, answers: 22:48"""]]
+[[!template id=sched time="""10""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-students.html">BBB</a>""" startutc="""2024-12-08T20:00:00+0000""" endutc="""2024-12-08T20:10:00+0000""" start="""3:00""" end="""3:10""" title="""An example of a cohesive student workflow in Emacs""" url="""/2024/talks/students""" speakers="""Daniel Pinkston""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""students""" note="""captioned, video posted, Q&A posted, video: 08:27"""]]
+[[!template id=sched time="""20""" q-and-a="""<a href="https://pad.emacsconf.org/2024-sharing">Etherpad</a>""" startutc="""2024-12-08T20:20:00+0000""" endutc="""2024-12-08T20:40:00+0000""" start="""3:20""" end="""3:40""" title="""So you want to be an Emacs-fluencer?""" url="""/2024/talks/sharing""" speakers="""Gopar""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""sharing""" note="""captioned, video posted, video: 21:40"""]]
+[[!template id=sched time="""30""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-transducers.html">BBB</a>""" note="""Development-focused; on the general track for scheduling reasons""" startutc="""2024-12-08T21:00:00+0000""" endutc="""2024-12-08T21:30:00+0000""" start="""4:00""" end="""4:30""" title="""Transducers: finally, ergonomic data processing for Emacs!""" url="""/2024/talks/transducers""" speakers="""Colin Woodbury""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""transducers""" note="""captioned, video posted, Q&A posted, video: 26:51, answers: 25:24"""]]
+[[!template id=sched time="""10""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-sun-close.html">BBB</a>""" startutc="""2024-12-08T21:50:00+0000""" endutc="""2024-12-08T22:00:00+0000""" start="""4:50""" end="""5:00""" title="""Sunday closing remarks""" url="""/2024/talks/sun-close""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""sun-close""" note="""video posted, Q&A posted, video: 01:59"""]]</div><div class="cancelled">Cancelled:<ul><li>Reproducibly building Emacs: “Hey your checksum is the same as mine!” - Aaron Grothe</li>
<li>Immersive language learning with Emacs - Sebastian Dümcke</li>
<li>HyWiki: Fast, hyperlinked note-taking with no markup required - Bob Weiner</li>
<li>The Free Life Planner: Empowering lives with Emacs-based AI - Andrew Dougherty</li>
diff --git a/2024/info/blee-after.md b/2024/info/blee-after.md
index dd748b9f..933840ee 100644
--- a/2024/info/blee-after.md
+++ b/2024/info/blee-after.md
@@ -806,12 +806,12 @@
Captioner: mohsen
-<div class="transcript transcript-qanda"><a name="blee-qanda-transcript"></a><h1>Q&A transcript (unedited)</h1>
+<div class="transcript transcript-qanda"><a name="blee-qanda-transcript"></a><h1>Q&A transcript</h1>
[[!template text="""Thank you for the talk. I mean, it was a fairly long one and we""" start="00:00:00.000" video="qanda-blee" id="subtitle"]]
[[!template text="""had two very distinct parts, one which dealt with a""" start="00:00:04.200" video="qanda-blee" id="subtitle"]]
[[!template text="""philosophy of Libre-Halaal software and then the application,""" start="00:00:08.000" video="qanda-blee" id="subtitle"]]
-[[!template text="""obviously, of Bisos. So thank you so much for the""" start="00:00:12.080" video="qanda-blee" id="subtitle"]]
+[[!template text="""obviously, of BISOS. So thank you so much for the""" start="00:00:12.080" video="qanda-blee" id="subtitle"]]
[[!template text="""presentation. Before we get started with the question, and""" start="00:00:14.280" video="qanda-blee" id="subtitle"]]
[[!template text="""for the record, we have about 14 minutes of question time, is""" start="00:00:17.840" video="qanda-blee" id="subtitle"]]
[[!template text="""there anything that you'd like to add on top of your""" start="00:00:21.800" video="qanda-blee" id="subtitle"]]
@@ -826,7 +826,7 @@ Captioner: mohsen
[[!template text="""observation of working with Emacs versus working on Emacs.""" start="00:01:10.600" video="qanda-blee" id="subtitle"]]
[[!template text="""And I'm all for that. So the idea of BLEE is that""" start="00:01:20.640" video="qanda-blee" id="subtitle"]]
[[!template text="""Others can package things, and we are seeing this in the form""" start="00:01:28.280" video="qanda-blee" id="subtitle"]]
-[[!template text="""of redistributions. There is Doom, there is Space Max, and""" start="00:01:32.600" video="qanda-blee" id="subtitle"]]
+[[!template text="""of redistributions. There is Doom, there is Spacemacs, and""" start="00:01:32.600" video="qanda-blee" id="subtitle"]]
[[!template text="""we are seeing the evolution of Emacs into layers. So there is""" start="00:01:38.120" video="qanda-blee" id="subtitle"]]
[[!template text="""the core Emacs, and there are layers on top of it. And Peter""" start="00:01:44.080" video="qanda-blee" id="subtitle"]]
[[!template text="""also mentioned about too much choice, this notion of""" start="00:01:50.120" video="qanda-blee" id="subtitle"]]
@@ -836,15 +836,15 @@ Captioner: mohsen
[[!template text="""less. And that is not necessarily a bad thing.""" start="00:02:24.160" video="qanda-blee" id="subtitle"]]
[[!template text="""So that was one idea. The other idea or the other theme""" start="00:02:31.160" video="qanda-blee" id="subtitle"]]
[[!template text="""throughout the various talks that we saw was this concept of""" start="00:02:36.720" video="qanda-blee" id="subtitle"]]
-[[!template text="""mixing org mode with programming languages and What Babel""" start="00:02:42.920" video="qanda-blee" id="subtitle"]]
+[[!template text="""mixing org-mode with programming languages and what Babel""" start="00:02:42.920" video="qanda-blee" id="subtitle"]]
[[!template text="""has done is two things. One is it has successfully""" start="00:02:53.520" video="qanda-blee" id="subtitle"]]
-[[!template text="""integrated org mode with all kinds of languages. And that""" start="00:03:00.480" video="qanda-blee" id="subtitle"]]
-[[!template text="""has happened in the context of literate programming. Um, so""" start="00:03:06.800" video="qanda-blee" id="subtitle"]]
+[[!template text="""integrated org-mode with all kinds of languages. And that""" start="00:03:00.480" video="qanda-blee" id="subtitle"]]
+[[!template text="""has happened in the context of literate programming. So""" start="00:03:06.800" video="qanda-blee" id="subtitle"]]
[[!template text="""a talk coming after mine is literate programming for the""" start="00:03:13.040" video="qanda-blee" id="subtitle"]]
[[!template text="""21st century, mixing org mode with program languages. And""" start="00:03:16.840" video="qanda-blee" id="subtitle"]]
[[!template text="""what I am saying is that there is an alternative and that's""" start="00:03:22.400" video="qanda-blee" id="subtitle"]]
-[[!template text="""great, but we should also, uh, consider a traditional""" start="00:03:27.360" video="qanda-blee" id="subtitle"]]
-[[!template text="""programming mixed with org mode and, um, Polymode is key to""" start="00:03:33.840" video="qanda-blee" id="subtitle"]]
+[[!template text="""great, but we should also, consider a traditional""" start="00:03:27.360" video="qanda-blee" id="subtitle"]]
+[[!template text="""programming mixed with org-mode and, polymode is key to""" start="00:03:33.840" video="qanda-blee" id="subtitle"]]
[[!template text="""that. So those were some of the key concepts that I saw a""" start="00:03:40.160" video="qanda-blee" id="subtitle"]]
[[!template text="""resonance with as the conference went forward. Yeah, and I""" start="00:03:49.240" video="qanda-blee" id="subtitle"]]
[[!template text="""think, if my memory serves me right, we have another talk""" start="00:03:55.800" video="qanda-blee" id="subtitle"]]
@@ -853,15 +853,15 @@ Captioner: mohsen
[[!template text="""familiar with it, Mohsen, you might have seen it from""" start="00:04:07.920" video="qanda-blee" id="subtitle"]]
[[!template text="""various talks last year, but it also tends to have a similar""" start="00:04:10.360" video="qanda-blee" id="subtitle"]]
[[!template text="""stance than you, with the fact that text should be embedded""" start="00:04:14.640" video="qanda-blee" id="subtitle"]]
-[[!template text="""in programming languages rather than having Org Mode""" start="00:04:18.920" video="qanda-blee" id="subtitle"]]
+[[!template text="""in programming languages rather than having Org-Mode""" start="00:04:18.920" video="qanda-blee" id="subtitle"]]
[[!template text="""implement, I mean, integrate other languages. And I found""" start="00:04:21.920" video="qanda-blee" id="subtitle"]]
[[!template text="""it funny that we have your talk and this talk which are about""" start="00:04:25.440" video="qanda-blee" id="subtitle"]]
[[!template text="""the other direction, which I find very resonating as well.""" start="00:04:28.360" video="qanda-blee" id="subtitle"]]
[[!template text="""Right, right, right. So in terms of other things that did not""" start="00:04:33.000" video="qanda-blee" id="subtitle"]]
[[!template text="""fit into my talk is that the several concepts that I""" start="00:04:40.440" video="qanda-blee" id="subtitle"]]
[[!template text="""introduced, namely""" start="00:04:47.000" video="qanda-blee" id="subtitle"]]
-[[!template text="""dynamic blocks everywhere and COMEEGA.""" start="00:04:49.600" video="qanda-blee" id="subtitle"]]
-[[!template text="""I'd be happy to expand on those by sharing your screen in due""" start="00:04:57.880" video="qanda-blee" id="subtitle"]]
+[[!template text="""Dynamic Blocks everywhere and COMEEGA.""" start="00:04:49.600" video="qanda-blee" id="subtitle"]]
+[[!template text="""I'd be happy to expand on those by sharing a screen in due""" start="00:04:57.880" video="qanda-blee" id="subtitle"]]
[[!template text="""course, whatever is appropriate. Sure, considering the""" start="00:05:07.720" video="qanda-blee" id="subtitle"]]
[[!template text="""time that we have, we only have about 8 minutes 30 and we""" start="00:05:12.520" video="qanda-blee" id="subtitle"]]
[[!template text="""already have about four, five questions actually. I""" start="00:05:16.120" video="qanda-blee" id="subtitle"]]
@@ -877,7 +877,7 @@ Captioner: mohsen
[[!template text="""second edition. So I thought it would be better to ask.""" start="00:05:45.480" video="qanda-blee" id="subtitle"]]
[[!template text="""Right. So definitely, I would say for everybody who is on""" start="00:05:48.200" video="qanda-blee" id="subtitle"]]
[[!template text="""this conference, the international edition is the right""" start="00:05:56.120" video="qanda-blee" id="subtitle"]]
-[[!template text="""choice. In this book, I take some aggressive stance against""" start="00:06:01.960" video="qanda-blee" id="subtitle"]]
+[[!template text="""choice. In this book, I take some aggressive stances against""" start="00:06:01.960" video="qanda-blee" id="subtitle"]]
[[!template text="""intellectual property and I link that specifically to the""" start="00:06:11.640" video="qanda-blee" id="subtitle"]]
[[!template text="""American culture. So there are pieces in the book where the""" start="00:06:19.280" video="qanda-blee" id="subtitle"]]
[[!template text="""typical American audience may be offended. And if your skin""" start="00:06:27.440" video="qanda-blee" id="subtitle"]]
@@ -893,7 +893,7 @@ Captioner: mohsen
[[!template text="""Varoufakis' Technofeudalism?""" start="00:07:10.320" video="qanda-blee" id="subtitle"]]
[[!template text="""I haven't read much of that. I think there is a whole lot of""" start="00:07:14.640" video="qanda-blee" id="subtitle"]]
[[!template text="""global growth and collective understanding towards this""" start="00:07:24.920" video="qanda-blee" id="subtitle"]]
-[[!template text="""notion that the direction we are headed in And by that, I mean""" start="00:07:34.200" video="qanda-blee" id="subtitle"]]
+[[!template text="""notion that the direction we are headed in and by that, I mean""" start="00:07:34.200" video="qanda-blee" id="subtitle"]]
[[!template text="""American digital ecosystems""" start="00:07:42.480" video="qanda-blee" id="subtitle"]]
[[!template text="""are dangerous and that we should revisit""" start="00:07:46.880" video="qanda-blee" id="subtitle"]]
[[!template text="""the entirety of the model and strategy.""" start="00:07:53.160" video="qanda-blee" id="subtitle"]]
@@ -927,17 +927,17 @@ Captioner: mohsen
[[!template text="""with a series that honored what Star Trek used to be. Does""" start="00:09:54.960" video="qanda-blee" id="subtitle"]]
[[!template text="""this intersect? Let me read this for a moment.""" start="00:09:58.000" video="qanda-blee" id="subtitle"]]
[[!template text="""Yeah, I am not sure I fully get the point, but. Let me make a""" start="00:10:21.840" video="qanda-blee" id="subtitle"]]
-[[!template text="""point about my criticisms of the false movement""" start="00:10:30.600" video="qanda-blee" id="subtitle"]]
+[[!template text="""point about my criticisms of the FOSS movement""" start="00:10:30.600" video="qanda-blee" id="subtitle"]]
[[!template text="""in the presentation and in the book. The idea is that we have""" start="00:10:35.960" video="qanda-blee" id="subtitle"]]
-[[!template text="""jumped on the false movement and recognize it as an""" start="00:10:47.400" video="qanda-blee" id="subtitle"]]
-[[!template text="""alternative But we haven't looked deeply enough to see if""" start="00:10:53.920" video="qanda-blee" id="subtitle"]]
+[[!template text="""jumped on the FOSS movement and recognize it as an""" start="00:10:47.400" video="qanda-blee" id="subtitle"]]
+[[!template text="""alternative but we haven't looked deeply enough to see if""" start="00:10:53.920" video="qanda-blee" id="subtitle"]]
[[!template text="""our own philosophy and movement have problems. The""" start="00:11:02.280" video="qanda-blee" id="subtitle"]]
-[[!template text="""problems that I note is that The first movement does not""" start="00:11:07.760" video="qanda-blee" id="subtitle"]]
+[[!template text="""problems that I note is that the FOSS movement does not""" start="00:11:07.760" video="qanda-blee" id="subtitle"]]
[[!template text="""recognize clearly and explicitly that the entirety of the""" start="00:11:14.960" video="qanda-blee" id="subtitle"]]
[[!template text="""intellectual property rights regime is flawed. The second""" start="00:11:21.280" video="qanda-blee" id="subtitle"]]
[[!template text="""piece is that it's only now that we are seeing the FOSS""" start="00:11:30.400" video="qanda-blee" id="subtitle"]]
[[!template text="""movement is broader than the Western world. The third""" start="00:11:37.240" video="qanda-blee" id="subtitle"]]
-[[!template text="""problem is that the labels of free software and open source""" start="00:11:45.480" video="qanda-blee" id="subtitle"]]
+[[!template text="""problem is that the labels of Free Software and Open Source""" start="00:11:45.480" video="qanda-blee" id="subtitle"]]
[[!template text="""are not necessarily correct. The fourth problem is that we""" start="00:11:54.920" video="qanda-blee" id="subtitle"]]
[[!template text="""are not paying enough attention to establishing a""" start="00:12:01.160" video="qanda-blee" id="subtitle"]]
[[!template text="""relationship with society.""" start="00:12:07.240" video="qanda-blee" id="subtitle"]]
@@ -953,7 +953,7 @@ Captioner: mohsen
[[!template text="""pad in the BBB chat so you can open it on your end. But as we are""" start="00:12:51.800" video="qanda-blee" id="subtitle"]]
[[!template text="""still live for 15 more seconds, do you have any last words?""" start="00:12:56.520" video="qanda-blee" id="subtitle"]]
[[!template text="""Keep up the good work. Those would be my last words, that the""" start="00:12:59.320" video="qanda-blee" id="subtitle"]]
-[[!template text="""free software and the open source and Emacs are a very valid""" start="00:13:09.040" video="qanda-blee" id="subtitle"]]
+[[!template text="""Free Software and the Open Source and Emacs are a very valid""" start="00:13:09.040" video="qanda-blee" id="subtitle"]]
[[!template text="""strategy for inside of IPR resistance. And thank you, Leo""" start="00:13:14.240" video="qanda-blee" id="subtitle"]]
[[!template text="""and Sacha and the rest of the folks for this wonderful yearly""" start="00:13:24.480" video="qanda-blee" id="subtitle"]]
[[!template text="""event. Well, thank you so much. And it's always a pleasure to""" start="00:13:29.720" video="qanda-blee" id="subtitle"]]
@@ -969,11 +969,11 @@ Captioner: mohsen
[[!template text="""Great. I see one more person in the room.""" start="00:14:04.040" video="qanda-blee" id="subtitle"]]
[[!template text="""Hi, John.""" start="00:14:23.440" video="qanda-blee" id="subtitle"]]
[[!template text="""I was looking at the questions.""" start="00:14:35.680" video="qanda-blee" id="subtitle"]]
-[[!template text="""To see if there is more that I can add. So.""" start="00:14:38.080" video="qanda-blee" id="subtitle"]]
+[[!template text="""To see if there is more that I can add. So,""" start="00:14:38.080" video="qanda-blee" id="subtitle"]]
[[!template text="""through the regard of societal impacts on ethical,""" start="00:14:46.240" video="qanda-blee" id="subtitle"]]
-[[!template text="""philosophical and wider force community. I'm involved in""" start="00:14:54.920" video="qanda-blee" id="subtitle"]]
+[[!template text="""philosophical and wider FOSS community. I'm involved in""" start="00:14:54.920" video="qanda-blee" id="subtitle"]]
[[!template text="""politics in my country, my party is very sympathetic to""" start="00:14:58.440" video="qanda-blee" id="subtitle"]]
-[[!template text="""force ideas and I have public...""" start="00:15:02.240" video="qanda-blee" id="subtitle"]]
+[[!template text="""FOSS ideas and I have public...""" start="00:15:02.240" video="qanda-blee" id="subtitle"]]
<div class="transcript-heading">[[!template new="1" text="""Q: Do you have any recommended reading materials designed for such an audience?""" start="00:15:05.278" video="qanda-blee" id="subtitle"]]</div>[[!template text="""Do you have any recommendation""" start="00:15:05.278" video="qanda-blee" id="subtitle"]]
[[!template text="""to reading materials designed for such an audience? Um,""" start="00:15:08.040" video="qanda-blee" id="subtitle"]]
diff --git a/2024/info/blee-before.md b/2024/info/blee-before.md
index ef67e9fa..e96b5b09 100644
--- a/2024/info/blee-before.md
+++ b/2024/info/blee-before.md
@@ -1,7 +1,6 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
[[!toc ]]
Format: 46-min talk ; Q&A: BigBlueButton conference room
-Etherpad: <https://pad.emacsconf.org/2024-blee>
Status: TO_CAPTION_QA
@@ -10,7 +9,7 @@ Status: TO_CAPTION_QA
# Talk
-<div class="vid"><video controls preload="none" id="blee-mainVideo"><source 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--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-blee--about-blee-towards-an-integrated-emacs-environment-for-enveloping-our-own-autonomy-directed-digital-ecosystem--mohsen-banan--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2024/captions/emacsconf-2024-blee--about-blee-towards-an-integrated-emacs-environment-for-enveloping-our-own-autonomy-directed-digital-ecosystem--mohsen-banan--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="blee-mainVideo" data="""
+<div class="vid mainVideo"><video controls preload="none" id="mainVideo-blee"><source 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--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-blee--about-blee-towards-an-integrated-emacs-environment-for-enveloping-our-own-autonomy-directed-digital-ecosystem--mohsen-banan--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2024/captions/emacsconf-2024-blee--about-blee-towards-an-integrated-emacs-environment-for-enveloping-our-own-autonomy-directed-digital-ecosystem--mohsen-banan--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-blee" data="""
00:00.000 Introduction
05:17.550 Blee: A Bigger and Different Vision for Emacs
08:02.817 The ``Nature of Polyexistentials'' Book
@@ -27,17 +26,17 @@ 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
-<div class="vid"><video controls preload="none" id="blee-qanda"><source 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.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-blee--about-blee-towards-an-integrated-emacs-environment-for-enveloping-our-own-autonomy-directed-digital-ecosystem--mohsen-banan--answers.vtt" default />"""<track kind="chapters" label="Chapters" src="/2024/captions/emacsconf-2024-blee--about-blee-towards-an-integrated-emacs-environment-for-enveloping-our-own-autonomy-directed-digital-ecosystem--mohsen-banan--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="blee-qanda" data="""
+<div class="vid qanda"><video controls preload="none" id="qanda-blee"><source 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.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-blee--about-blee-towards-an-integrated-emacs-environment-for-enveloping-our-own-autonomy-directed-digital-ecosystem--mohsen-banan--answers.vtt" default />"""<track kind="chapters" label="Chapters" src="/2024/captions/emacsconf-2024-blee--about-blee-towards-an-integrated-emacs-environment-for-enveloping-our-own-autonomy-directed-digital-ecosystem--mohsen-banan--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-blee" data="""
05:33.280 Q: I'm from Brazil, which edition would you recommend?
07:07.080 Q: Thank you for this talk! How does your perspective interface with works such as Yanis Varoufakis' Technofeudalism?
08:21.980 Q: To what extent do you agree that the introduction of proprietary systems in education creates an environment for exploitation while at the same time diluting the learning value of the curriculum?
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="blee-qanda-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> (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></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 7bd0566e..c580fe70 100644
--- a/2024/info/casual-before.md
+++ b/2024/info/casual-before.md
@@ -1,7 +1,6 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
[[!toc ]]
Format: 19-min talk ; Q&A: BigBlueButton conference room
-Etherpad: <https://pad.emacsconf.org/2024-casual>
Status: TO_CAPTION_QA
@@ -10,7 +9,7 @@ Status: TO_CAPTION_QA
# Talk
-<div class="vid"><video controls preload="none" id="casual-mainVideo"><source src="https://media.emacsconf.org/2024/emacsconf-2024-casual--reimagining-the-emacs-user-experience-with-casual-suite--charles-choi--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-casual--reimagining-the-emacs-user-experience-with-casual-suite--charles-choi--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2024/captions/emacsconf-2024-casual--reimagining-the-emacs-user-experience-with-casual-suite--charles-choi--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="casual-mainVideo" data="""
+<div class="vid mainVideo"><video controls preload="none" id="mainVideo-casual"><source src="https://media.emacsconf.org/2024/emacsconf-2024-casual--reimagining-the-emacs-user-experience-with-casual-suite--charles-choi--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-casual--reimagining-the-emacs-user-experience-with-casual-suite--charles-choi--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2024/captions/emacsconf-2024-casual--reimagining-the-emacs-user-experience-with-casual-suite--charles-choi--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-casual" data="""
00:00.000 introduction
00:43.800 Recall vs recognition
02:34.800 Emacs with keyboard-driven menus
@@ -30,11 +29,11 @@ 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://pad.emacsconf.org/2024-casual">Open Etherpad</a></li><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
-<div class="vid"><video controls preload="none" id="casual-qanda"><source src="https://media.emacsconf.org/2024/emacsconf-2024-casual--reimagining-the-emacs-user-experience-with-casual-suite--charles-choi--answers.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-casual--reimagining-the-emacs-user-experience-with-casual-suite--charles-choi--answers.vtt" default />"""<track kind="chapters" label="Chapters" src="/2024/captions/emacsconf-2024-casual--reimagining-the-emacs-user-experience-with-casual-suite--charles-choi--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="casual-qanda" data="""
+<div class="vid qanda"><video controls preload="none" id="qanda-casual"><source src="https://media.emacsconf.org/2024/emacsconf-2024-casual--reimagining-the-emacs-user-experience-with-casual-suite--charles-choi--answers.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-casual--reimagining-the-emacs-user-experience-with-casual-suite--charles-choi--answers.vtt" default />"""<track kind="chapters" label="Chapters" src="/2024/captions/emacsconf-2024-casual--reimagining-the-emacs-user-experience-with-casual-suite--charles-choi--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-casual" data="""
00:00.000 Opening
03:13.600 Q: I wonder whether casual can only be used with the packages you
07:10.854 Q: Are there any patterns emerging, such that it would seem possible to 1) systematize 2) automate(?) the mapping of mode commands to keyboard-driven menus? Possibly even have an auto casual wrapper for an uncovered mode?
@@ -43,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="casual-qanda-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://pad.emacsconf.org/2024-casual">Open Etherpad</a></li><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 12a5abfb..89145fbd 100644
--- a/2024/info/color-before.md
+++ b/2024/info/color-before.md
@@ -1,7 +1,6 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
[[!toc ]]
Format: 12-min talk ; Q&A: BigBlueButton conference room
-Etherpad: <https://pad.emacsconf.org/2024-color>
Status: TO_CAPTION_QA
@@ -10,7 +9,7 @@ Status: TO_CAPTION_QA
# Talk
-<div class="vid"><video controls preload="none" id="color-mainVideo"><source src="https://media.emacsconf.org/2024/emacsconf-2024-color--colour-your-emacs-with-ease--ryota--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-color--colour-your-emacs-with-ease--ryota--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2024/captions/emacsconf-2024-color--colour-your-emacs-with-ease--ryota--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="color-mainVideo" data="""
+<div class="vid mainVideo"><video controls preload="none" id="mainVideo-color"><source src="https://media.emacsconf.org/2024/emacsconf-2024-color--colour-your-emacs-with-ease--ryota--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-color--colour-your-emacs-with-ease--ryota--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2024/captions/emacsconf-2024-color--colour-your-emacs-with-ease--ryota--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-color" data="""
00:00.000 Introduction
00:58.668 What colour do you like?
03:42.120 Colour spaces: HSL, LCH , and more
@@ -18,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://pad.emacsconf.org/2024-color">Open Etherpad</a></li><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"><video controls preload="none" id="color-qanda"><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="color-qanda" 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?
+<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: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="color-qanda-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://pad.emacsconf.org/2024-color">Open Etherpad</a></li><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 0729ca64..fbefd7b3 100644
--- a/2024/info/emacs30-before.md
+++ b/2024/info/emacs30-before.md
@@ -1,7 +1,6 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
[[!toc ]]
Format: 25-min talk ; Q&A: BigBlueButton conference room
-Etherpad: <https://pad.emacsconf.org/2024-emacs30>
Status: TO_CAPTION_QA
@@ -10,24 +9,24 @@ Status: TO_CAPTION_QA
# Talk
-<div class="vid"><video controls preload="none" id="emacs30-mainVideo"><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="emacs30-mainVideo" data="""
+<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://pad.emacsconf.org/2024-emacs30">Open Etherpad</a></li><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
-<div class="vid"><video controls preload="none" id="emacs30-qanda"><source src="https://media.emacsconf.org/2024/emacsconf-2024-emacs30--emacs-30-highlights--philip-kaludercic--answers.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-emacs30--emacs-30-highlights--philip-kaludercic--answers.vtt" default />"""<track kind="chapters" label="Chapters" src="/2024/captions/emacsconf-2024-emacs30--emacs-30-highlights--philip-kaludercic--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="emacs30-qanda" data="""
+<div class="vid qanda"><video controls preload="none" id="qanda-emacs30"><source src="https://media.emacsconf.org/2024/emacsconf-2024-emacs30--emacs-30-highlights--philip-kaludercic--answers.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-emacs30--emacs-30-highlights--philip-kaludercic--answers.vtt" default />"""<track kind="chapters" label="Chapters" src="/2024/captions/emacsconf-2024-emacs30--emacs-30-highlights--philip-kaludercic--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-emacs30" data="""
00:16.280 Q: which-key was a third-party package for a long time. Is there work to bring any other popular packages into core Emacs for Emacs 31+? (magit, counsel, etc)
04:06.467 Q: Any way to get the goodness of Emacs for android with this other stuff?
05:15.754 Q: Does package-vc download a tarball from the specified git repository or clone the repository itself?
@@ -36,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="emacs30-qanda-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://pad.emacsconf.org/2024-emacs30">Open Etherpad</a></li><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 15e63ee8..d3d7099f 100644
--- a/2024/info/guile-before.md
+++ b/2024/info/guile-before.md
@@ -1,7 +1,6 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
[[!toc ]]
Format: 16-min talk ; Q&A: BigBlueButton conference room
-Etherpad: <https://pad.emacsconf.org/2024-guile>
Status: TO_CAPTION_QA
@@ -10,11 +9,11 @@ Status: TO_CAPTION_QA
# Talk
-<div class="vid"><video controls preload="none" id="guile-mainVideo"><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://pad.emacsconf.org/2024-guile">Open Etherpad</a></li><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
-<div class="vid"><video controls preload="none" id="guile-qanda"><source src="https://media.emacsconf.org/2024/emacsconf-2024-guile--beguiling-emacs-guileemacs-relaunched--robin-templeton--answers.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-guile--beguiling-emacs-guileemacs-relaunched--robin-templeton--answers.vtt" default />"""<track kind="chapters" label="Chapters" src="/2024/captions/emacsconf-2024-guile--beguiling-emacs-guileemacs-relaunched--robin-templeton--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="guile-qanda" data="""
+<div class="vid qanda"><video controls preload="none" id="qanda-guile"><source src="https://media.emacsconf.org/2024/emacsconf-2024-guile--beguiling-emacs-guileemacs-relaunched--robin-templeton--answers.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-guile--beguiling-emacs-guileemacs-relaunched--robin-templeton--answers.vtt" default />"""<track kind="chapters" label="Chapters" src="/2024/captions/emacsconf-2024-guile--beguiling-emacs-guileemacs-relaunched--robin-templeton--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-guile" data="""
03:01.480 Q: About fibers: My understanding is that the problem with making Elisp concurrent is that none of the data structures (buffer, cons, vector, window etc) are concurrency-safe.  How do fibers help with this?
04:28.080 Q: Do you have a rough idea of how much of Guile is written in C?
06:19.240 Q: A Common Lisp implementation for Guile sounds really cool! Is there already work on this underway?
@@ -23,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="guile-qanda-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://pad.emacsconf.org/2024-guile">Open Etherpad</a></li><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 d778a3ff..7f437b35 100644
--- a/2024/info/gypsum-before.md
+++ b/2024/info/gypsum-before.md
@@ -1,7 +1,6 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
[[!toc ]]
Format: 25-min talk ; Q&A: BigBlueButton conference room
-Etherpad: <https://pad.emacsconf.org/2024-gypsum>
Status: TO_CAPTION_QA
@@ -10,20 +9,20 @@ Status: TO_CAPTION_QA
# Talk
-<div class="vid"><video controls preload="none" id="gypsum-mainVideo"><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://pad.emacsconf.org/2024-gypsum">Open Etherpad</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--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"><video controls preload="none" id="gypsum-qanda"><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="gypsum-qanda" 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="gypsum-qanda-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://pad.emacsconf.org/2024-gypsum">Open Etherpad</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--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>
+<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: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 08e278fd..4f40ce4a 100644
--- a/2024/info/hyperbole-before.md
+++ b/2024/info/hyperbole-before.md
@@ -3,7 +3,6 @@ May take questions after the event depending on how his move goes
[[!toc ]]
Format: 15-min talk ; Q&A: BigBlueButton conference room
-Etherpad: <https://pad.emacsconf.org/2024-hyperbole>
Status: TO_CAPTION_QA
@@ -12,7 +11,7 @@ Status: TO_CAPTION_QA
# Talk
-<div class="vid"><video controls preload="none" id="hyperbole-mainVideo"><source src="https://media.emacsconf.org/2024/emacsconf-2024-hyperbole--fun-things-with-gnu-hyperbole--mats-lidell--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-hyperbole--fun-things-with-gnu-hyperbole--mats-lidell--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2024/captions/emacsconf-2024-hyperbole--fun-things-with-gnu-hyperbole--mats-lidell--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="hyperbole-mainVideo" data="""
+<div class="vid mainVideo"><video controls preload="none" id="mainVideo-hyperbole"><source src="https://media.emacsconf.org/2024/emacsconf-2024-hyperbole--fun-things-with-gnu-hyperbole--mats-lidell--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-hyperbole--fun-things-with-gnu-hyperbole--mats-lidell--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2024/captions/emacsconf-2024-hyperbole--fun-things-with-gnu-hyperbole--mats-lidell--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-hyperbole" data="""
00:00.000 Introduction
00:41.299 The action key and the assist key
02:22.840 Composing an e-mail
@@ -21,16 +20,16 @@ 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://pad.emacsconf.org/2024-hyperbole">Open Etherpad</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><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
-<div class="vid"><video controls preload="none" id="hyperbole-qanda"><source src="https://media.emacsconf.org/2024/emacsconf-2024-hyperbole--fun-things-with-gnu-hyperbole--mats-lidell--answers.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-hyperbole--fun-things-with-gnu-hyperbole--mats-lidell--answers.vtt" default />"""<track kind="chapters" label="Chapters" src="/2024/captions/emacsconf-2024-hyperbole--fun-things-with-gnu-hyperbole--mats-lidell--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="hyperbole-qanda" data="""
+<div class="vid qanda"><video controls preload="none" id="qanda-hyperbole"><source src="https://media.emacsconf.org/2024/emacsconf-2024-hyperbole--fun-things-with-gnu-hyperbole--mats-lidell--answers.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-hyperbole--fun-things-with-gnu-hyperbole--mats-lidell--answers.vtt" default />"""<track kind="chapters" label="Chapters" src="/2024/captions/emacsconf-2024-hyperbole--fun-things-with-gnu-hyperbole--mats-lidell--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-hyperbole" data="""
04:51.194 Q: How is the log buffer generated?
05:21.051 Q: So, the "select a thing" C-c RET is similar to expand-region? How does it behave in codes (functions, class, ...)
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="hyperbole-qanda-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://pad.emacsconf.org/2024-hyperbole">Open Etherpad</a></li><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-after.md b/2024/info/hyperdrive-after.md
index 12461ec8..6727bb6e 100644
--- a/2024/info/hyperdrive-after.md
+++ b/2024/info/hyperdrive-after.md
@@ -288,7 +288,7 @@
Captioner: sachac
-<div class="transcript transcript-qanda"><a name="hyperdrive-qanda-transcript"></a><h1>Q&A transcript (unedited)</h1>
+<div class="transcript transcript-qanda"><a name="hyperdrive-qanda-transcript"></a><h1>Q&A transcript</h1>
<div class="transcript-heading">[[!template new="1" text="""New version of hyperdrive.el""" start="00:00:00.000" video="qanda-hyperdrive" id="subtitle"]]</div>[[!template text="""One thing I wanted to mention was that""" start="00:00:00.000" video="qanda-hyperdrive" id="subtitle"]]
diff --git a/2024/info/hyperdrive-before.md b/2024/info/hyperdrive-before.md
index ce013637..1f1493d8 100644
--- a/2024/info/hyperdrive-before.md
+++ b/2024/info/hyperdrive-before.md
@@ -1,7 +1,6 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
[[!toc ]]
Format: 21-min talk ; Q&A: BigBlueButton conference room
-Etherpad: <https://pad.emacsconf.org/2024-hyperdrive>
Status: TO_CAPTION_QA
@@ -10,16 +9,16 @@ Status: TO_CAPTION_QA
# Talk
-<div class="vid"><video controls preload="none" id="hyperdrive-mainVideo"><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://pad.emacsconf.org/2024-hyperdrive">Open Etherpad</a></li><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>
+<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
-<div class="vid"><video controls preload="none" id="hyperdrive-qanda"><source src="https://media.emacsconf.org/2024/emacsconf-2024-hyperdrive--new-in-hyperdriveel-quick-install-peer-graph-transclusion--joseph-turner--answers.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--answers.vtt" default />"""<track kind="chapters" label="Chapters" src="/2024/captions/emacsconf-2024-hyperdrive--new-in-hyperdriveel-quick-install-peer-graph-transclusion--joseph-turner--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="hyperdrive-qanda" data="""
+<div class="vid qanda"><video controls preload="none" id="qanda-hyperdrive"><source src="https://media.emacsconf.org/2024/emacsconf-2024-hyperdrive--new-in-hyperdriveel-quick-install-peer-graph-transclusion--joseph-turner--answers.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--answers.vtt" default />"""<track kind="chapters" label="Chapters" src="/2024/captions/emacsconf-2024-hyperdrive--new-in-hyperdriveel-quick-install-peer-graph-transclusion--joseph-turner--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-hyperdrive" data="""
00:00.000 New version of hyperdrive.el
01:06.687 Q: Network effects are tricky - do you know of any public shares people can join to try this tool out properly?
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="hyperdrive-qanda-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://pad.emacsconf.org/2024-hyperdrive">Open Etherpad</a></li><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 (10MB)</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> (unedited)</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 --> \ 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 1da110dc..e9d43975 100644
--- a/2024/info/julia-before.md
+++ b/2024/info/julia-before.md
@@ -1,7 +1,6 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
[[!toc ]]
Format: 10-min talk ; Q&A: BigBlueButton conference room
-Etherpad: <https://pad.emacsconf.org/2024-julia>
Status: TO_CAPTION_QA
@@ -10,18 +9,18 @@ Status: TO_CAPTION_QA
# Talk
-<div class="vid"><video controls preload="none" id="julia-mainVideo"><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://pad.emacsconf.org/2024-julia">Open Etherpad</a></li><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"><video controls preload="none" id="julia-qanda"><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="julia-qanda" 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 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.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="julia-qanda-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://pad.emacsconf.org/2024-julia">Open Etherpad</a></li><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>
+"""]]<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 e54e30a7..432d6c2d 100644
--- a/2024/info/learning-before.md
+++ b/2024/info/learning-before.md
@@ -1,7 +1,6 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
[[!toc ]]
Format: 20-min talk ; Q&A: BigBlueButton conference room
-Etherpad: <https://pad.emacsconf.org/2024-learning>
Status: TO_CAPTION_QA
@@ -10,7 +9,7 @@ Status: TO_CAPTION_QA
# Talk
-<div class="vid"><video controls preload="none" id="learning-mainVideo"><source src="https://media.emacsconf.org/2024/emacsconf-2024-learning--survival-of-the-skillest-thriving-in-the-learning-jungle--bala-ramadurai--main.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--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2024/captions/emacsconf-2024-learning--survival-of-the-skillest-thriving-in-the-learning-jungle--bala-ramadurai--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="learning-mainVideo" data="""
+<div class="vid mainVideo"><video controls preload="none" id="mainVideo-learning"><source src="https://media.emacsconf.org/2024/emacsconf-2024-learning--survival-of-the-skillest-thriving-in-the-learning-jungle--bala-ramadurai--main.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--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2024/captions/emacsconf-2024-learning--survival-of-the-skillest-thriving-in-the-learning-jungle--bala-ramadurai--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-learning" data="""
00:00.300 Introduction
01:35.350 What is a skill?
01:47.424 Why should you learn a new skill?
@@ -29,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://pad.emacsconf.org/2024-learning">Open Etherpad</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><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"><video controls preload="none" id="learning-qanda"><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="learning-qanda" data="""
+<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="learning-qanda-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://pad.emacsconf.org/2024-learning">Open Etherpad</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--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 ee97d910..fadd060a 100644
--- a/2024/info/links-before.md
+++ b/2024/info/links-before.md
@@ -1,14 +1,13 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
[[!toc ]]
Format: 12-min talk ; Q&A: Etherpad
-Etherpad: <https://pad.emacsconf.org/2024-links>
Status: TO_FOLLOW_UP
-<div class="vid"><video controls preload="none" id="links-mainVideo"><source src="https://media.emacsconf.org/2024/emacsconf-2024-links--unlocking-linked-data-replacing-specialized-apps-with-an-orgbased-semantic-wiki--abhinav-tushar--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-links--unlocking-linked-data-replacing-specialized-apps-with-an-orgbased-semantic-wiki--abhinav-tushar--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2024/captions/emacsconf-2024-links--unlocking-linked-data-replacing-specialized-apps-with-an-orgbased-semantic-wiki--abhinav-tushar--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="links-mainVideo" data="""
+<div class="vid mainVideo"><video controls preload="none" id="mainVideo-links"><source src="https://media.emacsconf.org/2024/emacsconf-2024-links--unlocking-linked-data-replacing-specialized-apps-with-an-orgbased-semantic-wiki--abhinav-tushar--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-links--unlocking-linked-data-replacing-specialized-apps-with-an-orgbased-semantic-wiki--abhinav-tushar--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2024/captions/emacsconf-2024-links--unlocking-linked-data-replacing-specialized-apps-with-an-orgbased-semantic-wiki--abhinav-tushar--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-links" data="""
00:00.000 Specialized Apps and Linked Data
01:30.000 Discovering Org Roam and Linked Notes
02:53.000 Enhanced Org Roam Buffer: Rich Links and Similar Nodes
@@ -16,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://pad.emacsconf.org/2024-links">Open Etherpad</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--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 12fd0adc..78a10476 100644
--- a/2024/info/literate-before.md
+++ b/2024/info/literate-before.md
@@ -1,7 +1,6 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
[[!toc ]]
Format: 16-min talk ; Q&A: BigBlueButton conference room
-Etherpad: <https://pad.emacsconf.org/2024-literate>
Status: TO_CAPTION_QA
@@ -10,7 +9,7 @@ Status: TO_CAPTION_QA
# Talk
-<div class="vid"><video controls preload="none" id="literate-mainVideo"><source src="https://media.emacsconf.org/2024/emacsconf-2024-literate--literate-programming-for-the-21st-century--howard-abrams--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-literate--literate-programming-for-the-21st-century--howard-abrams--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2024/captions/emacsconf-2024-literate--literate-programming-for-the-21st-century--howard-abrams--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="literate-mainVideo" data="""
+<div class="vid mainVideo"><video controls preload="none" id="mainVideo-literate"><source src="https://media.emacsconf.org/2024/emacsconf-2024-literate--literate-programming-for-the-21st-century--howard-abrams--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-literate--literate-programming-for-the-21st-century--howard-abrams--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2024/captions/emacsconf-2024-literate--literate-programming-for-the-21st-century--howard-abrams--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-literate" data="""
00:00.000 Introduction
01:35.253 Do I still literate?
03:06.332 Advantages
@@ -27,11 +26,11 @@ 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://pad.emacsconf.org/2024-literate">Open Etherpad</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><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
-<div class="vid"><video controls preload="none" id="literate-qanda"><source src="https://media.emacsconf.org/2024/emacsconf-2024-literate--literate-programming-for-the-21st-century--howard-abrams--answers.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-literate--literate-programming-for-the-21st-century--howard-abrams--answers.vtt" default />"""<track kind="chapters" label="Chapters" src="/2024/captions/emacsconf-2024-literate--literate-programming-for-the-21st-century--howard-abrams--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="literate-qanda" data="""
+<div class="vid qanda"><video controls preload="none" id="qanda-literate"><source src="https://media.emacsconf.org/2024/emacsconf-2024-literate--literate-programming-for-the-21st-century--howard-abrams--answers.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-literate--literate-programming-for-the-21st-century--howard-abrams--answers.vtt" default />"""<track kind="chapters" label="Chapters" src="/2024/captions/emacsconf-2024-literate--literate-programming-for-the-21st-century--howard-abrams--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-literate" data="""
02:07.400 Q: What's the largest code base you've ever tackled with the literate approach (esp. Emacs + Org-mode)?
03:58.080 Q: Have you ever used org-transclusion?
04:08.440 Q: What is your usage of dynamic blocks in such workflows?
@@ -49,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="literate-qanda-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://pad.emacsconf.org/2024-literate">Open Etherpad</a></li><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 0cdcd67d..84d8dad2 100644
--- a/2024/info/maxima-before.md
+++ b/2024/info/maxima-before.md
@@ -1,7 +1,6 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
[[!toc ]]
Format: 31-min talk ; Q&A: Etherpad
-Etherpad: <https://pad.emacsconf.org/2024-maxima>
Status: TO_FOLLOW_UP
@@ -10,10 +9,10 @@ Status: TO_FOLLOW_UP
# Talk
-<div class="vid"><video controls preload="none" id="maxima-mainVideo"><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://pad.emacsconf.org/2024-maxima">Open Etherpad</a></li><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
-<div class="vid"><div></div><div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2024-maxima">Open Etherpad</a></li><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></ul></div></div>
+<div class="vid qanda"><div></div><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></ul></div></div>
# Description
<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2024/info/mcclim-before.md b/2024/info/mcclim-before.md
index 4cb477c4..70b4798e 100644
--- a/2024/info/mcclim-before.md
+++ b/2024/info/mcclim-before.md
@@ -1,7 +1,6 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
[[!toc ]]
Format: 35-min talk ; Q&A: BigBlueButton conference room
-Etherpad: <https://pad.emacsconf.org/2024-mcclim>
Status: TO_CAPTION_QA
@@ -10,17 +9,17 @@ Status: TO_CAPTION_QA
# Talk
-<div class="vid"><video controls preload="none" id="mcclim-mainVideo"><source src="https://media.emacsconf.org/2024/emacsconf-2024-mcclim--elisp-and-mcclim--screwlisp--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-mcclim--elisp-and-mcclim--screwlisp--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2024/captions/emacsconf-2024-mcclim--elisp-and-mcclim--screwlisp--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="mcclim-mainVideo" data="""
+<div class="vid mainVideo"><video controls preload="none" id="mainVideo-mcclim"><source src="https://media.emacsconf.org/2024/emacsconf-2024-mcclim--elisp-and-mcclim--screwlisp--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-mcclim--elisp-and-mcclim--screwlisp--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2024/captions/emacsconf-2024-mcclim--elisp-and-mcclim--screwlisp--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-mcclim" data="""
00:01.750 Introduction
03:21.702 Calendar
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://pad.emacsconf.org/2024-mcclim">Open Etherpad</a></li><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
-<div class="vid"><video controls preload="none" id="mcclim-qanda"><source src="https://media.emacsconf.org/2024/emacsconf-2024-mcclim--elisp-and-mcclim--screwlisp--answers.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-mcclim--elisp-and-mcclim--screwlisp--answers.vtt" default />"""<track kind="chapters" label="Chapters" src="/2024/captions/emacsconf-2024-mcclim--elisp-and-mcclim--screwlisp--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="mcclim-qanda" data="""
+<div class="vid qanda"><video controls preload="none" id="qanda-mcclim"><source src="https://media.emacsconf.org/2024/emacsconf-2024-mcclim--elisp-and-mcclim--screwlisp--answers.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-mcclim--elisp-and-mcclim--screwlisp--answers.vtt" default />"""<track kind="chapters" label="Chapters" src="/2024/captions/emacsconf-2024-mcclim--elisp-and-mcclim--screwlisp--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-mcclim" data="""
00:00.000 I would love to see the GUI interacting with the scheduling stuff
00:57.560 Q: Or any other GUI stuff you've worked on in the past that you'd be comfortable showing?
03:07.400 Lispy Gopher Show
@@ -28,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="mcclim-qanda-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://pad.emacsconf.org/2024-mcclim">Open Etherpad</a></li><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/open-mic-before.md b/2024/info/open-mic-before.md
index a1a591b4..3c50e1fa 100644
--- a/2024/info/open-mic-before.md
+++ b/2024/info/open-mic-before.md
@@ -1,14 +1,13 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
[[!toc ]]
Format: 41-min talk ; Q&A: BigBlueButton conference room
-Etherpad: <https://pad.emacsconf.org/2024-open-mic>
Status: TO_CAPTION_QA
-<div class="vid"><video controls preload="none" id="open-mic-mainVideo"><source src="https://media.emacsconf.org/2024/emacsconf-2024-open-mic--open-micpad-for-quick-updates-etc--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-open-mic--open-micpad-for-quick-updates-etc--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2024/captions/emacsconf-2024-open-mic--open-micpad-for-quick-updates-etc--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="open-mic-mainVideo" data="""
+<div class="vid mainVideo"><video controls preload="none" id="mainVideo-open-mic"><source src="https://media.emacsconf.org/2024/emacsconf-2024-open-mic--open-micpad-for-quick-updates-etc--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-open-mic--open-micpad-for-quick-updates-etc--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2024/captions/emacsconf-2024-open-mic--open-micpad-for-quick-updates-etc--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-open-mic" data="""
03:08.240 Vertico
05:58.720 which-key
06:46.080 eldoc
@@ -18,6 +17,6 @@ Status: TO_CAPTION_QA
19:00.280 org-web-tools
20:28.240 qutebrowser
-"""]]<div></div>Duration: 40:13 minutes<div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2024-open-mic">Open Etherpad</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-open-mic--open-micpad-for-quick-updates-etc--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-open-mic--open-micpad-for-quick-updates-etc--main.vtt">Download --main.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-open-mic--open-micpad-for-quick-updates-etc--main.webm">Download --main.webm (126MB)</a></li></ul></div></div>
+"""]]<div></div>Duration: 40:13 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-open-mic--open-micpad-for-quick-updates-etc--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-open-mic--open-micpad-for-quick-updates-etc--main.vtt">Download --main.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-open-mic--open-micpad-for-quick-updates-etc--main.webm">Download --main.webm (126MB)</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 0bfb03fd..886b43b2 100644
--- a/2024/info/org-update-before.md
+++ b/2024/info/org-update-before.md
@@ -1,7 +1,6 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
[[!toc ]]
Format: 40-min talk ; Q&A: BigBlueButton conference room
-Etherpad: <https://pad.emacsconf.org/2024-org-update>
Status: TO_CAPTION_QA
@@ -10,7 +9,7 @@ Status: TO_CAPTION_QA
# Talk
-<div class="vid"><video controls preload="none" id="org-update-mainVideo"><source src="https://media.emacsconf.org/2024/emacsconf-2024-org-update--the-future-of-org--ihor-radchenko--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-org-update--the-future-of-org--ihor-radchenko--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2024/captions/emacsconf-2024-org-update--the-future-of-org--ihor-radchenko--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="org-update-mainVideo" data="""
+<div class="vid mainVideo"><video controls preload="none" id="mainVideo-org-update"><source src="https://media.emacsconf.org/2024/emacsconf-2024-org-update--the-future-of-org--ihor-radchenko--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-org-update--the-future-of-org--ihor-radchenko--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2024/captions/emacsconf-2024-org-update--the-future-of-org--ihor-radchenko--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-org-update" data="""
00:00.000 Introduction
01:14.280 Message from Bastien Guerry
03:15.920 My step-by-step journey to Org maintenance
@@ -40,11 +39,11 @@ 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://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></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
-<div class="vid"><video controls preload="none" id="org-update-qanda"><source src="https://media.emacsconf.org/2024/emacsconf-2024-org-update--the-future-of-org--ihor-radchenko--answers.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-org-update--the-future-of-org--ihor-radchenko--answers.vtt" default />"""<track kind="chapters" label="Chapters" src="/2024/captions/emacsconf-2024-org-update--the-future-of-org--ihor-radchenko--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="org-update-qanda" data="""
+<div class="vid qanda"><video controls preload="none" id="qanda-org-update"><source src="https://media.emacsconf.org/2024/emacsconf-2024-org-update--the-future-of-org--ihor-radchenko--answers.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-org-update--the-future-of-org--ihor-radchenko--answers.vtt" default />"""<track kind="chapters" label="Chapters" src="/2024/captions/emacsconf-2024-org-update--the-future-of-org--ihor-radchenko--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-org-update" data="""
01:42.686 Q: Is the track-changes item about the org-element parser?
02:52.665 Q: Could you please keep IRC alive? I prefer it to Matrix
04:07.988 Q: Is there any plan for adding support for other modalities of notes like handwritten,  audio, etc.?
@@ -55,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="org-update-qanda-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></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 a09c23c8..fc7c8c39 100644
--- a/2024/info/p-search-before.md
+++ b/2024/info/p-search-before.md
@@ -1,7 +1,6 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
[[!toc ]]
Format: 23-min talk ; Q&A: BigBlueButton conference room
-Etherpad: <https://pad.emacsconf.org/2024-p-search>
Status: TO_CAPTION_QA
@@ -10,7 +9,7 @@ Status: TO_CAPTION_QA
# Talk
-<div class="vid"><video controls preload="none" id="p-search-mainVideo"><source src="https://media.emacsconf.org/2024/emacsconf-2024-p-search--psearch-a-local-search-engine-in-emacs--zac-romero--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-p-search--psearch-a-local-search-engine-in-emacs--zac-romero--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2024/captions/emacsconf-2024-p-search--psearch-a-local-search-engine-in-emacs--zac-romero--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="p-search-mainVideo" data="""
+<div class="vid mainVideo"><video controls preload="none" id="mainVideo-p-search"><source src="https://media.emacsconf.org/2024/emacsconf-2024-p-search--psearch-a-local-search-engine-in-emacs--zac-romero--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-p-search--psearch-a-local-search-engine-in-emacs--zac-romero--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2024/captions/emacsconf-2024-p-search--psearch-a-local-search-engine-in-emacs--zac-romero--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-p-search" data="""
00:00.000 Search in daily workflows
01:24.200 Problems with editor search tools
03:58.233 Information retrieval
@@ -24,11 +23,11 @@ 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://pad.emacsconf.org/2024-p-search">Open Etherpad</a></li><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
-<div class="vid"><video controls preload="none" id="p-search-qanda"><source src="https://media.emacsconf.org/2024/emacsconf-2024-p-search--psearch-a-local-search-engine-in-emacs--zac-romero--answers.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-p-search--psearch-a-local-search-engine-in-emacs--zac-romero--answers.vtt" default />"""<track kind="chapters" label="Chapters" src="/2024/captions/emacsconf-2024-p-search--psearch-a-local-search-engine-in-emacs--zac-romero--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="p-search-qanda" data="""
+<div class="vid qanda"><video controls preload="none" id="qanda-p-search"><source src="https://media.emacsconf.org/2024/emacsconf-2024-p-search--psearch-a-local-search-engine-in-emacs--zac-romero--answers.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-p-search--psearch-a-local-search-engine-in-emacs--zac-romero--answers.vtt" default />"""<track kind="chapters" label="Chapters" src="/2024/captions/emacsconf-2024-p-search--psearch-a-local-search-engine-in-emacs--zac-romero--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-p-search" data="""
00:22.970 Q: Do you think a reduced version of this functionality could be integrated into isearch?
02:45.360 Q: Any idea how this would work with personal information like Zettlekastens?
04:22.041 Q: How good does the search work for synonyms especially if you use different languages?
@@ -54,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="p-search-qanda-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://pad.emacsconf.org/2024-p-search">Open Etherpad</a></li><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-after.md b/2024/info/papers-after.md
index fa3043b2..667c8553 100644
--- a/2024/info/papers-after.md
+++ b/2024/info/papers-after.md
@@ -177,22 +177,25 @@ Captioner: sachac
<div class="transcript transcript-qanda"><a name="papers-qanda-transcript"></a><h1>Q&A transcript (unedited)</h1>
-[[!template text="""mentally over the next couple of days, but I can assure you""" start="00:00:00.000" video="qanda-papers" id="subtitle"]]
-[[!template text="""that it will be many organizers in the background also""" start="00:00:04.640" video="qanda-papers" id="subtitle"]]
+[[!template text="""... mentally over the next couple of days, but I can assure you""" start="00:00:00.000" video="qanda-papers" id="subtitle"]]
+[[!template text="""that it will be many organizers in the background also""" start="00:00:03.668" video="qanda-papers" id="subtitle"]]
[[!template text="""working. You'll probably get to see us later on. But for now,""" start="00:00:06.760" video="qanda-papers" id="subtitle"]]
-[[!template text="""without further ado, I want to say hi to Vincent. Hi,""" start="00:00:10.200" video="qanda-papers" id="subtitle"]]
-[[!template text="""Vincent. Hi, thanks for having me. Yeah, and thanks for""" start="00:00:13.640" video="qanda-papers" id="subtitle"]]
-[[!template text="""coming and thanks for presenting. I mean, you didn't decide""" start="00:00:19.040" video="qanda-papers" id="subtitle"]]
-[[!template text="""to go first. It's mostly the time zone for you which decided""" start="00:00:22.920" video="qanda-papers" id="subtitle"]]
-[[!template text="""for you because I believe you are in Japan, correctly. Yeah,""" start="00:00:25.640" video="qanda-papers" id="subtitle"]]
+[[!template text="""without further ado, I want to say hi to Vincent.""" start="00:00:10.200" video="qanda-papers" id="subtitle"]]
+[[!template text="""Hi, Vincent.""" start="00:00:12.776" video="qanda-papers" id="subtitle"]]
+[[!template text="""Hi, thanks for having me.""" start="00:00:15.418" video="qanda-papers" id="subtitle"]]
+[[!template text="""Yeah, and thanks for""" start="00:00:17.459" video="qanda-papers" id="subtitle"]]
+[[!template text="""coming and thanks for presenting. I mean, you didn't decide""" start="00:00:18.140" video="qanda-papers" id="subtitle"]]
+[[!template text="""to go first. It's mostly the time zone for you which decided""" start="00:00:22.942" video="qanda-papers" id="subtitle"]]
+[[!template text="""for you because I believe you are in Japan, correctly. Yeah,""" start="00:00:25.724" video="qanda-papers" id="subtitle"]]
[[!template text="""exactly. So I'm living there now and it's very late. It's""" start="00:00:28.920" video="qanda-papers" id="subtitle"]]
[[!template text="""really funny to see everyone saying good morning in the""" start="00:00:33.040" video="qanda-papers" id="subtitle"]]
[[!template text="""chat. It's always the same for me. So personally, I'm in""" start="00:00:37.320" video="qanda-papers" id="subtitle"]]
[[!template text="""France. So for me, it's only 3 p.m. For you, it's probably 9 or""" start="00:00:39.960" video="qanda-papers" id="subtitle"]]
[[!template text="""10 p.m. if I'm correct. Already 11 here, yeah. It's already""" start="00:00:43.960" video="qanda-papers" id="subtitle"]]
-[[!template text="""11, so thank you for staying up so late for us. And how about we""" start="00:00:47.960" video="qanda-papers" id="subtitle"]]
-[[!template text="""just get started with the questions because you've just""" start="00:00:53.520" video="qanda-papers" id="subtitle"]]
-[[!template text="""presented something that is very dear to my heart, which is""" start="00:00:55.640" video="qanda-papers" id="subtitle"]]
+[[!template text="""11, so thank you for staying up so late for us.""" start="00:00:47.960" video="qanda-papers" id="subtitle"]]
+[[!template text="""And how about we just get started with the questions""" start="00:00:51.679" video="qanda-papers" id="subtitle"]]
+[[!template text="""because you've just presented something""" start="00:00:55.182" video="qanda-papers" id="subtitle"]]
+[[!template text="""that is very dear to my heart, which is""" start="00:00:56.522" video="qanda-papers" id="subtitle"]]
[[!template text="""writing academic paper with Org Mode, which is, for the""" start="00:00:59.240" video="qanda-papers" id="subtitle"]]
[[!template text="""record, how I got started with Org Roam and stuff like this.""" start="00:01:01.960" video="qanda-papers" id="subtitle"]]
[[!template text="""So, unless you've got anything else to add on top of your""" start="00:01:05.280" video="qanda-papers" id="subtitle"]]
@@ -243,9 +246,9 @@ Captioner: sachac
[[!template text="""hand in Emacs.""" start="00:04:10.160" video="qanda-papers" id="subtitle"]]
[[!template text="""I was just going to add something because you know""" start="00:04:12.960" video="qanda-papers" id="subtitle"]]
[[!template text="""org-roam-bibtex is actually one of the packages that I""" start="00:04:16.160" video="qanda-papers" id="subtitle"]]
-[[!template text="""developed and I got it working with Zotero because for me it""" start="00:04:20.920" video="qanda-papers" id="subtitle"]]
-[[!template text="""was convenient. I was studying humanities and for me it was""" start="00:04:25.280" video="qanda-papers" id="subtitle"]]
-[[!template text="""very easy to connect reference taken in my browser with""" start="00:04:28.840" video="qanda-papers" id="subtitle"]]
+[[!template text="""developed and I got it working with Zotero because for me it""" start="00:04:19.025" video="qanda-papers" id="subtitle"]]
+[[!template text="""was convenient. I was studying humanities and for me it was""" start="00:04:25.400" video="qanda-papers" id="subtitle"]]
+[[!template text="""very easy to connect reference taken in my browser with""" start="00:04:28.525" video="qanda-papers" id="subtitle"]]
[[!template text="""Zotero and just post-processing them a little bit but it is""" start="00:04:32.600" video="qanda-papers" id="subtitle"]]
[[!template text="""possible to make org-roam, org-roam-bibtex and Zotero""" start="00:04:36.800" video="qanda-papers" id="subtitle"]]
[[!template text="""work together. But it's a little bit of an involved process to""" start="00:04:40.280" video="qanda-papers" id="subtitle"]]
@@ -327,21 +330,21 @@ Captioner: sachac
[[!template text="""answer is no. That's mostly what I was presenting in the""" start="00:09:38.200" video="qanda-papers" id="subtitle"]]
[[!template text="""slide.""" start="00:09:43.240" video="qanda-papers" id="subtitle"]]
[[!template text="""Actually, that's also why I made the presentation, because""" start="00:09:44.280" video="qanda-papers" id="subtitle"]]
-[[!template text="""if someone has a solution, I would gladly take it. No, the way""" start="00:09:50.840" video="qanda-papers" id="subtitle"]]
-[[!template text="""I do it is that I have to add a I don't have that on top of my head.""" start="00:09:59.760" video="qanda-papers" id="subtitle"]]
-[[!template text="""plus. Yeah, exactly. So I just make a custom class with the""" start="00:10:05.080" video="qanda-papers" id="subtitle"]]
-[[!template text="""name of the latex template. In general, I think people use""" start="00:10:10.600" video="qanda-papers" id="subtitle"]]
+[[!template text="""if someone has a solution, I would gladly take it. No, the way""" start="00:09:48.001" video="qanda-papers" id="subtitle"]]
+[[!template text="""I do it is that I have to add a... I don't have that on top of my head.""" start="00:09:51.941" video="qanda-papers" id="subtitle"]]
+[[!template text="""plus. Yeah, exactly. So I just make a custom org-latex class with the""" start="00:09:57.501" video="qanda-papers" id="subtitle"]]
+[[!template text="""name of the latex template. In general, I think people use""" start="00:10:09.583" video="qanda-papers" id="subtitle"]]
[[!template text="""that to redefine like stuff like section and subsection,""" start="00:10:16.160" video="qanda-papers" id="subtitle"]]
[[!template text="""but for me, I just, it shows in the slide where I just map the""" start="00:10:19.360" video="qanda-papers" id="subtitle"]]
[[!template text="""section to the same section. I just changed the name of the""" start="00:10:24.280" video="qanda-papers" id="subtitle"]]
[[!template text="""class. And this way it allows to import the, the CLS and then""" start="00:10:27.240" video="qanda-papers" id="subtitle"]]
-[[!template text="""the rest is just like putting the tech template that is""" start="00:10:33.720" video="qanda-papers" id="subtitle"]]
+[[!template text="""the rest is just like putting the TeX template that is""" start="00:10:33.720" video="qanda-papers" id="subtitle"]]
[[!template text="""provided either in headers, in LaTeX headers at the top or""" start="00:10:39.080" video="qanda-papers" id="subtitle"]]
[[!template text="""Yeah, or just on a LaTeX block in the body of the document if""" start="00:10:48.520" video="qanda-papers" id="subtitle"]]
[[!template text="""that's needed, for example, for the acknowledgement.""" start="00:10:56.080" video="qanda-papers" id="subtitle"]]
[[!template text="""Sometimes they need some different formatting, but no,""" start="00:11:02.040" video="qanda-papers" id="subtitle"]]
[[!template text="""it's not really easy because it needs to modify some""" start="00:11:05.760" video="qanda-papers" id="subtitle"]]
-[[!template text="""configuration in Unix to do that. Then after that, a little""" start="00:11:09.080" video="qanda-papers" id="subtitle"]]
+[[!template text="""configuration in Emacs to do that. Then after that, a little""" start="00:11:09.080" video="qanda-papers" id="subtitle"]]
[[!template text="""bit like manually adapt the templates into your org notes.""" start="00:11:12.360" video="qanda-papers" id="subtitle"]]
[[!template text="""So that's a little bit some upfront work to do. But once it's""" start="00:11:15.720" video="qanda-papers" id="subtitle"]]
[[!template text="""done, your notes are going to be exported exactly like the""" start="00:11:18.800" video="qanda-papers" id="subtitle"]]
diff --git a/2024/info/papers-before.md b/2024/info/papers-before.md
index 4c3292b8..46876d15 100644
--- a/2024/info/papers-before.md
+++ b/2024/info/papers-before.md
@@ -1,7 +1,6 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
[[!toc ]]
Format: 11-min talk ; Q&A: BigBlueButton conference room
-Etherpad: <https://pad.emacsconf.org/2024-papers>
Status: TO_CAPTION_QA
@@ -10,7 +9,7 @@ Status: TO_CAPTION_QA
# Talk
-<div class="vid"><video controls preload="none" id="papers-mainVideo"><source src="https://media.emacsconf.org/2024/emacsconf-2024-papers--writing-academic-papers-in-orgroam--vincent-conus--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-papers--writing-academic-papers-in-orgroam--vincent-conus--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2024/captions/emacsconf-2024-papers--writing-academic-papers-in-orgroam--vincent-conus--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="papers-mainVideo" data="""
+<div class="vid mainVideo"><video controls preload="none" id="mainVideo-papers"><source src="https://media.emacsconf.org/2024/emacsconf-2024-papers--writing-academic-papers-in-orgroam--vincent-conus--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-papers--writing-academic-papers-in-orgroam--vincent-conus--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2024/captions/emacsconf-2024-papers--writing-academic-papers-in-orgroam--vincent-conus--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-papers" data="""
00:00.000 Introduction
00:20.130 What?
01:21.377 Why?
@@ -24,11 +23,11 @@ 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://pad.emacsconf.org/2024-papers">Open Etherpad</a></li><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
-<div class="vid"><video controls preload="none" id="papers-qanda"><source src="https://media.emacsconf.org/2024/emacsconf-2024-papers--writing-academic-papers-in-orgroam--vincent-conus--answers.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-papers--writing-academic-papers-in-orgroam--vincent-conus--answers.vtt" default />"""<track kind="chapters" label="Chapters" src="/2024/captions/emacsconf-2024-papers--writing-academic-papers-in-orgroam--vincent-conus--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="papers-qanda" data="""
+<div class="vid qanda"><video controls preload="none" id="qanda-papers"><source src="https://media.emacsconf.org/2024/emacsconf-2024-papers--writing-academic-papers-in-orgroam--vincent-conus--answers.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-papers--writing-academic-papers-in-orgroam--vincent-conus--answers.vtt" default />"""<track kind="chapters" label="Chapters" src="/2024/captions/emacsconf-2024-papers--writing-academic-papers-in-orgroam--vincent-conus--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-papers" data="""
01:23.160 Q: I'd be interested how to start this journey of writing academic papers in Org-Roam when not having used Emacs Org-Mode yet? Thanks!
02:35.840 Q: How about connecting Emacs Org-Roam to Zotero? Is that something you have experience with?
02:55.600 Q: Out of curiosity, how do you manage your bibliography? Do you do it from inside Emacs, or using a separate program like Zotero?
@@ -38,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="papers-qanda-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://pad.emacsconf.org/2024-papers">Open Etherpad</a></li><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 d6373c55..1770f8ee 100644
--- a/2024/info/pgmacs-before.md
+++ b/2024/info/pgmacs-before.md
@@ -1,7 +1,6 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
[[!toc ]]
Format: 14-min talk ; Q&A: BigBlueButton conference room
-Etherpad: <https://pad.emacsconf.org/2024-pgmacs>
Status: TO_CAPTION_QA
@@ -10,7 +9,7 @@ Status: TO_CAPTION_QA
# Talk
-<div class="vid"><video controls preload="none" id="pgmacs-mainVideo"><source src="https://media.emacsconf.org/2024/emacsconf-2024-pgmacs--pgmacs-browsing-and-editing-postgresql-databases-from-emacs--eric-marsden--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-pgmacs--pgmacs-browsing-and-editing-postgresql-databases-from-emacs--eric-marsden--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2024/captions/emacsconf-2024-pgmacs--pgmacs-browsing-and-editing-postgresql-databases-from-emacs--eric-marsden--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="pgmacs-mainVideo" data="""
+<div class="vid mainVideo"><video controls preload="none" id="mainVideo-pgmacs"><source src="https://media.emacsconf.org/2024/emacsconf-2024-pgmacs--pgmacs-browsing-and-editing-postgresql-databases-from-emacs--eric-marsden--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-pgmacs--pgmacs-browsing-and-editing-postgresql-databases-from-emacs--eric-marsden--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2024/captions/emacsconf-2024-pgmacs--pgmacs-browsing-and-editing-postgresql-databases-from-emacs--eric-marsden--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-pgmacs" data="""
00:01.260 Introduction
01:26.710 Demo
03:53.960 Deletion
@@ -23,11 +22,11 @@ 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://pad.emacsconf.org/2024-pgmacs">Open Etherpad</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></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
-<div class="vid"><video controls preload="none" id="pgmacs-qanda"><source src="https://media.emacsconf.org/2024/emacsconf-2024-pgmacs--pgmacs-browsing-and-editing-postgresql-databases-from-emacs--eric-marsden--answers.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-pgmacs--pgmacs-browsing-and-editing-postgresql-databases-from-emacs--eric-marsden--answers.vtt" default />"""<track kind="chapters" label="Chapters" src="/2024/captions/emacsconf-2024-pgmacs--pgmacs-browsing-and-editing-postgresql-databases-from-emacs--eric-marsden--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="pgmacs-qanda" data="""
+<div class="vid qanda"><video controls preload="none" id="qanda-pgmacs"><source src="https://media.emacsconf.org/2024/emacsconf-2024-pgmacs--pgmacs-browsing-and-editing-postgresql-databases-from-emacs--eric-marsden--answers.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-pgmacs--pgmacs-browsing-and-editing-postgresql-databases-from-emacs--eric-marsden--answers.vtt" default />"""<track kind="chapters" label="Chapters" src="/2024/captions/emacsconf-2024-pgmacs--pgmacs-browsing-and-editing-postgresql-databases-from-emacs--eric-marsden--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-pgmacs" data="""
02:37.440 Q: Do you know if PGmacs works with TRAMP?
04:38.240 Q: How did you come up with this brilliant idea?
09:26.920 TRAMP continued
@@ -36,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="pgmacs-qanda-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://pad.emacsconf.org/2024-pgmacs">Open Etherpad</a></li><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-after.md b/2024/info/project-after.md
index fe5e7e55..14447599 100644
--- a/2024/info/project-after.md
+++ b/2024/info/project-after.md
@@ -430,7 +430,7 @@ Captioner: sachac
[[!template text="""I'll switch over to the writing log for the project B, and""" start="00:08:42.360" video="qanda-project" id="subtitle"]]
[[!template text="""I'll go to the diary section at the beginning. I'll make a""" start="00:08:48.000" video="qanda-project" id="subtitle"]]
[[!template text="""little to-do list and maybe look at the prior entry in the""" start="00:08:51.360" video="qanda-project" id="subtitle"]]
-[[!template text="""diary if I need to reboot my memory. And then I'll move on to""" start="00:08:57.280" video="qanda-project" id="subtitle"]]
+[[!template text="""diary if I need to reboot my memory. And then I'll move on to""" start="00:08:59.334" video="qanda-project" id="subtitle"]]
[[!template text="""the manuscript and go for 90 minutes or two hours.""" start="00:09:03.200" video="qanda-project" id="subtitle"]]
[[!template text="""Generally, you're only good for somewhere between four and""" start="00:09:07.920" video="qanda-project" id="subtitle"]]
[[!template text="""a half, five and a half hours. If you try to write in a""" start="00:09:12.480" video="qanda-project" id="subtitle"]]
@@ -445,7 +445,7 @@ Captioner: sachac
[[!template text="""also to on my work as a developer and it's funny how you refer""" start="00:09:48.920" video="qanda-project" id="subtitle"]]
[[!template text="""to your ability to think about something in very similar""" start="00:09:53.720" video="qanda-project" id="subtitle"]]
[[!template text="""terms to how a computer would think about something. You've""" start="00:09:57.000" video="qanda-project" id="subtitle"]]
-[[!template text="""mentioned in your presentation the cost of context""" start="00:09:59.400" video="qanda-project" id="subtitle"]]
+[[!template text="""mentioned in your presentation the cost of context""" start="00:09:59.833" video="qanda-project" id="subtitle"]]
[[!template text="""switching between different things but it's also""" start="00:10:02.400" video="qanda-project" id="subtitle"]]
[[!template text="""something that we use in computing when a processor needs to""" start="00:10:04.920" video="qanda-project" id="subtitle"]]
[[!template text="""be thinking about something else, well, it has a cost. And""" start="00:10:08.120" video="qanda-project" id="subtitle"]]
@@ -473,9 +473,9 @@ Captioner: sachac
[[!template text="""try to prime my mind about project B, or I might still have""" start="00:11:40.560" video="qanda-project" id="subtitle"]]
[[!template text="""ideas that are flowing about project A. And I'll record""" start="00:11:44.800" video="qanda-project" id="subtitle"]]
[[!template text="""those in the digital voice recorder. And then when I get to""" start="00:11:48.200" video="qanda-project" id="subtitle"]]
-[[!template text="""the lab, I'll transfer the audio file to my computer, and""" start="00:11:51.440" video="qanda-project" id="subtitle"]]
-[[!template text="""I'll transcribe it using a whisper. So I've set up some""" start="00:11:54.600" video="qanda-project" id="subtitle"]]
-[[!template text="""Python scripts and bash functions to go through and I""" start="00:12:00.160" video="qanda-project" id="subtitle"]]
+[[!template text="""the lab, I'll transfer the audio file to my computer, and""" start="00:11:50.983" video="qanda-project" id="subtitle"]]
+[[!template text="""I'll transcribe it using Whisper. So I've set up some""" start="00:11:54.442" video="qanda-project" id="subtitle"]]
+[[!template text="""Python scripts and bash functions to go through and I""" start="00:12:00.067" video="qanda-project" id="subtitle"]]
[[!template text="""convert all the sentences into one sentence per line""" start="00:12:03.760" video="qanda-project" id="subtitle"]]
[[!template text="""because that's the way I like to write and edit things. And so""" start="00:12:11.000" video="qanda-project" id="subtitle"]]
[[!template text="""it does all this pre-processing for me. And I have this""" start="00:12:16.360" video="qanda-project" id="subtitle"]]
@@ -487,9 +487,10 @@ Captioner: sachac
[[!template text="""when I'm teaching, when I'm in seminar, other committee""" start="00:12:47.960" video="qanda-project" id="subtitle"]]
[[!template text="""meetings, traveling, then I'll capture ideas on paper. I""" start="00:12:53.040" video="qanda-project" id="subtitle"]]
[[!template text="""don't have a cell phone. I'm trying to be the last human on""" start="00:12:58.360" video="qanda-project" id="subtitle"]]
-[[!template text="""earth without a cell phone. I think I would be so distracted""" start="00:13:02.400" video="qanda-project" id="subtitle"]]
-[[!template text="""by a cell phone. Worst person on the planet, I would be""" start="00:13:07.360" video="qanda-project" id="subtitle"]]
-[[!template text="""totally focused on my cell phone if I had one. So I'm like one""" start="00:13:12.720" video="qanda-project" id="subtitle"]]
+[[!template text="""earth without a cell phone. I think I would be so distracted""" start="00:13:01.650" video="qanda-project" id="subtitle"]]
+[[!template text="""by a cell phone. I would be the worst person on the planet,""" start="00:13:07.317" video="qanda-project" id="subtitle"]]
+[[!template text="""I would be totally focused on my cell phone""" start="00:13:12.443" video="qanda-project" id="subtitle"]]
+[[!template text="""if I had one. So I'm like one""" start="00:13:14.164" video="qanda-project" id="subtitle"]]
[[!template text="""of the few people left who can read a map. So I do run into some""" start="00:13:16.400" video="qanda-project" id="subtitle"]]
[[!template text="""difficulties hailing taxis and that sort of thing when I'm""" start="00:13:23.000" video="qanda-project" id="subtitle"]]
[[!template text="""traveling. So there are some downsides to not having a cell""" start="00:13:26.200" video="qanda-project" id="subtitle"]]
diff --git a/2024/info/project-before.md b/2024/info/project-before.md
index b8233e6f..dd34cb38 100644
--- a/2024/info/project-before.md
+++ b/2024/info/project-before.md
@@ -1,7 +1,6 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
[[!toc ]]
Format: 22-min talk ; Q&A: BigBlueButton conference room
-Etherpad: <https://pad.emacsconf.org/2024-project>
Status: TO_CAPTION_QA
@@ -10,7 +9,7 @@ Status: TO_CAPTION_QA
# Talk
-<div class="vid"><video controls preload="none" id="project-mainVideo"><source src="https://media.emacsconf.org/2024/emacsconf-2024-project--managing-writing-project-metadata-with-orgmode--blaine-mooers--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-project--managing-writing-project-metadata-with-orgmode--blaine-mooers--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2024/captions/emacsconf-2024-project--managing-writing-project-metadata-with-orgmode--blaine-mooers--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="project-mainVideo" data="""
+<div class="vid mainVideo"><video controls preload="none" id="mainVideo-project"><source src="https://media.emacsconf.org/2024/emacsconf-2024-project--managing-writing-project-metadata-with-orgmode--blaine-mooers--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-project--managing-writing-project-metadata-with-orgmode--blaine-mooers--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2024/captions/emacsconf-2024-project--managing-writing-project-metadata-with-orgmode--blaine-mooers--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-project" data="""
00:00.000 Introduction
02:20.080 Starting a new writing project
04:05.480 The writing log
@@ -31,11 +30,11 @@ 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://pad.emacsconf.org/2024-project">Open Etherpad</a></li><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
-<div class="vid"><video controls preload="none" id="project-qanda"><source src="https://media.emacsconf.org/2024/emacsconf-2024-project--managing-writing-project-metadata-with-orgmode--blaine-mooers--answers.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-project--managing-writing-project-metadata-with-orgmode--blaine-mooers--answers.vtt" default />"""<track kind="chapters" label="Chapters" src="/2024/captions/emacsconf-2024-project--managing-writing-project-metadata-with-orgmode--blaine-mooers--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="project-qanda" data="""
+<div class="vid qanda"><video controls preload="none" id="qanda-project"><source src="https://media.emacsconf.org/2024/emacsconf-2024-project--managing-writing-project-metadata-with-orgmode--blaine-mooers--answers.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-project--managing-writing-project-metadata-with-orgmode--blaine-mooers--answers.vtt" default />"""<track kind="chapters" label="Chapters" src="/2024/captions/emacsconf-2024-project--managing-writing-project-metadata-with-orgmode--blaine-mooers--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-project" data="""
01:38.600 Q: what does 0573 means in your init. file name?
03:09.520 Q: What does Zettelkasten mean?
05:41.760 Q: How many papers are you writing at the same time?
@@ -48,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="project-qanda-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://pad.emacsconf.org/2024-project">Open Etherpad</a></li><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 47f8f574..b8bf89db 100644
--- a/2024/info/regex-before.md
+++ b/2024/info/regex-before.md
@@ -1,13 +1,12 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
[[!toc ]]
Format: 25-min talk ; Q&A: IRC
-Etherpad: <https://pad.emacsconf.org/2024-regex>
Status: TO_FOLLOW_UP
-<div class="vid"><video controls preload="none" id="regex-mainVideo"><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://pad.emacsconf.org/2024-regex">Open Etherpad</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--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 0e413d02..fcd31ab7 100644
--- a/2024/info/rust-before.md
+++ b/2024/info/rust-before.md
@@ -1,7 +1,6 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
[[!toc ]]
Format: 21-min talk ; Q&A: BigBlueButton conference room
-Etherpad: <https://pad.emacsconf.org/2024-rust>
Status: TO_CAPTION_QA
@@ -10,7 +9,7 @@ Status: TO_CAPTION_QA
# Talk
-<div class="vid"><video controls preload="none" id="rust-mainVideo"><source src="https://media.emacsconf.org/2024/emacsconf-2024-rust--an-experimental-emacs-core-in-rust--troy-hinckley--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-rust--an-experimental-emacs-core-in-rust--troy-hinckley--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2024/captions/emacsconf-2024-rust--an-experimental-emacs-core-in-rust--troy-hinckley--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="rust-mainVideo" data="""
+<div class="vid mainVideo"><video controls preload="none" id="mainVideo-rust"><source src="https://media.emacsconf.org/2024/emacsconf-2024-rust--an-experimental-emacs-core-in-rust--troy-hinckley--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-rust--an-experimental-emacs-core-in-rust--troy-hinckley--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2024/captions/emacsconf-2024-rust--an-experimental-emacs-core-in-rust--troy-hinckley--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-rust" data="""
00:00.000 Rune
00:17.082 The Emacs core
00:57.168 Why create this?
@@ -42,11 +41,11 @@ 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://pad.emacsconf.org/2024-rust">Open Etherpad</a></li><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
-<div class="vid"><video controls preload="none" id="rust-qanda"><source src="https://media.emacsconf.org/2024/emacsconf-2024-rust--an-experimental-emacs-core-in-rust--troy-hinckley--answers.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-rust--an-experimental-emacs-core-in-rust--troy-hinckley--answers.vtt" default />"""<track kind="chapters" label="Chapters" src="/2024/captions/emacsconf-2024-rust--an-experimental-emacs-core-in-rust--troy-hinckley--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="rust-qanda" data="""
+<div class="vid qanda"><video controls preload="none" id="qanda-rust"><source src="https://media.emacsconf.org/2024/emacsconf-2024-rust--an-experimental-emacs-core-in-rust--troy-hinckley--answers.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-rust--an-experimental-emacs-core-in-rust--troy-hinckley--answers.vtt" default />"""<track kind="chapters" label="Chapters" src="/2024/captions/emacsconf-2024-rust--an-experimental-emacs-core-in-rust--troy-hinckley--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-rust" data="""
00:08.500 Q: Have you considered using CRDTs to share buffers between threads and merge any concurrent edits automatically?
01:05.874 Q: Why hosted on GitHub? GitHub is nonfree. Is it possible to report bugs/send patches without using GitHub?
01:22.960 Q: Do you think it's possible to achieve 100% compatibility with current Emacs code?
@@ -62,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="rust-qanda-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://pad.emacsconf.org/2024-rust">Open Etherpad</a></li><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-close-before.md b/2024/info/sat-close-before.md
index 32339bf1..0f5a770f 100644
--- a/2024/info/sat-close-before.md
+++ b/2024/info/sat-close-before.md
@@ -1,13 +1,12 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
[[!toc ]]
Format: 6-min talk ; Q&A: Etherpad
-Etherpad: <https://pad.emacsconf.org/2024-sat-close>
Status: Ready to stream
-<div class="vid"><video controls preload="none" id="sat-close-mainVideo"><source src="emacsconf-2024-sat-close--saturday-closing-remarks--answers--original.webm" /><p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video><div></div>Duration: 05:49 minutes<div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2024-sat-close">Open Etherpad</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-sat-close--saturday-closing-remarks--intro.webm">Download --intro.webm</a></li></ul></div></div>
+<div class="vid mainVideo"><video controls preload="none" id="mainVideo-sat-close"><source src="emacsconf-2024-sat-close--saturday-closing-remarks--answers--original.webm" /><p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video><div></div>Duration: 05:49 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-sat-close--saturday-closing-remarks--intro.webm">Download --intro.webm</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 427c9f31..e0edf012 100644
--- a/2024/info/sat-open-before.md
+++ b/2024/info/sat-open-before.md
@@ -1,14 +1,13 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
[[!toc ]]
Format: 5-min talk ; Q&A: Etherpad
-Etherpad: <https://pad.emacsconf.org/2024-sat-open>
Status: TO_FOLLOW_UP
-<div class="vid"><video controls preload="none" id="sat-open-mainVideo"><source src="https://media.emacsconf.org/2024/emacsconf-2024-sat-open--saturday-opening-remarks--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-sat-open--saturday-opening-remarks--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2024/captions/emacsconf-2024-sat-open--saturday-opening-remarks--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="sat-open-mainVideo" data="""
+<div class="vid mainVideo"><video controls preload="none" id="mainVideo-sat-open"><source src="https://media.emacsconf.org/2024/emacsconf-2024-sat-open--saturday-opening-remarks--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-sat-open--saturday-opening-remarks--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2024/captions/emacsconf-2024-sat-open--saturday-opening-remarks--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-sat-open" data="""
00:00.007 General and Development tracks
00:06.126 Watching and participating
00:59.966 Questions and answers
@@ -21,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://pad.emacsconf.org/2024-sat-open">Open Etherpad</a></li><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/secrets-before.md b/2024/info/secrets-before.md
index 2e85871a..7fdb81a2 100644
--- a/2024/info/secrets-before.md
+++ b/2024/info/secrets-before.md
@@ -1,14 +1,13 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
[[!toc ]]
Format: 15-min talk ; Q&A: BigBlueButton conference room
-Etherpad: <https://pad.emacsconf.org/2024-secrets>
Status: TO_CAPTION_QA
-<div class="vid"><video controls preload="none" id="secrets-mainVideo"><source src="https://media.emacsconf.org/2024/emacsconf-2024-secrets--committing-secrets-with-git-using-sopsmode--jonathan-otsuka--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-secrets--committing-secrets-with-git-using-sopsmode--jonathan-otsuka--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2024/captions/emacsconf-2024-secrets--committing-secrets-with-git-using-sopsmode--jonathan-otsuka--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="secrets-mainVideo" data="""
+<div class="vid mainVideo"><video controls preload="none" id="mainVideo-secrets"><source src="https://media.emacsconf.org/2024/emacsconf-2024-secrets--committing-secrets-with-git-using-sopsmode--jonathan-otsuka--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-secrets--committing-secrets-with-git-using-sopsmode--jonathan-otsuka--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2024/captions/emacsconf-2024-secrets--committing-secrets-with-git-using-sopsmode--jonathan-otsuka--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-secrets" data="""
00:00.000 Introduction
03:23.310 Q&A technical issues
07:39.188 Q: Can you describe some potential interactive uses for this within Emacs?
@@ -18,6 +17,6 @@ Status: TO_CAPTION_QA
11:11.983 Q: Wacky question: what happens in sops-mode if you encrypt the already encrypted file as if it was plaintext?
11:49.439 Q: can you describe some potential interactive uses for this within Emacs
-"""]]<div></div>Duration: 14:57 minutes<div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2024-secrets">Open Etherpad</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-secrets--committing-secrets-with-git-using-sopsmode--jonathan-otsuka--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-secrets--committing-secrets-with-git-using-sopsmode--jonathan-otsuka--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-secrets--committing-secrets-with-git-using-sopsmode--jonathan-otsuka--main.vtt">Download --main.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-secrets--committing-secrets-with-git-using-sopsmode--jonathan-otsuka--main.webm">Download --main.webm (31MB)</a></li></ul></div></div>
+"""]]<div></div>Duration: 14:57 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-secrets--committing-secrets-with-git-using-sopsmode--jonathan-otsuka--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-secrets--committing-secrets-with-git-using-sopsmode--jonathan-otsuka--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-secrets--committing-secrets-with-git-using-sopsmode--jonathan-otsuka--main.vtt">Download --main.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-secrets--committing-secrets-with-git-using-sopsmode--jonathan-otsuka--main.webm">Download --main.webm (31MB)</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 9b5ecf61..e3154751 100644
--- a/2024/info/sharing-before.md
+++ b/2024/info/sharing-before.md
@@ -1,14 +1,13 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
[[!toc ]]
Format: 22-min talk ; Q&A: Etherpad
-Etherpad: <https://pad.emacsconf.org/2024-sharing>
Status: TO_FOLLOW_UP
-<div class="vid"><video controls preload="none" id="sharing-mainVideo"><source src="https://media.emacsconf.org/2024/emacsconf-2024-sharing--so-you-want-to-be-an-emacsfluencer--gopar--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-sharing--so-you-want-to-be-an-emacsfluencer--gopar--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2024/captions/emacsconf-2024-sharing--so-you-want-to-be-an-emacsfluencer--gopar--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="sharing-mainVideo" data="""
+<div class="vid mainVideo"><video controls preload="none" id="mainVideo-sharing"><source src="https://media.emacsconf.org/2024/emacsconf-2024-sharing--so-you-want-to-be-an-emacsfluencer--gopar--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-sharing--so-you-want-to-be-an-emacsfluencer--gopar--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2024/captions/emacsconf-2024-sharing--so-you-want-to-be-an-emacsfluencer--gopar--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-sharing" data="""
00:00.000 Introduction
00:12.466 Knowledge grows when it is shared
00:36.333 When's the last time you shared something?
@@ -29,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://pad.emacsconf.org/2024-sharing">Open Etherpad</a></li><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 36ec8218..6003d0e5 100644
--- a/2024/info/shell-before.md
+++ b/2024/info/shell-before.md
@@ -1,14 +1,13 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
[[!toc ]]
Format: 38-min talk ; Q&A: IRC
-Etherpad: <https://pad.emacsconf.org/2024-shell>
Status: TO_FOLLOW_UP
-<div class="vid"><video controls preload="none" id="shell-mainVideo"><source src="https://media.emacsconf.org/2024/emacsconf-2024-shell--emacs-as-a-shell--christopher-howard--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-shell--emacs-as-a-shell--christopher-howard--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2024/captions/emacsconf-2024-shell--emacs-as-a-shell--christopher-howard--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="shell-mainVideo" data="""
+<div class="vid mainVideo"><video controls preload="none" id="mainVideo-shell"><source src="https://media.emacsconf.org/2024/emacsconf-2024-shell--emacs-as-a-shell--christopher-howard--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-shell--emacs-as-a-shell--christopher-howard--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2024/captions/emacsconf-2024-shell--emacs-as-a-shell--christopher-howard--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-shell" data="""
00:02.940 Introduction
00:37.881 What do I mean by shell?
01:38.560 What I do not mean
@@ -24,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://pad.emacsconf.org/2024-shell">Open Etherpad</a></li><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 e97aaaee..9358f56c 100644
--- a/2024/info/students-before.md
+++ b/2024/info/students-before.md
@@ -1,7 +1,6 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
[[!toc ]]
Format: 9-min talk ; Q&A: BigBlueButton conference room
-Etherpad: <https://pad.emacsconf.org/2024-students>
Status: TO_CAPTION_QA
@@ -10,11 +9,11 @@ Status: TO_CAPTION_QA
# Talk
-<div class="vid"><video controls preload="none" id="students-mainVideo"><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://pad.emacsconf.org/2024-students">Open Etherpad</a></li><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
-<div class="vid"><video controls preload="none" id="students-qanda"><source src="https://media.emacsconf.org/2024/emacsconf-2024-students--an-example-of-a-cohesive-student-workflow-in-emacs--daniel-pinkston--answers.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--answers.vtt" default />"""<track kind="chapters" label="Chapters" src="/2024/captions/emacsconf-2024-students--an-example-of-a-cohesive-student-workflow-in-emacs--daniel-pinkston--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="students-qanda" data="""
+<div class="vid qanda"><video controls preload="none" id="qanda-students"><source src="https://media.emacsconf.org/2024/emacsconf-2024-students--an-example-of-a-cohesive-student-workflow-in-emacs--daniel-pinkston--answers.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--answers.vtt" default />"""<track kind="chapters" label="Chapters" src="/2024/captions/emacsconf-2024-students--an-example-of-a-cohesive-student-workflow-in-emacs--daniel-pinkston--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-students" data="""
00:38.360 Q: Do you have any thoughts about the process of recording something for a conference?
02:23.792 Q: I use org-roam for notes and find it very useful - have you considered it?
03:40.880 Q: Do you use the Getting Things Done methodology as part of your Org workflow?
@@ -26,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="students-qanda-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://pad.emacsconf.org/2024-students">Open Etherpad</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--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-close-before.md b/2024/info/sun-close-before.md
index b77cd5b9..9fb22d5d 100644
--- a/2024/info/sun-close-before.md
+++ b/2024/info/sun-close-before.md
@@ -1,7 +1,6 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
[[!toc ]]
Format: 2-min talk ; Q&A: BigBlueButton conference room
-Etherpad: <https://pad.emacsconf.org/2024-sun-close>
Status: TO_CAPTION_QA
@@ -10,10 +9,10 @@ Status: TO_CAPTION_QA
# Talk
-<div class="vid"><video controls preload="none" id="sun-close-mainVideo"><source src="https://media.emacsconf.org/2024/emacsconf-2024-sun-close--sunday-closing-remarks--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-sun-close--sunday-closing-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: 01:59 minutes<div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2024-sun-close">Open Etherpad</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-sun-close--sunday-closing-remarks--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-sun-close--sunday-closing-remarks--main.vtt">Download --main.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-sun-close--sunday-closing-remarks--main.webm">Download --main.webm (8MB)</a></li></ul></div></div>
+<div class="vid mainVideo"><video controls preload="none" id="mainVideo-sun-close"><source src="https://media.emacsconf.org/2024/emacsconf-2024-sun-close--sunday-closing-remarks--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-sun-close--sunday-closing-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: 01:59 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-sun-close--sunday-closing-remarks--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-sun-close--sunday-closing-remarks--main.vtt">Download --main.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-sun-close--sunday-closing-remarks--main.webm">Download --main.webm (8MB)</a></li></ul></div></div>
# Q&A
-<div class="vid"><div></div><div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2024-sun-close">Open Etherpad</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-sun-close--sunday-closing-remarks--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-sun-close--sunday-closing-remarks--main.vtt">Download --main.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-sun-close--sunday-closing-remarks--main.webm">Download --main.webm (8MB)</a></li></ul></div></div>
+<div class="vid qanda"><div></div><div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-sun-close--sunday-closing-remarks--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-sun-close--sunday-closing-remarks--main.vtt">Download --main.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-sun-close--sunday-closing-remarks--main.webm">Download --main.webm (8MB)</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 6a0792b4..ed155b5e 100644
--- a/2024/info/sun-open-before.md
+++ b/2024/info/sun-open-before.md
@@ -1,13 +1,12 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
[[!toc ]]
Format: 5-min talk ; Q&A: Etherpad
-Etherpad: <https://pad.emacsconf.org/2024-sun-open>
Status: All done
-<div class="vid"><video controls preload="none" id="sun-open-mainVideo"><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://pad.emacsconf.org/2024-sun-open">Open Etherpad</a></li><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 b95a67c4..8a945375 100644
--- a/2024/info/theme-before.md
+++ b/2024/info/theme-before.md
@@ -1,7 +1,6 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
[[!toc ]]
Format: 12-min talk ; Q&A: BigBlueButton conference room
-Etherpad: <https://pad.emacsconf.org/2024-theme>
Status: TO_CAPTION_QA
@@ -10,7 +9,7 @@ Status: TO_CAPTION_QA
# Talk
-<div class="vid"><video controls preload="none" id="theme-mainVideo"><source src="https://media.emacsconf.org/2024/emacsconf-2024-theme--my-journey-of-finding-and-creating-the-perfect-emacs-theme--metrowind--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-theme--my-journey-of-finding-and-creating-the-perfect-emacs-theme--metrowind--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2024/captions/emacsconf-2024-theme--my-journey-of-finding-and-creating-the-perfect-emacs-theme--metrowind--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="theme-mainVideo" data="""
+<div class="vid mainVideo"><video controls preload="none" id="mainVideo-theme"><source src="https://media.emacsconf.org/2024/emacsconf-2024-theme--my-journey-of-finding-and-creating-the-perfect-emacs-theme--metrowind--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-theme--my-journey-of-finding-and-creating-the-perfect-emacs-theme--metrowind--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2024/captions/emacsconf-2024-theme--my-journey-of-finding-and-creating-the-perfect-emacs-theme--metrowind--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-theme" data="""
00:02.140 Introduction
00:48.820 Deviant
01:15.640 FlucUI
@@ -21,16 +20,16 @@ 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://pad.emacsconf.org/2024-theme">Open Etherpad</a></li><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
-<div class="vid"><video controls preload="none" id="theme-qanda"><source src="https://media.emacsconf.org/2024/emacsconf-2024-theme--my-journey-of-finding-and-creating-the-perfect-emacs-theme--metrowind--answers.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-theme--my-journey-of-finding-and-creating-the-perfect-emacs-theme--metrowind--answers.vtt" default />"""<track kind="chapters" label="Chapters" src="/2024/captions/emacsconf-2024-theme--my-journey-of-finding-and-creating-the-perfect-emacs-theme--metrowind--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="theme-qanda" data="""
+<div class="vid qanda"><video controls preload="none" id="qanda-theme"><source src="https://media.emacsconf.org/2024/emacsconf-2024-theme--my-journey-of-finding-and-creating-the-perfect-emacs-theme--metrowind--answers.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-theme--my-journey-of-finding-and-creating-the-perfect-emacs-theme--metrowind--answers.vtt" default />"""<track kind="chapters" label="Chapters" src="/2024/captions/emacsconf-2024-theme--my-journey-of-finding-and-creating-the-perfect-emacs-theme--metrowind--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-theme" data="""
00:33.865 Q: When you choose colors based on the same lightness, does it not hurt readability since the eye sees lightness most?
01:52.280 Q: For monte-carlo, are all the "random" colors picked using a colorwheel/hue rotation?
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="theme-qanda-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://pad.emacsconf.org/2024-theme">Open Etherpad</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--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 161e3d53..bd531257 100644
--- a/2024/info/transducers-before.md
+++ b/2024/info/transducers-before.md
@@ -1,7 +1,6 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
[[!toc ]]
Format: 27-min talk ; Q&A: BigBlueButton conference room
-Etherpad: <https://pad.emacsconf.org/2024-transducers>
Status: TO_CAPTION_QA
@@ -10,7 +9,7 @@ Status: TO_CAPTION_QA
# Talk
-<div class="vid"><video controls preload="none" id="transducers-mainVideo"><source src="https://media.emacsconf.org/2024/emacsconf-2024-transducers--transducers-finally-ergonomic-data-processing-for-emacs--colin-woodbury--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-transducers--transducers-finally-ergonomic-data-processing-for-emacs--colin-woodbury--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2024/captions/emacsconf-2024-transducers--transducers-finally-ergonomic-data-processing-for-emacs--colin-woodbury--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="transducers-mainVideo" data="""
+<div class="vid mainVideo"><video controls preload="none" id="mainVideo-transducers"><source src="https://media.emacsconf.org/2024/emacsconf-2024-transducers--transducers-finally-ergonomic-data-processing-for-emacs--colin-woodbury--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-transducers--transducers-finally-ergonomic-data-processing-for-emacs--colin-woodbury--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2024/captions/emacsconf-2024-transducers--transducers-finally-ergonomic-data-processing-for-emacs--colin-woodbury--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-transducers" data="""
00:00.000 Intro
00:41.520 What are transducers?
03:27.590 Common issues
@@ -24,15 +23,15 @@ 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://pad.emacsconf.org/2024-transducers">Open Etherpad</a></li><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
-<div class="vid"><video controls preload="none" id="transducers-qanda"><source src="https://media.emacsconf.org/2024/emacsconf-2024-transducers--transducers-finally-ergonomic-data-processing-for-emacs--colin-woodbury--answers.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-transducers--transducers-finally-ergonomic-data-processing-for-emacs--colin-woodbury--answers.vtt" default />"""<track kind="chapters" label="Chapters" src="/2024/captions/emacsconf-2024-transducers--transducers-finally-ergonomic-data-processing-for-emacs--colin-woodbury--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="transducers-qanda" data="""
+<div class="vid qanda"><video controls preload="none" id="qanda-transducers"><source src="https://media.emacsconf.org/2024/emacsconf-2024-transducers--transducers-finally-ergonomic-data-processing-for-emacs--colin-woodbury--answers.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-transducers--transducers-finally-ergonomic-data-processing-for-emacs--colin-woodbury--answers.vtt" default />"""<track kind="chapters" label="Chapters" src="/2024/captions/emacsconf-2024-transducers--transducers-finally-ergonomic-data-processing-for-emacs--colin-woodbury--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-transducers" data="""
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?
@@ -40,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="transducers-qanda-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://pad.emacsconf.org/2024-transducers">Open Etherpad</a></li><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 1f2801fc..cf11c56d 100644
--- a/2024/info/water-before.md
+++ b/2024/info/water-before.md
@@ -1,14 +1,13 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
[[!toc ]]
Format: 14-min talk ; Q&A: IRC
-Etherpad: <https://pad.emacsconf.org/2024-water>
Status: TO_FOLLOW_UP
-<div class="vid"><video controls preload="none" id="water-mainVideo"><source src="https://media.emacsconf.org/2024/emacsconf-2024-water--watering-my-digital-plant-with-emacs-timers--christopher-howard--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-water--watering-my-digital-plant-with-emacs-timers--christopher-howard--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2024/captions/emacsconf-2024-water--watering-my-digital-plant-with-emacs-timers--christopher-howard--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="water-mainVideo" data="""
+<div class="vid mainVideo"><video controls preload="none" id="mainVideo-water"><source src="https://media.emacsconf.org/2024/emacsconf-2024-water--watering-my-digital-plant-with-emacs-timers--christopher-howard--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-water--watering-my-digital-plant-with-emacs-timers--christopher-howard--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2024/captions/emacsconf-2024-water--watering-my-digital-plant-with-emacs-timers--christopher-howard--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-water" data="""
00:02.679 Introduction
00:28.823 What is Astrobotany?
00:48.914 What is Gemini?
@@ -18,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://pad.emacsconf.org/2024-water">Open Etherpad</a></li><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 830cf90c..62663ff7 100644
--- a/2024/info/writing-before.md
+++ b/2024/info/writing-before.md
@@ -1,14 +1,13 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
[[!toc ]]
Format: 14-min talk ; Q&A: BigBlueButton conference room
-Etherpad: <https://pad.emacsconf.org/2024-writing>
Status: TO_FOLLOW_UP
-<div class="vid"><video controls preload="none" id="writing-mainVideo"><source src="https://media.emacsconf.org/2024/emacsconf-2024-writing--emacs-writing-studio--peter-prevos--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-writing--emacs-writing-studio--peter-prevos--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2024/captions/emacsconf-2024-writing--emacs-writing-studio--peter-prevos--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="writing-mainVideo" data="""
+<div class="vid mainVideo"><video controls preload="none" id="mainVideo-writing"><source src="https://media.emacsconf.org/2024/emacsconf-2024-writing--emacs-writing-studio--peter-prevos--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-writing--emacs-writing-studio--peter-prevos--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2024/captions/emacsconf-2024-writing--emacs-writing-studio--peter-prevos--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-writing" data="""
00:00.000 Introduction
00:57.649 Why?
02:02.452 EWS configuration
@@ -21,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://pad.emacsconf.org/2024-writing">Open Etherpad</a></li><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 921aad67..a769e01b 100644
--- a/2024/schedule-details.md
+++ b/2024/schedule-details.md
@@ -9,13 +9,13 @@ Jump to: <a href="#dev">Development</a>
[[!template id=sched resources="""<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>""" title="""Watering my (digital) plant with Emacs timers""" url="""/2024/talks/water""" speakers="""Christopher Howard""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""water""" note="""captioned, video posted, video: 13:50"""]]
[[!template id=sched resources="""<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>""" title="""Emacs as a shell""" url="""/2024/talks/shell""" speakers="""Christopher Howard""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""shell""" note="""captioned, video posted, video: 37:13"""]]
[[!template id=sched resources="""<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://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>""" title="""Re-imagining the Emacs user experience with Casual Suite""" url="""/2024/talks/casual""" speakers="""Charles Choi""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""casual""" note="""captioned, video posted, Q&A posted, video: 18:24, answers: 22:12"""]]
-[[!template id=sched resources="""<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 (10MB)</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> (unedited)</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://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>""" title="""New in hyperdrive.el: quick install, peer graph, transclusion!""" url="""/2024/talks/hyperdrive""" speakers="""Joseph Turner""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""hyperdrive""" note="""captioned, video posted, Q&A posted, video: 20:25, answers: 22:34"""]]
+[[!template id=sched resources="""<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://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>""" title="""New in hyperdrive.el: quick install, peer graph, transclusion!""" url="""/2024/talks/hyperdrive""" speakers="""Joseph Turner""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""hyperdrive""" note="""captioned, video posted, Q&A posted, video: 20:25, answers: 22:34"""]]
[[!template id=sched resources="""<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>""" title="""Emacs Writing Studio""" url="""/2024/talks/writing""" speakers="""Peter Prevos""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""writing""" note="""captioned, video posted, video: 13:31"""]]
[[!template id=sched resources="""<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://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>""" title="""Emacs 30 Highlights""" url="""/2024/talks/emacs30""" speakers="""Philip Kaludercic""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""emacs30""" note="""captioned, video posted, Q&A posted, video: 24:55, answers: 23:36"""]]
[[!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/blee.md b/2024/talks/blee.md
index db082d72..7bfa12a2 100644
--- a/2024/talks/blee.md
+++ b/2024/talks/blee.md
@@ -141,12 +141,12 @@ Previous Talks: <https://emacsconf.org/2021/talks/bidi> and
thought it would be better to ask.
- A: For everybody listening to this conference, the
**international** edition is the right choice.
- - It features more aggressive stance against intellectual property
+ - It features more aggressive stances against intellectual property
(being linked specifically to the American culture)
- There are pieces in the book where the typical American audience
might be offended
- ...But if your skin is thick enough to deal with reasonable
- criticism, the international edition for you.
+ criticism, the international edition is for you.
- Q:Thank you for this talk! How does your perspective interface with
works such as Yanis Varoufakis' Technofeudalism?
- A: Not familiar with the book.
@@ -163,7 +163,7 @@ Previous Talks: <https://emacsconf.org/2021/talks/bidi> and
- A: The idea is that teaching and learning should be
unrestricted, such as the Muslim/Iranian saying: "Passing along
the learning is the tax on having learnt".
- - "Being used as part of education"
+ [ The "tax" on knowledge is sharing it with others. زكات علم، آموختن آن به ديگران است. ]
- Q:As a specific example of how "ownership is not clean", look at the
Star Trek Picard series: they continuously asked Patrick Stewart to
come do another Star Trek series but he wouldn't because Star Trek
@@ -254,22 +254,21 @@ Previous Talks: <https://emacsconf.org/2021/talks/bidi> and
- Probably my favourite talk of the event
- Wonderful talk!
- This presentation gets better and better.
-- I don't know if this is a problem with
- Capitalism which can be many things to different people to the point
- the term might not mean much. I have a problem with people competing
- through corrosion rather than compition. For example google is
- restricting access to google drive api making everybodys app but
- googles worse. Capitilism "not fake Capitilism" predospes a free
- market which would limit this
- going to go checkout the book later as half way
thorugh the talk i got term overload
- Great talk, great software.
-- Thank you for the presentation Mosen.
+- Thank you for the presentation Mohsen.
- while this heavy topic is certainly a major critique of
capitalism as such, i certainly would not mix in here any sort of
religion-related things. hence leveraging "Halaal" for this is
quite disturbing.
- I skipped the whole thing because I suspected it would just annoy me for no other reason than that one term. (Maybe this was excessively prejudicial of me, but seriously, not my religion, I suspect I'd be unwelcome.) (maybe this is an English-specific thing, Do Not Mention Religion, because last time we mentioned it we had centuries of religious wars.)
+- Mohsen's response to the above two bullets.
+ Halaal is a very sensitive and potent word.
+ There is an entire chapter titled: "Introducing Halaal and Haraam into Globish" in the book.
+ In those 10 pages, I clarify that my use of Halaal is philosphical not religious.
+ Unfortunately the equivalent word for halaal does not exist in English.
+ Americanists, should first try to understand what halaal really means.
- Hard topic, it feels like we are in an era of closing open-source software, eg redhat
- YouTube comment: Phenomenal thinking. I will be reading the Nature of Polyexistentials
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"]]
diff --git a/captioning.md b/captioning.md
index 9a85080c..e0078652 100644
--- a/captioning.md
+++ b/captioning.md
@@ -74,8 +74,8 @@ Times don't need to be very precise. If you notice
that the times are way out of whack and it's
getting in the way of your subtitling, we can
adjust the times using the [aeneas forced
-alignment tool](https://www.readbeyond.it/aeneas/
-and `subed-align`).
+alignment tool](https://www.readbeyond.it/aeneas/)
+and `subed-align`.
## Splitting and merging subtitles
diff --git a/donors.md b/donors.md
index a8921a7b..ae69169d 100644
--- a/donors.md
+++ b/donors.md
@@ -16,12 +16,12 @@ order, and those who chose not to are instead listed as 'Anonymous'.
## 2024
-- Jeremy Roe
+- Anonymous (4)
## 2023
-- Anonymous (4)
-- Jan Prunk
+- Anonymous (5)
+- Jonathan Mitchell
- Scott Randby
diff --git a/local.css b/local.css
index 1240fe8f..a446c28f 100644
--- a/local.css
+++ b/local.css
@@ -132,3 +132,15 @@ svg a.highlight rect { stroke-width: 3px }
a.highlight { background-color: yellow }
.transcript-heading { font-weight: bold }
+
+.transcript .sticky-video { display: none }
+@media only screen and (min-width: 64.063em) {
+ .transcript .sticky-video {
+ position: sticky;
+ top: 0;
+ display: block;
+ margin-left: calc(-47vw + 30rem);
+ width: calc(45vw - 30rem);
+ float: left;
+ }
+}
diff --git a/organizers-notebook.md b/organizers-notebook.md
index ef153a5f..5041f2e0 100644
--- a/organizers-notebook.md
+++ b/organizers-notebook.md
@@ -20,43 +20,48 @@ This document is the general organizers' notebook that can be used as a starting
- [Create the public organizers&rsquo; notebook in the wiki](#starting-up-the-conference-planning-process-create-the-public-organizers-notebook-in-the-wiki)
- [Phases and lessons learned](#phases-and-lessons-learned)
- [Draft CFP](#phases-and-lessons-learned-draft-cfp)
- - [Announce](#org897f0c8)
- - [Process proposals](#orgd12f3b1)
- - [Accept proposals](#orgcbfca65)
+ - [Announce](#phases-and-lessons-learned-announce)
+ - [Process proposals](#phases-and-lessons-learned-process-proposals)
+ - [Accept proposals](#phases-and-lessons-learned-accept-proposals)
- [Draft schedule](#draft-schedule)
- - [Set up backstage and upload](#orgdbb77f2)
- - [Post the schedule](#org9456d25)
- - [Process uploaded files](#org75e87bb)
- - [Generate assets](#org125bd75)
- - [Prepare the infrastructure](#org9759aa9)
- - [Getting ready for captions](#org9f978d1)
+ - [Set up backstage and upload](#phases-and-lessons-learned-set-up-backstage-and-upload)
+ - [Post the schedule](#phases-and-lessons-learned-post-the-schedule)
+ - [Process uploaded files](#phases-and-lessons-learned-process-uploaded-files)
+ - [Generate assets](#phases-and-lessons-learned-generate-assets)
+ - [Prepare the infrastructure](#phases-and-lessons-learned-prepare-the-infrastructure)
+ - [Getting ready for captions](#phases-and-lessons-learned-getting-ready-for-captions)
- [Getting ready for the conference](#pre-conf)
- [During the conference](#conf)
-- [General infrastructure](#org85c6f49)
+ - [After the conference](#phases-and-lessons-learned-after-the-conference)
+- [General infrastructure](#general-infrastructure)
+ - [Linode instance sizes](#general-infrastructure-linode-instance-sizes)
+ - [File uploads](#upload)
- [Icecast](#icecast)
- [Watching pages](#watch)
- [VNC](#vnc)
- [Streaming with OBS](#obs)
- - [Shell scripts](#orgab7108a)
+ - [Shell scripts](#general-infrastructure-shell-scripts)
- [Backstage](#backstage)
- - [IRC web client](#org5545d42)
- - [Etherpad](#orgd7fd9ee)
+ - [IRC web client](#general-infrastructure-irc-web-client)
+ - [Etherpad](#general-infrastructure-etherpad)
- [Publishing media to the server and to the wiki](#media)
- - [Automated IRC announcements](#org75cad9b)
+ - [Automated IRC announcements](#general-infrastructure-automated-irc-announcements)
- [BigBlueButton](#bbb)
- - [Manual IRC announcements](#org5a3d818)
- - [Low-res stream](#orge08d62d)
- - [Upload talks to YouTube](#org7f2e95e)
- - [Restream to YouTube](#org0cc19c3)
+ - [Manual IRC announcements](#general-infrastructure-manual-irc-announcements)
+ - [Low-res stream](#general-infrastructure-low-res-stream)
+ - [Upload talks to YouTube](#general-infrastructure-upload-talks-to-youtube)
+ - [Restream to YouTube](#general-infrastructure-restream-to-youtube)
- [Other process notes](#other)
- [Adding another user to BBB](#bbb-user)
- - [When a talk is added after the schedule has already been drafted](#org4efd774)
+ - [When a talk is added after the schedule has already been drafted](#other-process-notes-when-a-talk-is-added-after-the-schedule-has-already-been-drafted)
- [When a talk is cancelled](#cancel-talk)
+ - [When a talk changes title](#other-process-notes-when-a-talk-changes-title)
- [When a talk Q&A changes method](#change-talk-qa)
- - [When a system is down](#org17cc58c)
- - [When we need to bring on a last-minute volunteer](#org4636e4e)
- - [Checking people in](#org811d67a)
- - [Ansible](#org5d78595)
+ - [To play the other stream](#other-process-notes-to-play-the-other-stream)
+ - [When a system is down](#other-process-notes-when-a-system-is-down)
+ - [When we need to bring on a last-minute volunteer](#other-process-notes-when-we-need-to-bring-on-a-last-minute-volunteer)
+ - [Checking people in](#other-process-notes-checking-people-in)
+ - [Ansible](#other-process-notes-ansible)
<a id="starting-up-the-conference-planning-process"></a>
@@ -157,7 +162,7 @@ Put inside double square brackets: `!template id=pagedraft`
- Put the speaker introduction right after the talk description for easier web page copying.
-<a id="org897f0c8"></a>
+<a id="phases-and-lessons-learned-announce"></a>
## Announce
@@ -165,7 +170,25 @@ Put inside double square brackets: `!template id=pagedraft`
- Submit to <https://foss.events/>
-<a id="orgd12f3b1"></a>
+### Promote the conference
+
+Submit to <https://foss.events/>
+
+Maybe it would be good to get in touch with podcasts like
+
+- [System Crafters](https://systemcrafters.net/)
+- [This Week in Linux](https://www.youtube.com/playlist?list=PLbFVcOQ-YH_LRP687N0YeN78YZmBp5wqF)
+- [Linux Unplugged](https://linuxunplugged.com/)
+- [Ask Noah](http://asknoahshow.com/)
+- [Linux After Dark](https://linuxafterdark.net/)
+- [Lispy Gopher Show](https://anonradio.net/)
+
+etc to give a heads up on EmacsConf before it
+happens and also mention to them when videos are
+available to spark more interest.
+
+
+<a id="phases-and-lessons-learned-process-proposals"></a>
## Process proposals
@@ -194,7 +217,7 @@ When proposals come in:
PUBLIC\_EMAIL
-<a id="orgcbfca65"></a>
+<a id="phases-and-lessons-learned-accept-proposals"></a>
## Accept proposals
@@ -227,7 +250,7 @@ For each talk:
- Add missing items to plan
-<a id="orgdbb77f2"></a>
+<a id="phases-and-lessons-learned-set-up-backstage-and-upload"></a>
## Set up backstage and upload
@@ -238,7 +261,7 @@ Lessons learned:
- Next year, let&rsquo;s get upload.emacsconf.org in place as the domain name so that people don&rsquo;t try to FTP files to it.
-<a id="org9456d25"></a>
+<a id="phases-and-lessons-learned-post-the-schedule"></a>
## Post the schedule
@@ -249,7 +272,7 @@ Lessons learned:
- Update talks.md to refer to watch.md as well
-<a id="org75e87bb"></a>
+<a id="phases-and-lessons-learned-process-uploaded-files"></a>
## Process uploaded files
@@ -274,7 +297,7 @@ Process:
3. <elisp:emacsconf-publish-backstage-index>
-<a id="org125bd75"></a>
+<a id="phases-and-lessons-learned-generate-assets"></a>
## Generate assets
@@ -292,7 +315,7 @@ Process:
- Splice together into a file that will be processed with subed-record-compile-video.
-<a id="org9759aa9"></a>
+<a id="phases-and-lessons-learned-prepare-the-infrastructure"></a>
## Prepare the infrastructure
@@ -314,7 +337,7 @@ Checklist:
- [ ] Icecast
-<a id="org9f978d1"></a>
+<a id="phases-and-lessons-learned-getting-ready-for-captions"></a>
## Getting ready for captions
@@ -344,6 +367,9 @@ Go through the :tminustwo: tags.
Go through the :tminusone: tags.
+- Set `emacsconf-publishing-phase` to `conference`.
+- Set emacsconf-publish-include-pads to t and republish the info pages.
+
<a id="conf"></a>
@@ -352,11 +378,198 @@ Go through the :tminusone: tags.
<elisp:emacsconf-pad-open-shift-hyperlist>
-<a id="org85c6f49"></a>
+<a id="phases-and-lessons-learned-after-the-conference"></a>
+
+## After the conference
+
+
+### Capture stats
+
+2024 stats
+
+Saturday:
+gen: 177 peak + 14 peak lowres
+dev: 226 peak + 79 peak lowres
+
+Sunday:
+gen: 89 peak + 10 peak lowres
+
+meet peak 409% CPU (100% is 1 CPU), average 69.4%
+front peak 70.66% CPU (100% is 1 CPU)
+live peak 552% CPU (100% is 1 CPU) average 144%
+res peak 81.54% total CPU (each OBS ~250%), mem 7GB used
+
+so far we have used 1.2TB of transfer this month
+
+
+### Back up the data
+
+
+#### Icecast
+
+rsync -avze ssh live:&rsquo;/data/emacsconf-2024-\*&rsquo; media:~/2024
+
+rsync -avze ssh live:&rsquo;/data/emacsconf-2024-\*&rsquo; .
+
+
+#### BigBlueButton
+
+rsync -avze ssh root@bbb:/var/bigbluebutton/ bigbluebutton/
+
+ssh root@66.175.208.243 &rsquo;dd if=/dev/sda bs=5M &rsquo; | dd of=bbb-img-2024-12-08.img status=progress
+
+The img can be loaded with
+sudo losetup &#x2013;find &#x2013;show bbb-img-2024-12-08.img
+sudo mount /dev/loop10 test
+cd test
+
+
+##### Reviewing all the Q&A durations and chat messages
+
+ (let ((default-directory "/home/sacha/proj/emacsconf/2024/backups/bigbluebutton/published/video"))
+ (mapconcat
+ (lambda (dir)
+ (let ((chat (xml-parse-file
+ (expand-file-name "video.xml" dir)))
+ (metadata (xml-parse-file
+ (expand-file-name "metadata.xml" dir))))
+ (concat
+ "- "
+ (dom-text (car (dom-by-tag metadata 'meetingName))) " ("
+ (format-seconds "%.2h:%z%.2m:%.2s"
+ (/ (string-to-number (dom-text (dom-by-tag metadata 'duration)))
+ 1000))
+ ")"
+ "\n"
+ (if (dom-by-tag chat 'chattimeline)
+ (mapconcat (lambda (node)
+ (concat " - " (dom-attr node 'name) ": "
+ (dom-attr node 'message) "\n"))
+ (dom-by-tag chat 'chattimeline)
+ "")
+ "")
+ "")
+ )
+ )
+ (directory-files "." nil "-"))
+ )
+
+- Copy IRC logs to cache and therefore to backstage: (ex: 2024-12-07-emacsconf-gen.txt)
+
+
+### Combine the IRC logs and the pads, and add them to the wiki
+
+(did we e-mail the speakers before or after?)
+
+
+### Process the Q&A recordings and live presentations
+
+- Save answers videos as &#x2013;answers.webm.
+- From the pad file: emacsconf-extract-copy-pad-to-wiki
+- update cache
+- Set `QA_PUBLIC` property to t as each Q&A gets processed.
+- change status to `TO_INDEX_QA`
+- emacsconf-publish-media-files-on-change
+- emacsconf-publish-info-pages-for-talk
+
+Indexing
+
+- emacsconf-extract-insert-note-with-question-heading
+- emacsconf-subed-make-chapter-file-based-on-comments
+- change status to `TO_CAPTION_QA`
+
+Also copy the YouTube comments and IRC comments
+emacsconf-extract-irc-anonymize-log
+
+
+### Send thank-you emails to the speakers
+
+
+### Notify emacs-discuss that the Q&A is up
+
+<https://lists.gnu.org/archive/html/emacsconf-discuss/2024-12/msg00000.html>
+
+ Hello, everyone!
+
+ https://emacsconf.org/2024/talks and https://media.emacsconf.org/2024
+ should have the talks and Q&A sessions now, hooray, including chapter
+ indices for the Q&A. I've also copied over notes from Etherpad and IRC
+ on the talk pages, and I've e-mailed them to the speakers so they can
+ update the wiki directly or send in additional answers.
+
+ BigBlueButton audio mixing is kinda iffy, so I'm holding off on
+ uploading the Q&A videos (and the live talk for secrets) to
+ YouTube/Toobnix until Leo and other volunteers have a listen to see
+ whether the audio needs to be tweaked, and maybe even to do some kind of
+ normalization. Unfortunately, recordings with separate audio tracks per
+ participant aren't available--it would be cool to figure that out next
+ year--so some talks might need some manual processing. (Please feel free
+ to volunteer if that's up your alley!) In the meantime, you can check
+ out the Q&A videos from the talk pages on the wiki. Please let us know
+ if there's anything that needs tweaking.
+
+ Enjoy!
+
+ Sacha
+
+
+### Write a report
+
+Sample: <https://emacsconf.org/2023/report/>
+
+
+### Send thank-you emails to the volunteers
+
+emacsconf-mail-template-ask-volunteer-for-mailing-address
+
+
+### Process the lessons learned
+
+
+<a id="general-infrastructure"></a>
# General infrastructure
+<a id="general-infrastructure-linode-instance-sizes"></a>
+
+## Linode instance sizes
+
+
+### Production
+
+- front0 shared Linode 32GB
+- live0 shared Linode 64GB
+- meet Dedicated CPU 16GB
+
+
+### Dormant
+
+Resize disk to 25GB, copying large files to media if needed
+
+- nanode front0
+- nanode live0
+- delete meet after downloading all the recordings, or resize down to nanode
+
+
+<a id="upload"></a>
+
+## File uploads
+
+[psi-4ward/psitransfer: Simple open source self-hosted file sharing solution](https://github.com/psi-4ward/psitransfer)
+
+Before the conference:
+
+1. Set `upload_enabled` to `true` in `prod-vars.yml` and run `ansible-playbook -i inventory.yml prod-playbook.yml --tags upload`.
+2. Confirm that <https://upload.emacsconf.org> has the upload interface and works with the password.
+3. Use `emacsconf-mail-template-to-all-groups` and `emacsconf-mail-upload-and-backstage-info` to e-mail the upload information to all speakers.
+
+After the conference:
+
+1. Set `upload_enabled` to `false` in `prod-vars.yml` and run `ansible-playbook -i inventory.yml prod-playbook.yml --tags upload`.
+2. Confirm that <https://upload.emacsconf.org> shows the in-between page.
+
+
<a id="icecast"></a>
## Icecast
@@ -516,7 +729,7 @@ so that the year is updated in the configuration.
This is on live.emacsconf.org and can be restarted with `/etc/init.d/emacsconf restart`.
-<a id="orgab7108a"></a>
+<a id="general-infrastructure-shell-scripts"></a>
## Shell scripts
@@ -630,7 +843,7 @@ Explanation of files:
Other files might also have been uploaded by the speaker, such as slides or notes.
-<a id="org5545d42"></a>
+<a id="general-infrastructure-irc-web-client"></a>
## IRC web client
@@ -652,7 +865,7 @@ connection exhaustion errors. Is that something we can plan now or would
you like me to bring it up a few days before the conference?
-<a id="orgd7fd9ee"></a>
+<a id="general-infrastructure-etherpad"></a>
## Etherpad
@@ -661,6 +874,10 @@ Success:
- [X] pad.emacsconf.org redirects to this year&rsquo;s entry
- [X] Each talk has its own Etherpad
+Lessons learned:
+
+- After 2024: Added pronouns and pronunciation to the pad template since that&rsquo;s what the hosts will be looking at
+
<a id="media"></a>
@@ -688,7 +905,7 @@ Switching it back to `TO_STREAM` and calling
You can generate the index with `emacsconf-publish-update-media`.
-<a id="org75cad9b"></a>
+<a id="general-infrastructure-automated-irc-announcements"></a>
## Automated IRC announcements
@@ -712,7 +929,35 @@ ssh root@bbb
cd greenlight-v3
docker compose restart
-Does not seem to work in Firefox private browsing; documented at <https://emacsconf.org/2024/watch/>.
+Sizes:
+
+- dormant: 1 GB nanode
+- testing: 4 core 8 GB shared CPU
+- production: 8 core 16 GB dedicated CPU (roughly half CPU load for 107 simultaneous users, 2024)
+
+
+### Installing BigBlueButton
+
+1. Create the instance.
+ - Linode 4core 8GB shared CPU
+ - Image: Ubuntu 22.04
+2. Update the DNS for bbb.emacsverse.org with its IP address.
+3. Download the BBB installer and make it executable.
+4. ufw allow 16384:32768/udp
+5. Run the BBB installer: `./bbb-install.sh -v jammy-300 -s bbb.emacsverse.org -e emacsconf@sachachua.com -g`
+6. `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) .
+ - /usr/local/bigbluebutton/core/scripts/bigbluebutton.yml:
+
+ steps:
+ archive: 'sanity'
+ sanity: 'captions'
+ captions:
+ - 'process:presentation'
+ - 'process:video'
+ 'process:presentation': 'publish:presentation'
+ 'process:video': 'publish:video'
+ - systemctl restart bbb-rap-resque-worker.service
+7. docker exec -it greenlight-v3 bundle exec rake admin:create[&rsquo;name&rsquo;,&rsquo;email&rsquo;,&rsquo;password&rsquo;]
### System audio limitations
@@ -728,7 +973,72 @@ BBB says sharing system audio works only if you use Chrome on Mac OS X or Micros
Related: <https://github.com/bigbluebutton/bigbluebutton/issues/8632>
-<a id="org5a3d818"></a>
+### Creating talk BBB rooms
+
+- `docker exec -it greenlight-v3 /bin/bash`
+- `bundle exec rails console`
+- `user_id = User.find_by_email("sacha@sachachua.com").id`
+
+ (mapconcat (lambda (group)
+ (format
+ "Room.create(user_id: user_id, name: \"%s - %s\")\n"
+ (plist-get (cadr group) :speakers)
+ (string-join (mapcar (lambda (talk) (plist-get talk :slug))
+ (cdr group)))))
+ (emacsconf-mail-groups (emacsconf-active-talks (emacsconf-get-talk-info)))
+ "")
+
+- <elisp:emacsconf-publish-bbb-static-redirects>
+
+Print out the room IDs with
+
+ Room.all.each { |x| puts x.friendly_id + " " + x.name }; nil
+
+It&rsquo;s possible to change the friendly\_id and then use `x.save!`.
+
+
+### Setting up moderator access codes
+
+
+### Backing up BBB :backup:
+
+rsync -avze ssh root@bbb:/var/bigbluebutton/ bigbluebutton/
+
+ssh root@bbb &rsquo;tar zcvf - /var/bigbluebutton /etc/bigbluebutton /root/greenlight-v3 /usr/local/bigbluebutton /usr/share/bbb-web&rsquo; > bbb-backup-$(date &ldquo;+%Y-%m-%d&rdquo;).tar.gz
+
+ssh root@bbb &rsquo;dd if=/dev/sda bs=5M &rsquo; | dd of=bbb-img-$(date &ldquo;+%Y-%m-%d&rdquo;).img status=progress
+
+
+### Spinning BBB up again
+
+<span class="timestamp-wrapper"><span class="timestamp">[2025-01-22 Wed] </span></span> &#x2026; actually, this ran into some issues with the certificate, so I&rsquo;m just going to do a reinstall.
+
+Previous notes
+
+1. Create a Nanode.
+2. Update the DNS for bbb.emacsverse.org with its IP address. (dns.he.net)
+3. Reboot into Rescue mode. In Lish:
+
+ passwd # set interactively
+ sed -i -e 's/#PasswordAuthentication yes/PasswordAuthentication yes/g' /etc/ssh/sshd_config
+ echo 'PermitRootLogin yes' >> /etc/ssh/sshd_config
+ service ssh start
+4. From the backup directory:
+ gunzip -c bbb-img-2024-12-08.img.gz | ssh root@bbb.emacsconf.org &ldquo;dd of=/dev/sda bs=4M status=progress oflag=direct iflag=fullblock&rdquo;
+5. After I resized to 4core 8GB RAM, I couldn&rsquo;t log in with SSH, so I used the Linode shell. `sshd -t` said no host keys available. Fix:
+
+ ssh-keygen -A
+ service ssh --full-restart
+6. ./bbb-install.sh -v jammy-300 -s bbb.emacsverse.org -e emacsconf@sachachua.com
+
+Resources:
+
+- <https://overto.eu/posts/gunzip-into-dd/>
+- <https://www.linode.com/community/questions/20386/how-do-i-ssh-to-linode-from-the-finnix-boot-in-order-to-copy-my-local-vm-over-to>
+- <https://github.com/bigbluebutton/bigbluebutton/issues/9485>
+
+
+<a id="general-infrastructure-manual-irc-announcements"></a>
## Manual IRC announcements
@@ -737,7 +1047,7 @@ Success:
- [X] You can /opall, /conftopic, and /broadcast
-<a id="orge08d62d"></a>
+<a id="general-infrastructure-low-res-stream"></a>
## Low-res stream
@@ -748,7 +1058,7 @@ backup on live:
- /usr/local/bin/emacsconf-lowres-dev-on-connect
-<a id="org7f2e95e"></a>
+<a id="general-infrastructure-upload-talks-to-youtube"></a>
## Upload talks to YouTube
@@ -784,7 +1094,7 @@ backup on live:
(emacsconf-publish-prepare-for-display (emacsconf-get-talk-info)))
-<a id="org0cc19c3"></a>
+<a id="general-infrastructure-restream-to-youtube"></a>
## Restream to YouTube
@@ -802,7 +1112,7 @@ backup on live:
docker exec -it greenlight-v2 bundle exec rake user:create["USERNAME","EMAIL","PASSWORD","user"]
-<a id="org4efd774"></a>
+<a id="other-process-notes-when-a-talk-is-added-after-the-schedule-has-already-been-drafted"></a>
## When a talk is added after the schedule has already been drafted
@@ -826,12 +1136,28 @@ backup on live:
## When a talk is cancelled
-1. Update the status to CANCELLED.
+1. Update the status to CANCELLED. Update that specific talk with <elisp:emacsconf-publish-info-pages-for-talk>.
2. Rejig the schedule if needed, and update with <elisp:emacsconf-schedule-update-from-info>
3. Update the published schedule with <elisp:emacsconf-update-schedule> and push the wiki.
4. Regenerate the intros (before, after). <elisp:emacsconf-stream-generate-in-between-pages>, then use <elisp:subed-record-compile-video> in the intros file.
-5. Sync the new intros to the /data/emacsconf/shared/$YEAR/assets/intros directory.
-6. Regenerate the pads: <elisp:emacsconf-pad-prepopulate-all-talks>
+5. Resync the cache directory.
+6. Consider updating the screenshots for sat-open and sun-open.
+
+
+<a id="other-process-notes-when-a-talk-changes-title"></a>
+
+## When a talk changes title
+
+1. Update the title in conf.org.
+2. Delete the FILE\_PREFIX property.
+3. Call <elisp:emacsconf-set-file-prefix-if-needed>.
+4. Rename existing files with <elisp:emacsconf-update-file-prefixes>.
+5. Update the intro VTT file with the new title.
+6. Update the wiki page for the talk.
+7. Regenerate the in-between images with <elisp:emacsconf-stream-generate-in-between-pages>
+8. Rerecord and recompile the intro, and recompile the intro for the talk after it.
+9. <elisp:emacsconf-update-schedule>
+10. <elisp:emacsconf-pad-prepopulate-hyperlists>
<a id="change-talk-qa"></a>
@@ -846,7 +1172,15 @@ backup on live:
6. Regenerate talks.json: <elisp:emacsconf-publish-talks-json-to-files>
-<a id="org17cc58c"></a>
+<a id="other-process-notes-to-play-the-other-stream"></a>
+
+## To play the other stream
+
+- mpv &#x2013;profile=full <https://live0.emacsconf.org/gen.webm>
+- Change the channel topic to note that discussion can be in the other channel
+
+
+<a id="other-process-notes-when-a-system-is-down"></a>
## When a system is down
@@ -859,7 +1193,7 @@ Update the status page:
/broadcast <message> may also be helpful
-<a id="org4636e4e"></a>
+<a id="other-process-notes-when-we-need-to-bring-on-a-last-minute-volunteer"></a>
## When we need to bring on a last-minute volunteer
@@ -868,7 +1202,7 @@ Update the status page:
will give them the backstage credentials and links to the index
-<a id="org811d67a"></a>
+<a id="other-process-notes-checking-people-in"></a>
## Checking people in
@@ -876,7 +1210,7 @@ will give them the backstage credentials and links to the index
/room nick (should be automatic if live, but there just in case)
-<a id="org5d78595"></a>
+<a id="other-process-notes-ansible"></a>
## Ansible
diff --git a/organizers-notebook/index.org b/organizers-notebook/index.org
index 13d55ca7..17a60f76 100644
--- a/organizers-notebook/index.org
+++ b/organizers-notebook/index.org
@@ -76,9 +76,15 @@ Create linked pages
- [ ] submit page
*** How to mark pages as drafts
+:PROPERTIES:
+:CUSTOM_ID: phases-and-lessons-learned-draft-cfp-how-to-mark-pages-as-drafts
+:END:
Put inside double square brackets: =!template id=pagedraft=
*** Previous years
+:PROPERTIES:
+:CUSTOM_ID: phases-and-lessons-learned-draft-cfp-previous-years
+:END:
[[file:~/proj/emacsconf/wiki/2023/cfp.org][2023]]
@@ -121,11 +127,37 @@ Put inside double square brackets: =!template id=pagedraft=
European organizers and volunteers, though.
- Put the speaker introduction right after the talk description for easier web page copying.
** Announce
+:PROPERTIES:
+:CUSTOM_ID: phases-and-lessons-learned-announce
+:END:
- Post CFP to emacsconf-discuss, reddit.com/r/emacs, and in Emacs News
- Submit to https://foss.events/
+*** Promote the conference
+:PROPERTIES:
+:CUSTOM_ID: phases-and-lessons-learned-announce-promote-the-conference
+:END:
+
+Submit to https://foss.events/
+
+Maybe it would be good to get in touch with podcasts like
+
+- [[https://systemcrafters.net/][System Crafters]]
+- [[https://www.youtube.com/playlist?list=PLbFVcOQ-YH_LRP687N0YeN78YZmBp5wqF][This Week in Linux]]
+- [[https://linuxunplugged.com/][Linux Unplugged]]
+- [[http://asknoahshow.com/][Ask Noah]]
+- [[https://linuxafterdark.net/][Linux After Dark]]
+- [[https://anonradio.net/][Lispy Gopher Show]]
+
+etc to give a heads up on EmacsConf before it
+happens and also mention to them when videos are
+available to spark more interest.
+
** Process proposals
+:PROPERTIES:
+:CUSTOM_ID: phases-and-lessons-learned-process-proposals
+:END:
1. In the private repository, create a conf.org.
2. Set ~emacsconf-org-file~ to its location.
@@ -153,6 +185,9 @@ When proposals come in:
TRACK, TIMEZONE, CATEGORY, DATE_SUBMITTED,
PUBLIC_EMAIL
** Accept proposals
+:PROPERTIES:
+:CUSTOM_ID: phases-and-lessons-learned-accept-proposals
+:END:
Setup:
@@ -180,6 +215,9 @@ For each talk:
- Create draft-schedule section in the public organizers notebook for the year
- Add missing items to plan
** Set up backstage and upload
+:PROPERTIES:
+:CUSTOM_ID: phases-and-lessons-learned-set-up-backstage-and-upload
+:END:
See [[emacsconf-ansible:README.org]].
@@ -188,15 +226,19 @@ Lessons learned:
- Next year, let's get upload.emacsconf.org in place as the domain name so that people don't try to FTP files to it.
** Post the schedule
+:PROPERTIES:
+:CUSTOM_ID: phases-and-lessons-learned-post-the-schedule
+:END:
- [[elisp:(setq emacsconf-publishing-phase 'schedule)]]
- elisp:emacsconf-publish-info-pages
- elisp:emacsconf-publish-schedule-org-files
- elisp:emacsconf-ical-generate-all
- Update talks.md to refer to watch.md as well
-
-
** Process uploaded files
+:PROPERTIES:
+:CUSTOM_ID: phases-and-lessons-learned-process-uploaded-files
+:END:
Basic setup:
@@ -218,14 +260,26 @@ Process:
2. elisp:emacsconf-publish-cache-video-data or elisp:emacsconf-cache-all-video-data
3. elisp:emacsconf-publish-backstage-index
** Generate assets
+:PROPERTIES:
+:CUSTOM_ID: phases-and-lessons-learned-generate-assets
+:END:
*** In-between pages
+:PROPERTIES:
+:CUSTOM_ID: phases-and-lessons-learned-generate-assets-in-between-pages
+:END:
- Make the $year/assets/in-between directory and copy the template.svg from the previous year.
- elisp:emacsconf-stream-generate-in-between-pages
*** Intros
+:PROPERTIES:
+:CUSTOM_ID: phases-and-lessons-learned-generate-assets-intros
+:END:
- In an empty VTT file, elisp:emacsconf-subed-intro-subtitles
- Record the audio and get captions
- Splice together into a file that will be processed with subed-record-compile-video.
** Prepare the infrastructure
+:PROPERTIES:
+:CUSTOM_ID: phases-and-lessons-learned-prepare-the-infrastructure
+:END:
Checklist:
@@ -245,6 +299,9 @@ Checklist:
- [ ] Icecast
** Getting ready for captions
+:PROPERTIES:
+:CUSTOM_ID: phases-and-lessons-learned-getting-ready-for-captions
+:END:
Onboarding:
@@ -261,23 +318,39 @@ elisp:emacsconf-pad-prepopulate-shift-hyperlists
SCHEDULED: <2024-11-30 Sat>
:PROPERTIES:
:CREATED: [2024-11-27 Wed 17:34]
+:CUSTOM_ID: phases-and-lessons-learned-getting-ready-for-the-conference-send-check-in-details-schedule-update-etc
:END:
*** Two days before the conference
+:PROPERTIES:
+:CUSTOM_ID: phases-and-lessons-learned-getting-ready-for-the-conference-two-days-before-the-conference
+:END:
Go through the :tminustwo: tags.
*** One day before the conference
+:PROPERTIES:
+:CUSTOM_ID: phases-and-lessons-learned-getting-ready-for-the-conference-one-day-before-the-conference
+:END:
Go through the :tminusone: tags.
+- Set ~emacsconf-publishing-phase~ to ~conference~.
+- Set emacsconf-publish-include-pads to t and republish the info pages.
+
** During the conference
:PROPERTIES:
:CUSTOM_ID: conf
:END:
elisp:emacsconf-pad-open-shift-hyperlist
** After the conference
+:PROPERTIES:
+:CUSTOM_ID: phases-and-lessons-learned-after-the-conference
+:END:
*** Capture stats
+:PROPERTIES:
+:CUSTOM_ID: phases-and-lessons-learned-after-the-conference-capture-stats
+:END:
2024 stats
Saturday:
@@ -294,13 +367,22 @@ res peak 81.54% total CPU (each OBS ~250%), mem 7GB used
so far we have used 1.2TB of transfer this month
*** Back up the data
+:PROPERTIES:
+:CUSTOM_ID: phases-and-lessons-learned-after-the-conference-back-up-the-data
+:END:
**** Icecast
+:PROPERTIES:
+:CUSTOM_ID: phases-and-lessons-learned-after-the-conference-back-up-the-data-icecast
+:END:
rsync -avze ssh live:'/data/emacsconf-2024-*' media:~/2024
rsync -avze ssh live:'/data/emacsconf-2024-*' .
**** BigBlueButton
+:PROPERTIES:
+:CUSTOM_ID: phases-and-lessons-learned-after-the-conference-back-up-the-data-bigbluebutton
+:END:
rsync -avze ssh root@bbb:/var/bigbluebutton/ bigbluebutton/
@@ -311,6 +393,9 @@ sudo losetup --find --show bbb-img-2024-12-08.img
sudo mount /dev/loop10 test
cd test
***** Reviewing all the Q&A durations and chat messages
+:PROPERTIES:
+:CUSTOM_ID: phases-and-lessons-learned-after-the-conference-back-up-the-data-bigbluebutton-reviewing-all-the-q-a-durations-and-chat-messages
+:END:
#+begin_src emacs-lisp :eval no
(let ((default-directory "/home/sacha/proj/emacsconf/2024/backups/bigbluebutton/published/video"))
(mapconcat
@@ -344,8 +429,14 @@ cd test
- Copy IRC logs to cache and therefore to backstage: (ex: 2024-12-07-emacsconf-gen.txt)
*** Combine the IRC logs and the pads, and add them to the wiki
+:PROPERTIES:
+:CUSTOM_ID: phases-and-lessons-learned-after-the-conference-combine-the-irc-logs-and-the-pads-and-add-them-to-the-wiki
+:END:
(did we e-mail the speakers before or after?)
*** Process the Q&A recordings and live presentations
+:PROPERTIES:
+:CUSTOM_ID: phases-and-lessons-learned-after-the-conference-process-the-q-a-recordings-and-live-presentations
+:END:
- Save answers videos as --answers.webm.
- From the pad file: emacsconf-extract-copy-pad-to-wiki
@@ -365,24 +456,98 @@ Also copy the YouTube comments and IRC comments
emacsconf-extract-irc-anonymize-log
*** Send thank-you emails to the speakers
+:PROPERTIES:
+:CUSTOM_ID: phases-and-lessons-learned-after-the-conference-send-thank-you-emails-to-the-speakers
+:END:
+*** Notify emacs-discuss that the Q&A is up
+:PROPERTIES:
+:CUSTOM_ID: phases-and-lessons-learned-after-the-conference-notify-emacs-discuss-that-the-q-a-is-up
+:END:
+
+https://lists.gnu.org/archive/html/emacsconf-discuss/2024-12/msg00000.html
+
+#+begin_example
+Hello, everyone!
+
+https://emacsconf.org/2024/talks and https://media.emacsconf.org/2024
+should have the talks and Q&A sessions now, hooray, including chapter
+indices for the Q&A. I've also copied over notes from Etherpad and IRC
+on the talk pages, and I've e-mailed them to the speakers so they can
+update the wiki directly or send in additional answers.
+
+BigBlueButton audio mixing is kinda iffy, so I'm holding off on
+uploading the Q&A videos (and the live talk for secrets) to
+YouTube/Toobnix until Leo and other volunteers have a listen to see
+whether the audio needs to be tweaked, and maybe even to do some kind of
+normalization. Unfortunately, recordings with separate audio tracks per
+participant aren't available--it would be cool to figure that out next
+year--so some talks might need some manual processing. (Please feel free
+to volunteer if that's up your alley!) In the meantime, you can check
+out the Q&A videos from the talk pages on the wiki. Please let us know
+if there's anything that needs tweaking.
+
+Enjoy!
+
+Sacha
+#+end_example
+
*** Write a report
+:PROPERTIES:
+:CUSTOM_ID: phases-and-lessons-learned-after-the-conference-write-a-report
+:END:
Sample: https://emacsconf.org/2023/report/
-*** Notify emacs-discuss that the Q&A is up
*** Send thank-you emails to the volunteers
+:PROPERTIES:
+:CUSTOM_ID: phases-and-lessons-learned-after-the-conference-send-thank-you-emails-to-the-volunteers
+:END:
+
+emacsconf-mail-template-ask-volunteer-for-mailing-address
+
*** Process the lessons learned
+:PROPERTIES:
+:CUSTOM_ID: phases-and-lessons-learned-after-the-conference-process-the-lessons-learned
+:END:
* General infrastructure
+:PROPERTIES:
+:CUSTOM_ID: general-infrastructure
+:END:
** Linode instance sizes
+:PROPERTIES:
+:CUSTOM_ID: general-infrastructure-linode-instance-sizes
+:END:
*** Production
+:PROPERTIES:
+:CUSTOM_ID: general-infrastructure-linode-instance-sizes-production
+:END:
- front0 shared Linode 32GB
- live0 shared Linode 64GB
- meet Dedicated CPU 16GB
*** Dormant
+:PROPERTIES:
+:CUSTOM_ID: general-infrastructure-linode-instance-sizes-dormant
+:END:
Resize disk to 25GB, copying large files to media if needed
- nanode front0
- nanode live0
- delete meet after downloading all the recordings, or resize down to nanode
+** File uploads
+:PROPERTIES:
+:CUSTOM_ID: upload
+:END:
+
+[[https://github.com/psi-4ward/psitransfer][psi-4ward/psitransfer: Simple open source self-hosted file sharing solution]]
+
+Before the conference:
+
+1. Set ~upload_enabled~ to ~true~ in ~prod-vars.yml~ and run ~ansible-playbook -i inventory.yml prod-playbook.yml --tags upload~.
+2. Confirm that https://upload.emacsconf.org has the upload interface and works with the password.
+3. Use ~emacsconf-mail-template-to-all-groups~ and ~emacsconf-mail-upload-and-backstage-info~ to e-mail the upload information to all speakers.
+After the conference:
+
+1. Set ~upload_enabled~ to ~false~ in ~prod-vars.yml~ and run ~ansible-playbook -i inventory.yml prod-playbook.yml --tags upload~.
+2. Confirm that https://upload.emacsconf.org shows the in-between page.
** Icecast
:PROPERTIES:
@@ -553,6 +718,9 @@ so that the year is updated in the configuration.
This is on live.emacsconf.org and can be restarted with =/etc/init.d/emacsconf restart=.
** Shell scripts
+:PROPERTIES:
+:CUSTOM_ID: general-infrastructure-shell-scripts
+:END:
Success: From the commandline, hosts can:
- [X] play just the intro: intro $SLUG
@@ -599,6 +767,9 @@ Explanation of files:
Other files might also have been uploaded by the speaker, such as slides or notes.
** IRC web client
+:PROPERTIES:
+:CUSTOM_ID: general-infrastructure-irc-web-client
+:END:
Success:
- [X] You can join from https://chat.emacsconf.org
@@ -616,11 +787,18 @@ allowed from chat.emacsconf.org during conference days in order to avoid
connection exhaustion errors. Is that something we can plan now or would
you like me to bring it up a few days before the conference?
** Etherpad
+:PROPERTIES:
+:CUSTOM_ID: general-infrastructure-etherpad
+:END:
Success:
- [X] pad.emacsconf.org redirects to this year's entry
- [X] Each talk has its own Etherpad
+
+Lessons learned:
+
+- After 2024: Added pronouns and pronunciation to the pad template since that's what the hosts will be looking at
** Publishing media to the server and to the wiki
:PROPERTIES:
:CUSTOM_ID: media
@@ -639,6 +817,9 @@ Switching it back to =TO_STREAM= and calling
elisp:emacsconf-publish-media-files-on-change should remove it.
*** TODO Switch public media to unprotected root before the conference :tminustwo:
+:PROPERTIES:
+:CUSTOM_ID: general-infrastructure-publishing-media-to-the-server-and-to-the-wiki-switch-public-media-to-unprotected-root-before-the-conference
+:END:
1. Clear public media directory.
2. Set =media_protect_root= to false in Ansible =group_vars/all.yml=.
@@ -646,6 +827,9 @@ elisp:emacsconf-publish-media-files-on-change should remove it.
You can generate the index with =emacsconf-publish-update-media=.
** Automated IRC announcements
+:PROPERTIES:
+:CUSTOM_ID: general-infrastructure-automated-irc-announcements
+:END:
Success:
@@ -666,6 +850,37 @@ ssh root@bbb
cd greenlight-v3
docker compose restart
+Sizes:
+
+- dormant: 1 GB nanode
+- testing: 4 core 8 GB shared CPU
+- production: 8 core 16 GB dedicated CPU (roughly half CPU load for 107 simultaneous users, 2024)
+
+*** Installing BigBlueButton
+
+1. Create the instance.
+ - Linode 4core 8GB shared CPU
+ - Image: Ubuntu 22.04
+2. Update the DNS for bbb.emacsverse.org with its IP address.
+3. Download the BBB installer and make it executable.
+4. ufw allow 16384:32768/udp
+5. Run the BBB installer: ~./bbb-install.sh -v jammy-300 -s bbb.emacsverse.org -e emacsconf@sachachua.com -g~
+6. ~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]] .
+ - /usr/local/bigbluebutton/core/scripts/bigbluebutton.yml:
+ #+begin_example
+ steps:
+ archive: 'sanity'
+ sanity: 'captions'
+ captions:
+ - 'process:presentation'
+ - 'process:video'
+ 'process:presentation': 'publish:presentation'
+ 'process:video': 'publish:video'
+ #+end_example
+ - systemctl restart bbb-rap-resque-worker.service
+7. docker exec -it greenlight-v3 bundle exec rake admin:create['name','email','password']
+
+
*** System audio limitations
:PROPERTIES:
@@ -684,6 +899,9 @@ Related: https://github.com/bigbluebutton/bigbluebutton/issues/8632
*** Creating talk BBB rooms
+:PROPERTIES:
+:CUSTOM_ID: general-infrastructure-bigbluebutton-creating-talk-bbb-rooms
+:END:
- =docker exec -it greenlight-v3 /bin/bash=
- =bundle exec rails console=
@@ -708,8 +926,16 @@ Print out the room IDs with
Room.all.each { |x| puts x.friendly_id + " " + x.name }; nil
#+end_src
+It's possible to change the friendly_id and then use ~x.save!~.
+
*** Setting up moderator access codes
+:PROPERTIES:
+:CUSTOM_ID: general-infrastructure-bigbluebutton-setting-up-moderator-access-codes
+:END:
*** Backing up BBB :backup:
+:PROPERTIES:
+:CUSTOM_ID: general-infrastructure-bigbluebutton-backing-up-bbb
+:END:
rsync -avze ssh root@bbb:/var/bigbluebutton/ bigbluebutton/
@@ -717,13 +943,49 @@ ssh root@bbb 'tar zcvf - /var/bigbluebutton /etc/bigbluebutton /root/greenlight-
ssh root@bbb 'dd if=/dev/sda bs=5M ' | dd of=bbb-img-$(date "+%Y-%m-%d").img status=progress
+*** Spinning BBB up again
+
+[2025-01-22 Wed] ... actually, this ran into some issues with the certificate, so I'm just going to do a reinstall.
+
+Previous notes
+
+1. Create a Nanode.
+2. Update the DNS for bbb.emacsverse.org with its IP address. (dns.he.net)
+3. Reboot into Rescue mode. In Lish:
+ #+begin_src sh :eval no
+ passwd # set interactively
+ sed -i -e 's/#PasswordAuthentication yes/PasswordAuthentication yes/g' /etc/ssh/sshd_config
+ echo 'PermitRootLogin yes' >> /etc/ssh/sshd_config
+ service ssh start
+ #+end_src
+4. From the backup directory:
+ gunzip -c bbb-img-2024-12-08.img.gz | ssh root@bbb.emacsconf.org "dd of=/dev/sda bs=4M status=progress oflag=direct iflag=fullblock"
+5. After I resized to 4core 8GB RAM, I couldn't log in with SSH, so I used the Linode shell. ~sshd -t~ said no host keys available. Fix:
+ #+begin_src sh :eval no
+ ssh-keygen -A
+ service ssh --full-restart
+ #+end_src
+6. ./bbb-install.sh -v jammy-300 -s bbb.emacsverse.org -e emacsconf@sachachua.com
+
+Resources:
+
+- https://overto.eu/posts/gunzip-into-dd/
+- https://www.linode.com/community/questions/20386/how-do-i-ssh-to-linode-from-the-finnix-boot-in-order-to-copy-my-local-vm-over-to
+- https://github.com/bigbluebutton/bigbluebutton/issues/9485
+
** Manual IRC announcements
+:PROPERTIES:
+:CUSTOM_ID: general-infrastructure-manual-irc-announcements
+:END:
Success:
- [X] You can /opall, /conftopic, and /broadcast
** Low-res stream
+:PROPERTIES:
+:CUSTOM_ID: general-infrastructure-low-res-stream
+:END:
Should be automatic, handled by Icecast
backup on live:
- /usr/local/bin/emacsconf-lowres-gen-on-connect
@@ -732,6 +994,7 @@ backup on live:
SCHEDULED: <2024-11-30 Sat>
:PROPERTIES:
:CREATED: [2024-11-27 Wed 17:33]
+:CUSTOM_ID: general-infrastructure-upload-talks-to-youtube
:END:
[[https://studio.youtube.com/channel/UCwuyodzTl_KdEKNuJmeo99A/videos/upload?filter=%5B%5D&sort=%7B%22columnType%22%3A%22date%22%2C%22sortOrder%22%3A%22DESCENDING%22%7D][Channel videos]]
@@ -781,6 +1044,9 @@ SCHEDULED: <2024-11-30 Sat>
:end:
** Restream to YouTube
+:PROPERTIES:
+:CUSTOM_ID: general-infrastructure-restream-to-youtube
+:END:
* Other process notes
@@ -797,6 +1063,9 @@ ssh bbb.emacsverse.org
docker exec -it greenlight-v2 bundle exec rake user:create["USERNAME","EMAIL","PASSWORD","user"]
#+end_src
** When a talk is added after the schedule has already been drafted
+:PROPERTIES:
+:CUSTOM_ID: other-process-notes-when-a-talk-is-added-after-the-schedule-has-already-been-drafted
+:END:
- [X] Add the talk to conf.org
- [X] Add the talk ID to the draft schedule
- [X] Run the draft schedule block
@@ -825,6 +1094,9 @@ docker exec -it greenlight-v2 bundle exec rake user:create["USERNAME","EMAIL","P
6. Consider updating the screenshots for sat-open and sun-open.
** When a talk changes title
+:PROPERTIES:
+:CUSTOM_ID: other-process-notes-when-a-talk-changes-title
+:END:
1. Update the title in conf.org.
2. Delete the FILE_PREFIX property.
@@ -847,8 +1119,18 @@ docker exec -it greenlight-v2 bundle exec rake user:create["USERNAME","EMAIL","P
4. Sync the new intros to the /data/emacsconf/shared/$YEAR/assets/intros directory.
5. Regenerate the pads: elisp:emacsconf-pad-prepopulate-all-talks
6. Regenerate talks.json: elisp:emacsconf-publish-talks-json-to-files
+** To play the other stream
+:PROPERTIES:
+:CUSTOM_ID: other-process-notes-to-play-the-other-stream
+:END:
+
+- mpv --profile=full https://live0.emacsconf.org/gen.webm
+- Change the channel topic to note that discussion can be in the other channel
** When a system is down
+:PROPERTIES:
+:CUSTOM_ID: other-process-notes-when-a-system-is-down
+:END:
Let people know in #emacsconf and #emacsconf-org
@@ -859,17 +1141,26 @@ Update the status page:
/broadcast <message> may also be helpful
** When we need to bring on a last-minute volunteer
+:PROPERTIES:
+:CUSTOM_ID: other-process-notes-when-we-need-to-bring-on-a-last-minute-volunteer
+:END:
/backstage nick
will give them the backstage credentials and links to the index
** Checking people in
+:PROPERTIES:
+:CUSTOM_ID: other-process-notes-checking-people-in
+:END:
/checkin nick
/room nick (should be automatic if live, but there just in case)
** Ansible
+:PROPERTIES:
+:CUSTOM_ID: other-process-notes-ansible
+:END:
#+begin_src sh :eval no
git clone git@git.emacsconf.org:pub/emacsconf-ansible
diff --git a/script.js b/script.js
new file mode 100644
index 00000000..428adf3a
--- /dev/null
+++ b/script.js
@@ -0,0 +1,227 @@
+// @license magnet:?xt=urn:btih:0b31508aeb0634b347b8270c7bee4d411b5d4109&dn=agpl-3.0.txt AGPL-3.0-or-later
+ /*
+
+ SeekToTime - simple script to add video time jump functionality to timestamp links
+ Copyright (C) 2020 Grant Shangreaux
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Affero General Public License as
+ published by the Free Software Foundation, either version 3 of the
+ License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Affero General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>.
+
+ This script enables wiki editors to create anchor tags with the class "time-link"
+ that will be parsed for seeking to specific time stamps in the main video on a page.
+ The tag should look like this:
+
+ <a href="#mainVideo" class="time-link">mm:ss</a>
+
+ This could be extended to accept hours in the time stamp as well, but currently does not.
+ */
+ let timestamps;
+
+ // expects a string like "mm:ss.mmm"
+ function parseSeconds(timeString) {
+ return timeString.split(":").reduce(function(prev, o) {
+ return prev * 60 + parseFloat(o);
+ }, 0);
+ }
+
+ function handleSubtitleClick(event) {
+ var video = event.target.getAttribute('data-video');
+ var start = event.target.getAttribute('data-start');
+ var videoElem = document.getElementById(video);
+ if (videoElem) {
+ videoElem.currentTime = parseSeconds(start);
+ videoElem.scrollIntoView();
+ }
+ if (event.preventDefault) {
+ event.preventDefault();
+ }
+ }
+
+ window.onload = function initScript() {
+ let subtitles = document.getElementsByClassName('subtitle');
+ for (let i = 0; i < subtitles.length; i++) {
+ subtitles[i].onclick = handleSubtitleClick;
+ }
+ }
+// @license-end
+ // @license magnet:?xt=urn:btih:90dc5c0be029de84e523b9b3922520e79e0e6f08&dn=cc0.txt txt CC0-1.0
+ // Copyright (C) 2021, 2022 Sacha Chua
+
+ if (document.querySelector('.times')) {
+ var dateOptions = {dateStyle: 'short', timeStyle: 'short'};
+ var localStart = (new Date(document.querySelector('.times').getAttribute('start'))).toLocaleString([], dateOptions);
+ var localEnd = (new Date(document.querySelector('.times').getAttribute('end'))).toLocaleString([], dateOptions);
+ var dateElem = document.createElement('div');
+ dateElem.appendChild(document.createTextNode('Your local time: ~ ' + localStart + ' to ~ ' + localEnd));
+ document.querySelector('.times').prepend(dateElem);
+ if (document.querySelector('.times').querySelector('.others')) {
+ document.querySelector('.times').querySelector('.others').style.display = 'none';
+ }
+ }
+ if (document.querySelector('.time-overlay')) {
+ document.querySelectorAll('.time-overlay').forEach(function (o) {
+ if (o.getAttribute('title')) return;
+ var dateOptions = {dateStyle: 'short', timeStyle: 'short'};
+ var localStart, localEnd;
+ if (o.getAttribute('start') && o.getAttribute('end')) {
+ localStart = (new Date(o.getAttribute('start'))).toLocaleString([], dateOptions);
+ localEnd = (new Date(o.getAttribute('end'))).toLocaleString([], dateOptions);
+ o.setAttribute('title', 'Your local time: ~ ' + localStart + ' to ~ ' + localEnd);
+ } else if (o.getAttribute('start')) {
+ localStart = (new Date(o.getAttribute('start'))).toLocaleString([], dateOptions);
+ o.setAttribute('title', 'Your local time: ~ ' + localStart);
+ }
+ });
+ }
+
+ if (document.querySelector('a[name=transcript]')) {
+ var transcriptLink = document.createElement('a');
+ transcriptLink.setAttribute('href', '#transcript');
+ transcriptLink.textContent = 'View transcript';
+ var video = document.querySelector('.mainVideo video');
+ if (video) {
+ var resources = document.querySelector('.mainVideo video').closest('.vid').querySelector('.resources');
+ var transcriptDiv = document.createElement('div');
+ transcriptDiv.appendChild(transcriptLink)
+ if (resources) { resources.prepend(transcriptDiv); }
+ }
+ }
+ var chat = document.querySelector('.chat-iframe');
+ if (chat) {
+ if (chat.getAttribute('data-track')) {
+ chat.innerHTML = '<iframe src="https://chat.emacsconf.org?join=emacsconf,emacsconf-' +
+ chat.getAttribute('data-track').replace(/[^A-Za-z]/g, '') + '" height="600" width="100%"></iframe>';
+ } else {
+ chat.innerHTML = '<iframe src="https://chat.emacsconf.org" height="600" width="100%"></iframe>';
+ }
+ }
+
+// @license-end
+ // @license magnet:?xt=urn:btih:90dc5c0be029de84e523b9b3922520e79e0e6f08&dn=cc0.txt txt CC0-1.0
+ // Copyright (c) 2021 Sacha Chua - CC0 Public Domain
+ function displayChapters(elem) {
+ var i;
+ var chapter;
+ var list = document.createElement('ol');
+ list.setAttribute('class', 'chapters');
+ var link;
+ var target = elem.getAttribute('data-target');
+ var video = document.getElementById(target);
+ var track;
+ if (video) {
+ track = video.addTextTrack('chapters');
+ track.mode = 'hidden';
+ }
+ var chapters = elem.textContent.split(/[ \t]*\n+[ \t]*/).forEach(function(line) {
+ var m = (line.match(/^(((?:[0-9]+:)?[0-9]+:[0-9]+)(?:\.[0-9]+))[ \t]+(.*)/));
+ if (m) {
+ var start = m[1];
+ var text = m[3];
+ chapter = document.createElement('li');
+ link = document.createElement('a');
+ link.setAttribute('href', '#');
+ link.setAttribute('data-video', target);
+ link.setAttribute('data-start', start);
+ link.setAttribute('data-start-s', parseSeconds(start));
+ link.appendChild(document.createTextNode(m[2] + ' ' + text));
+ link.onclick = handleSubtitleClick;
+ chapter.appendChild(link);
+ list.appendChild(chapter);
+ if (track) {
+ var time = parseSeconds(start);
+ if (track.cues.length > 0) {
+ track.cues[track.cues.length - 1].endTime = time - 1;
+ }
+ track.addCue(new VTTCue(time, time, text));
+ }
+ }
+ })
+ if (track && track.cues.length > 0) {
+ video.addEventListener('durationchange', function() {
+ track.cues[track.cues.length - 1].endTime = video.duration;
+ });
+ track.addEventListener('cuechange', function() {
+ if (!this.activeCues[0]) return;
+ if (list.querySelector('.current')) {
+ list.querySelector('.current').className = '';
+ }
+ var chapter;
+ if (chapter = list.querySelector('a[data-start-s="' + this.activeCues[0].startTime + '"]')) {
+ chapter.parentNode.className = 'current';
+ }
+ });
+ }
+ elem.parentNode.replaceChild(list, elem);
+ }
+
+ document.querySelectorAll('pre.chapters').forEach(displayChapters);
+
+ var video = document.querySelector('video.reload');
+ if (video) {
+ var myVar = setInterval(reloadAsNeeded, 1000);
+ var oldTime = '';
+ function reloadAsNeeded() {
+ if ((video.paused != true && (video.currentTime - oldTime) == 0 && video.currentTime != 0)) {
+ var source = video.querySelector('source');
+ var oldVideo = source.src;
+ source.src = '';
+ source.src = oldVideo;
+ video.load();
+ video.play();
+ }
+ oldTime = video.currentTime;
+ };
+ }
+
+ /* videoType: mainVideo, qanda */
+ function addStickyVideo(videoType) {
+ const transcriptDiv = document.querySelector('.transcript-' + videoType);
+ const video = document.querySelector('.vid.' + videoType + ' video');
+ if (!video || !transcriptDiv) return;
+ if (transcriptDiv.querySelector('.vid'))
+ transcriptDiv.querySelector('.vid').remove();
+ // already has it
+ // TODO: Make a copy of the video and place it at the start of the btranscript div, positioned to the left, and sticky, but only on large screens.
+ const videoCopy = video.cloneNode(true);
+ transcriptDiv.prepend(videoCopy);
+ videoCopy.classList.add('sticky-video');
+ // TODO: fix the ID
+
+ }
+
+
+
+ // @license-end
+ // @license magnet:?xt=urn:btih:90dc5c0be029de84e523b9b3922520e79e0e6f08&dn=cc0.txt txt CC0-1.0
+ // Copyright (c) 2023 Sacha Chua - CC0 Public Domain
+ function highlightTalks() {
+ // highlight any talk mentioned in the highlight URL parameter
+ var params = new URLSearchParams(window.location.search);
+ if (!params.get('highlight')) return;
+ var talks = params.get('highlight').split(',').filter(function(o) { return o.match(/^[-a-z0-9]+$/); });
+ var regexp = new RegExp('/talks/(' + talks.join('|') + ')/?$');
+ document.querySelectorAll('a[href]').forEach(function(link) {
+ console.debug(link.getAttribute('href'), link.getAttribute('href').match(regexp));
+ if (link.getAttribute('href').match(regexp)) {
+ console.debug(link);
+ link.classList.add('highlight');
+ }
+ });
+ }
+
+ addEventListener('DOMContentLoaded', highlightTalks);
+ addEventListener('DOMContentLoaded', function() {
+ addStickyVideo('mainVideo');
+ addStickyVideo('qanda');
+ });
+ // @license-end
diff --git a/templates/page.tmpl b/templates/page.tmpl
index f12dfd12..cc8357d7 100644
--- a/templates/page.tmpl
+++ b/templates/page.tmpl
@@ -42,7 +42,7 @@
/*
SeekToTime - simple script to add video time jump functionality to timestamp links
- Copyright (C) 2020 Grant Shangreaux
+ Copyright (C) 2020-2024 Grant Shangreaux and Sacha Chua
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
@@ -65,9 +65,7 @@
This could be extended to accept hours in the time stamp as well, but currently does not.
*/
- let mainVideo;
- let qnaVideo; // some pages have a questions and answers video
- let timestamps;
+ let timestamps;
// expects a string like "mm:ss.mmm"
function parseSeconds(timeString) {
@@ -78,36 +76,27 @@
function handleSubtitleClick(event) {
var video = event.target.getAttribute('data-video');
- var start = event.target.getAttribute('data-start');
- let m = video.match(/(mainVideo|qnaVideo)-(.*)/);
- if (m) {
- video = m[2] + '-' + m[1];
- }
- var videoElem = document.getElementById(video);
- if (videoElem) {
- videoElem.currentTime = parseSeconds(start);
- videoElem.scrollIntoView();
- }
- event.preventDefault();
- }
+ var start = event.target.getAttribute('data-start');
+ const stickyVideo = document.querySelector('.transcript #' + video);
+ const indexCardVideo = document.querySelector('.vid #' + video);
+ if (indexCardVideo) {
+ indexCardVideo.currentTime = parseSeconds(start);
+ }
+ if (stickyVideo && window.getComputedStyle(stickyVideo).display == 'block') {
+ stickyVideo.currentTime = parseSeconds(start);
+ } else {
+ indexCardVideo.scrollIntoView();
+ }
+ if (event.preventDefault) {
+ event.preventDefault();
+ }
+ }
window.onload = function initScript() {
- mainVideo = document.getElementById("mainVideo");
- qnaVideo = document.getElementById("qnaVideo");
- timestamps = document.getElementsByClassName("time-link");
- var len = timestamps.length;
- for (let i = 0; i < len; i++) {
- timestamps[i].onclick = function () {
- videoType = this.href.split("/").pop();
- video = (videoType == "#mainVideo") ? mainVideo : qnaVideo;
- video.currentTime = parseSeconds(this.innerText)
- };
- }
let subtitles = document.getElementsByClassName('subtitle');
for (let i = 0; i < subtitles.length; i++) {
subtitles[i].onclick = handleSubtitleClick;
}
-
}
// @license-end
</script>
@@ -409,49 +398,68 @@ Last edited <TMPL_VAR MTIME>
}
elem.parentNode.replaceChild(list, elem);
}
-
- document.querySelectorAll('pre.chapters').forEach(displayChapters);
+
+ document.querySelectorAll('pre.chapters').forEach(displayChapters);
var video = document.querySelector('video.reload');
-if (video) {
- var myVar = setInterval(reloadAsNeeded, 1000);
- var oldTime = '';
- function reloadAsNeeded() {
- if ((video.paused != true && (video.currentTime - oldTime) == 0 && video.currentTime != 0)) {
- var source = video.querySelector('source');
- var oldVideo = source.src;
- source.src = '';
- source.src = oldVideo;
- video.load();
- video.play();
- }
- oldTime = video.currentTime;
- };
-}
+ if (video) {
+ var myVar = setInterval(reloadAsNeeded, 1000);
+ var oldTime = '';
+ function reloadAsNeeded() {
+ if ((video.paused != true && (video.currentTime - oldTime) == 0 && video.currentTime != 0)) {
+ var source = video.querySelector('source');
+ var oldVideo = source.src;
+ source.src = '';
+ source.src = oldVideo;
+ video.load();
+ video.play();
+ }
+ oldTime = video.currentTime;
+ };
+ }
+
+ /* videoType: mainVideo, qanda */
+ function addStickyVideo(videoType) {
+ const transcriptDiv = document.querySelector('.transcript-' + videoType);
+ const video = document.querySelector('.vid.' + videoType + ' video');
+ if (!video || !transcriptDiv) return;
+ if (transcriptDiv.querySelector('.vid'))
+ transcriptDiv.querySelector('.vid').remove();
+ // already has it
+ // TODO: Make a copy of the video and place it at the start of the transcript div, positioned to the left, and sticky, but only on large screens.
+ const videoCopy = video.cloneNode(true);
+ transcriptDiv.prepend(videoCopy);
+ videoCopy.classList.add('sticky-video');
+ // TODO: fix the ID
+ }
// @license-end
// @license magnet:?xt=urn:btih:90dc5c0be029de84e523b9b3922520e79e0e6f08&dn=cc0.txt txt CC0-1.0
- // Copyright (c) 2023 Sacha Chua - CC0 Public Domain
- function highlightTalks() {
- // highlight any talk mentioned in the highlight URL parameter
- var params = new URLSearchParams(window.location.search);
- if (!params.get('highlight')) return;
- var talks = params.get('highlight').split(',').filter(function(o) { return o.match(/^[-a-z0-9]+$/); });
- var regexp = new RegExp('/talks/(' + talks.join('|') + ')/?$');
- document.querySelectorAll('a[href]').forEach(function(link) {
- console.debug(link.getAttribute('href'), link.getAttribute('href').match(regexp));
- if (link.getAttribute('href').match(regexp)) {
- console.debug(link);
- link.classList.add('highlight');
- }
- });
- }
+ // Copyright (c) 2023 Sacha Chua - CC0 Public Domain
+ function highlightTalks() {
+ // highlight any talk mentioned in the highlight URL parameter
+ var params = new URLSearchParams(window.location.search);
+ if (!params.get('highlight')) return;
+ var talks = params.get('highlight').split(',').filter(function(o) { return o.match(/^[-a-z0-9]+$/); });
+ var regexp = new RegExp('/talks/(' + talks.join('|') + ')/?$');
+ document.querySelectorAll('a[href]').forEach(function(link) {
+ console.debug(link.getAttribute('href'), link.getAttribute('href').match(regexp));
+ if (link.getAttribute('href').match(regexp)) {
+ console.debug(link);
+ link.classList.add('highlight');
+ }
+ });
+ }
- addEventListener('DOMContentLoaded', highlightTalks);
- // @license-end
+ addEventListener('DOMContentLoaded', highlightTalks);
+ addEventListener('DOMContentLoaded', function() {
+ addStickyVideo('mainVideo');
+ addStickyVideo('qanda');
+ });
+ // @license-end
</script>
</body>
</html>
diff --git a/templates/script.js b/templates/script.js
new file mode 100644
index 00000000..428adf3a
--- /dev/null
+++ b/templates/script.js
@@ -0,0 +1,227 @@
+// @license magnet:?xt=urn:btih:0b31508aeb0634b347b8270c7bee4d411b5d4109&dn=agpl-3.0.txt AGPL-3.0-or-later
+ /*
+
+ SeekToTime - simple script to add video time jump functionality to timestamp links
+ Copyright (C) 2020 Grant Shangreaux
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Affero General Public License as
+ published by the Free Software Foundation, either version 3 of the
+ License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Affero General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>.
+
+ This script enables wiki editors to create anchor tags with the class "time-link"
+ that will be parsed for seeking to specific time stamps in the main video on a page.
+ The tag should look like this:
+
+ <a href="#mainVideo" class="time-link">mm:ss</a>
+
+ This could be extended to accept hours in the time stamp as well, but currently does not.
+ */
+ let timestamps;
+
+ // expects a string like "mm:ss.mmm"
+ function parseSeconds(timeString) {
+ return timeString.split(":").reduce(function(prev, o) {
+ return prev * 60 + parseFloat(o);
+ }, 0);
+ }
+
+ function handleSubtitleClick(event) {
+ var video = event.target.getAttribute('data-video');
+ var start = event.target.getAttribute('data-start');
+ var videoElem = document.getElementById(video);
+ if (videoElem) {
+ videoElem.currentTime = parseSeconds(start);
+ videoElem.scrollIntoView();
+ }
+ if (event.preventDefault) {
+ event.preventDefault();
+ }
+ }
+
+ window.onload = function initScript() {
+ let subtitles = document.getElementsByClassName('subtitle');
+ for (let i = 0; i < subtitles.length; i++) {
+ subtitles[i].onclick = handleSubtitleClick;
+ }
+ }
+// @license-end
+ // @license magnet:?xt=urn:btih:90dc5c0be029de84e523b9b3922520e79e0e6f08&dn=cc0.txt txt CC0-1.0
+ // Copyright (C) 2021, 2022 Sacha Chua
+
+ if (document.querySelector('.times')) {
+ var dateOptions = {dateStyle: 'short', timeStyle: 'short'};
+ var localStart = (new Date(document.querySelector('.times').getAttribute('start'))).toLocaleString([], dateOptions);
+ var localEnd = (new Date(document.querySelector('.times').getAttribute('end'))).toLocaleString([], dateOptions);
+ var dateElem = document.createElement('div');
+ dateElem.appendChild(document.createTextNode('Your local time: ~ ' + localStart + ' to ~ ' + localEnd));
+ document.querySelector('.times').prepend(dateElem);
+ if (document.querySelector('.times').querySelector('.others')) {
+ document.querySelector('.times').querySelector('.others').style.display = 'none';
+ }
+ }
+ if (document.querySelector('.time-overlay')) {
+ document.querySelectorAll('.time-overlay').forEach(function (o) {
+ if (o.getAttribute('title')) return;
+ var dateOptions = {dateStyle: 'short', timeStyle: 'short'};
+ var localStart, localEnd;
+ if (o.getAttribute('start') && o.getAttribute('end')) {
+ localStart = (new Date(o.getAttribute('start'))).toLocaleString([], dateOptions);
+ localEnd = (new Date(o.getAttribute('end'))).toLocaleString([], dateOptions);
+ o.setAttribute('title', 'Your local time: ~ ' + localStart + ' to ~ ' + localEnd);
+ } else if (o.getAttribute('start')) {
+ localStart = (new Date(o.getAttribute('start'))).toLocaleString([], dateOptions);
+ o.setAttribute('title', 'Your local time: ~ ' + localStart);
+ }
+ });
+ }
+
+ if (document.querySelector('a[name=transcript]')) {
+ var transcriptLink = document.createElement('a');
+ transcriptLink.setAttribute('href', '#transcript');
+ transcriptLink.textContent = 'View transcript';
+ var video = document.querySelector('.mainVideo video');
+ if (video) {
+ var resources = document.querySelector('.mainVideo video').closest('.vid').querySelector('.resources');
+ var transcriptDiv = document.createElement('div');
+ transcriptDiv.appendChild(transcriptLink)
+ if (resources) { resources.prepend(transcriptDiv); }
+ }
+ }
+ var chat = document.querySelector('.chat-iframe');
+ if (chat) {
+ if (chat.getAttribute('data-track')) {
+ chat.innerHTML = '<iframe src="https://chat.emacsconf.org?join=emacsconf,emacsconf-' +
+ chat.getAttribute('data-track').replace(/[^A-Za-z]/g, '') + '" height="600" width="100%"></iframe>';
+ } else {
+ chat.innerHTML = '<iframe src="https://chat.emacsconf.org" height="600" width="100%"></iframe>';
+ }
+ }
+
+// @license-end
+ // @license magnet:?xt=urn:btih:90dc5c0be029de84e523b9b3922520e79e0e6f08&dn=cc0.txt txt CC0-1.0
+ // Copyright (c) 2021 Sacha Chua - CC0 Public Domain
+ function displayChapters(elem) {
+ var i;
+ var chapter;
+ var list = document.createElement('ol');
+ list.setAttribute('class', 'chapters');
+ var link;
+ var target = elem.getAttribute('data-target');
+ var video = document.getElementById(target);
+ var track;
+ if (video) {
+ track = video.addTextTrack('chapters');
+ track.mode = 'hidden';
+ }
+ var chapters = elem.textContent.split(/[ \t]*\n+[ \t]*/).forEach(function(line) {
+ var m = (line.match(/^(((?:[0-9]+:)?[0-9]+:[0-9]+)(?:\.[0-9]+))[ \t]+(.*)/));
+ if (m) {
+ var start = m[1];
+ var text = m[3];
+ chapter = document.createElement('li');
+ link = document.createElement('a');
+ link.setAttribute('href', '#');
+ link.setAttribute('data-video', target);
+ link.setAttribute('data-start', start);
+ link.setAttribute('data-start-s', parseSeconds(start));
+ link.appendChild(document.createTextNode(m[2] + ' ' + text));
+ link.onclick = handleSubtitleClick;
+ chapter.appendChild(link);
+ list.appendChild(chapter);
+ if (track) {
+ var time = parseSeconds(start);
+ if (track.cues.length > 0) {
+ track.cues[track.cues.length - 1].endTime = time - 1;
+ }
+ track.addCue(new VTTCue(time, time, text));
+ }
+ }
+ })
+ if (track && track.cues.length > 0) {
+ video.addEventListener('durationchange', function() {
+ track.cues[track.cues.length - 1].endTime = video.duration;
+ });
+ track.addEventListener('cuechange', function() {
+ if (!this.activeCues[0]) return;
+ if (list.querySelector('.current')) {
+ list.querySelector('.current').className = '';
+ }
+ var chapter;
+ if (chapter = list.querySelector('a[data-start-s="' + this.activeCues[0].startTime + '"]')) {
+ chapter.parentNode.className = 'current';
+ }
+ });
+ }
+ elem.parentNode.replaceChild(list, elem);
+ }
+
+ document.querySelectorAll('pre.chapters').forEach(displayChapters);
+
+ var video = document.querySelector('video.reload');
+ if (video) {
+ var myVar = setInterval(reloadAsNeeded, 1000);
+ var oldTime = '';
+ function reloadAsNeeded() {
+ if ((video.paused != true && (video.currentTime - oldTime) == 0 && video.currentTime != 0)) {
+ var source = video.querySelector('source');
+ var oldVideo = source.src;
+ source.src = '';
+ source.src = oldVideo;
+ video.load();
+ video.play();
+ }
+ oldTime = video.currentTime;
+ };
+ }
+
+ /* videoType: mainVideo, qanda */
+ function addStickyVideo(videoType) {
+ const transcriptDiv = document.querySelector('.transcript-' + videoType);
+ const video = document.querySelector('.vid.' + videoType + ' video');
+ if (!video || !transcriptDiv) return;
+ if (transcriptDiv.querySelector('.vid'))
+ transcriptDiv.querySelector('.vid').remove();
+ // already has it
+ // TODO: Make a copy of the video and place it at the start of the btranscript div, positioned to the left, and sticky, but only on large screens.
+ const videoCopy = video.cloneNode(true);
+ transcriptDiv.prepend(videoCopy);
+ videoCopy.classList.add('sticky-video');
+ // TODO: fix the ID
+
+ }
+
+
+
+ // @license-end
+ // @license magnet:?xt=urn:btih:90dc5c0be029de84e523b9b3922520e79e0e6f08&dn=cc0.txt txt CC0-1.0
+ // Copyright (c) 2023 Sacha Chua - CC0 Public Domain
+ function highlightTalks() {
+ // highlight any talk mentioned in the highlight URL parameter
+ var params = new URLSearchParams(window.location.search);
+ if (!params.get('highlight')) return;
+ var talks = params.get('highlight').split(',').filter(function(o) { return o.match(/^[-a-z0-9]+$/); });
+ var regexp = new RegExp('/talks/(' + talks.join('|') + ')/?$');
+ document.querySelectorAll('a[href]').forEach(function(link) {
+ console.debug(link.getAttribute('href'), link.getAttribute('href').match(regexp));
+ if (link.getAttribute('href').match(regexp)) {
+ console.debug(link);
+ link.classList.add('highlight');
+ }
+ });
+ }
+
+ addEventListener('DOMContentLoaded', highlightTalks);
+ addEventListener('DOMContentLoaded', function() {
+ addStickyVideo('mainVideo');
+ addStickyVideo('qanda');
+ });
+ // @license-end