diff options
145 files changed, 1766 insertions, 3243 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/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 "distro" 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=""""Eat and Eat-powered Eshell:""" start="00:00:09.360" video="mainVideo-eat" id="subtitle"]] [[!template text="""Fast, featureful terminal inside Emacs."""" 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 "hi" and it's showing "hi"""" 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 "Emacs" 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=""""Go and get those things and turn them into tracks."""" 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 "REPL-driven development."""" 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 "Prot."""" 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 2311bcd3..f5b9cca5 100644 --- a/2023/info/hyperdrive-before.md +++ b/2023/info/hyperdrive-before.md @@ -2,59 +2,34 @@ 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 -<!-- manually copy&align `emacsconf-subed-make-chapter-file-based-on-comments' --> -# 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>[[!template id="chapters" vidid="hyperdrive-mainVideo" data=""" -00:01.000 Welcome -01:27.340 Hyperdrive introduction -03:07.379 About USHIN and the contributors -04:32.747 Basic introduction to Hyperdrive -06:09.212 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:23.852 Drive creation with `hyperdrive.el' -23:28.719 `hyperdrive-mirror' -30:06.819 `hyperdrive history' -34:20.880 Streaming video from hyperdrive -35:08.747 `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://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> -<!-- End manually copy&align `emacsconf-subed-make-chapter-file-based-on-comments' --> +# Talk -<!-- manually add markers with GNU Emacs 28.2, modified by Debian --> +<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>[[!template id="chapters" vidid="hyperdrive-qanda" data=""" -00:01.000 Welcome -00:34.920 what have you learned the most? -04:01.170 What would be a good way of getting hyperdrives? -04:32.747 What about having some of the information being private in the hyperdrives.? -07:15.480 IPFS client in Emacs? -08:54.220 what about the commenting between different Hypercore blogs,? -11:17.900 `hyper-drive-mirror' feature? -12:55.020 hyper core libs? -13:37.000 And what made you choose hyperdrive for this Emacs project? -16:28.180 I did not know that that was possible with Syncthing. -17:22.339 DATRS, a Rust version of HyperDrive.?? -19:35.020 Is data transferred between nodes in the clear or encrypted? That's a good question. -20:20.747 Is there a searchable catalog of hyper drives? -22:58.380 GNUnet.? -24:59.070 I'm relatively new to Emacs and to Lisp and to programming in general... -26:34.070 I'm going to say goodbye. -26:40.380 PlasmaStrike. I've met you before. Appreciate your questions! - -"""]]<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 manually add markers with GNU Emacs 28.2, modified by Debian --> - -<!-- End of `emacsconf-publish-before-page' --> +<!-- 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=""""Can you only show points where year is the multiple of 50?"""" 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=""""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?"""" 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=""""where are you getting stuck,"""" start="00:01:00.140" video="mainVideo-mentor" id="subtitle"]] [[!template text="""and "if you change one thing, what would it be?"""" 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?"""" 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=""""where am I going to put this?"""" start="00:08:54.640" video="mainVideo-mentor" id="subtitle"]] [[!template text=""""What file?"""" 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 "computering" 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=""""hey, I learned something new."""" 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 "foo bar baz" 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 "Org content",""" 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 "plums" 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 "foo" with "bar",""" start="00:01:19.040" video="mainVideo-parallel" id="subtitle"]] [[!template text="""then we do another pass where we replace "bar" with "foo".""" 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 "foo" with a temporary string,""" start="00:01:36.800" video="mainVideo-parallel" id="subtitle"]] [[!template text="""in this case "oof", that we will call a "token".""" 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 "bar".""" 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 "no interference".""" 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 "foo" and "bar" 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=""""Informal Reference Tracking."""" 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" 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=""""d"... 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 "Sharing Emacs is Caring Emacs,"""" 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 "Literate DevOps and the Temple of Doom"""" start="00:00:07.720" video="mainVideo-solo" id="subtitle"]] [[!template text="""and "Using Eshell for Fun and Profit".""" 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=""""Who needs Excel? Managing your students' qualifications""" start="00:00:05.061" video="mainVideo-table" id="subtitle"]] [[!template text="""with Org-table".""" 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-before.md b/2023/info/unentangling-before.md index a3bf347e..bec15a98 100644 --- a/2023/info/unentangling-before.md +++ b/2023/info/unentangling-before.md @@ -7,7 +7,7 @@ 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/2024/emacsconf-2023-unentangling--unentangling-projects-and-repos--alexey-bochkarev--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2023-unentangling--unentangling-projects-and-repos--alexey-bochkarev--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2024/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="unentangling-mainVideo" data=""" +<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 @@ -17,6 +17,6 @@ Status: Q&A to be extracted from the room recordings 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/2024-unentangling">Open Etherpad</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2023-unentangling--unentangling-projects-and-repos--alexey-bochkarev--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2023-unentangling--unentangling-projects-and-repos--alexey-bochkarev--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2024/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/2024/emacsconf-2023-unentangling--unentangling-projects-and-repos--alexey-bochkarev--main.json">Download --main.json</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2023-unentangling--unentangling-projects-and-repos--alexey-bochkarev--main.opus">Download --main.opus (10MB)</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2023-unentangling--unentangling-projects-and-repos--alexey-bochkarev--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2024/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></ul></div></div> +"""]]<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 "scenes"""" 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."""" 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 "stop dictation".""" 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 "I will" into "I'll".""" 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 "lang:"],""" start="00:10:27.760" video="mainVideo-voice" id="subtitle"]] [[!template text="""and you can change the case of the text [with "case:"].""" 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 "as you like it."]""" start="00:11:53.033" video="mainVideo-world" id="subtitle"]] -[[!template text="""[Using Sweep to swipe and type "as you like it."]""" 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 "Let's Make Computing Personal."""" 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-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-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/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 "emacs -Q"-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 "emacs -Q"-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 dc1141b8..fbefd7b3 100644 --- a/2024/info/emacs30-before.md +++ b/2024/info/emacs30-before.md @@ -11,18 +11,18 @@ Status: TO_CAPTION_QA <div class="vid mainVideo"><video controls preload="none" id="mainVideo-emacs30"><source src="https://media.emacsconf.org/2024/emacsconf-2024-emacs30--emacs-30-highlights--philip-kaludercic--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2024/captions/emacsconf-2024-emacs30--emacs-30-highlights--philip-kaludercic--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2024/captions/emacsconf-2024-emacs30--emacs-30-highlights--philip-kaludercic--main--chapters.vtt" /><p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video>[[!template id="chapters" vidid="mainVideo-emacs30" data=""" 00:00.000 Introduction -01:41.800 Android -07:45.720 EditorConfig -09:27.310 use-package integration with package-vc -13:11.560 JSON -15:56.680 Native compilation -17:29.640 Tree-sitter -18:16.780 Completion preview mode -19:34.233 package-isolate -21:16.920 Reindenting -23:17.940 Wrapping up - -"""]]<div></div>Duration: 24:55 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-emacs30--emacs-30-highlights--philip-kaludercic--edited.webm">Download --edited.webm (52MB)</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-emacs30--emacs-30-highlights--philip-kaludercic--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-emacs30--emacs-30-highlights--philip-kaludercic--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-emacs30--emacs-30-highlights--philip-kaludercic--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-emacs30--emacs-30-highlights--philip-kaludercic--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-emacs30--emacs-30-highlights--philip-kaludercic--main.webm">Download --main.webm (60MB)</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-emacs30--emacs-30-highlights--philip-kaludercic--notes.org">Download --notes.org</a></li><li><a href="https://toobnix.org/w/fxFD5JMMkmj1bazUw4zErx">View on Toobnix</a></li><li><a href="https://youtu.be/xZJhMAMI7A0">View on Youtube</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 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 dbd9884e..886b43b2 100644 --- a/2024/info/org-update-before.md +++ b/2024/info/org-update-before.md @@ -39,7 +39,7 @@ Status: TO_CAPTION_QA 38:30.440 Got no free time, but still want to help? 39:12.997 Thank you -"""]]<div></div>Duration: 39:35 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-org-update--the-future-of-org--ihor-radchenko--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-org-update--the-future-of-org--ihor-radchenko--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-org-update--the-future-of-org--ihor-radchenko--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-org-update--the-future-of-org--ihor-radchenko--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-org-update--the-future-of-org--ihor-radchenko--main.webm">Download --main.webm (88MB)</a></li><li><a href="https://toobnix.org/w/2DAHY6wCAXnpeSqwUHaidv">View on Toobnix</a></li><li><a href="https://youtu.be/2RJYcqJsldY">View on Youtube</a></li></ul></div></div> +"""]]<div></div>Duration: 39:35 minutes<div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2024-org-update">Open Etherpad</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-org-update--the-future-of-org--ihor-radchenko--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-org-update--the-future-of-org--ihor-radchenko--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-org-update--the-future-of-org--ihor-radchenko--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-org-update--the-future-of-org--ihor-radchenko--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-org-update--the-future-of-org--ihor-radchenko--main.webm">Download --main.webm (88MB)</a></li><li><a href="https://toobnix.org/w/2DAHY6wCAXnpeSqwUHaidv">View on Toobnix</a></li><li><a href="https://youtu.be/2RJYcqJsldY">View on Youtube</a></li></ul></div></div> # Q&A @@ -54,6 +54,6 @@ Status: TO_CAPTION_QA 26:08.840 microemacs 29:31.920 Q: Is there/could there be a resource with which to recommend particularly well written codebases for review by others? -"""]]<div>Listen to just the audio:<br /><audio controls preload="none" id="qanda-org-update-audio" src="https://media.emacsconf.org/2024/emacsconf-2024-org-update--the-future-of-org--ihor-radchenko--answers.opus"></audio></div><div></div>Duration: 30:39 minutes<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-org-update--the-future-of-org--ihor-radchenko--answers--chapters.vtt">Download --answers--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-org-update--the-future-of-org--ihor-radchenko--answers.opus">Download --answers.opus (16MB)</a></li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-org-update--the-future-of-org--ihor-radchenko--answers.vtt">Download --answers.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2024/emacsconf-2024-org-update--the-future-of-org--ihor-radchenko--answers.webm">Download --answers.webm (68MB)</a></li><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> +"""]]<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/report.md b/2024/report.md index 3f078914..3064515c 100644 --- a/2024/report.md +++ b/2024/report.md @@ -84,6 +84,8 @@ This year we tried out the following experiments: - 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! @@ -91,13 +93,40 @@ Next year we're looking forward to building on top of even more documentation an # Finances -Our hosting costs were USD 46.03 + tax for the -conference itself and for BigBlueButton testing -during the preparation. 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 and succeeding -years. +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> diff --git a/2024/report.org b/2024/report.org index 84d38401..2591a9d8 100644 --- a/2024/report.org +++ b/2024/report.org @@ -145,6 +145,8 @@ This year we tried out the following experiments: - 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 @@ -152,13 +154,18 @@ Next year we're looking forward to building on top of even more documentation an :CUSTOM_ID: finances :END: -Our hosting costs were USD 46.03 + tax for the -conference itself and for BigBlueButton testing -during the preparation. 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 and succeeding -years. +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: 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"]] |