diff options
author | Sacha Chua <sacha@sachachua.com> | 2023-12-05 16:11:29 -0500 |
---|---|---|
committer | Sacha Chua <sacha@sachachua.com> | 2023-12-05 16:11:29 -0500 |
commit | 93eab1820b0d0d4743299ffe06145ac450db457c (patch) | |
tree | 197656957037c72c87464007309fa0ce2be1decc /2023/info | |
parent | 569ecfe72a31342810e5e3f98cdf91297f7da1f8 (diff) | |
download | emacsconf-wiki-93eab1820b0d0d4743299ffe06145ac450db457c.tar.xz emacsconf-wiki-93eab1820b0d0d4743299ffe06145ac450db457c.zip |
tweak captions
Diffstat (limited to '2023/info')
74 files changed, 817 insertions, 817 deletions
diff --git a/2023/info/adventure-after.md b/2023/info/adventure-after.md index caf37375..87643b96 100644 --- a/2023/info/adventure-after.md +++ b/2023/info/adventure-after.md @@ -5,9 +5,9 @@ # Transcript -[[!template text="""Introduction""" video="00:00:00.000" id="subtitle"mainVideo-adventure]] +[[!template new="1" text="""Introduction""" video="00:00:00.000" id="subtitle"mainVideo-adventure]] -[[!template new="1" text="""Hi, I'm going to give you a little demo""" 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"]] [[!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 +23,9 @@ [[!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 text="""Demo""" video="00:01:01.200" id="subtitle"mainVideo-adventure]] +[[!template new="1" text="""Demo""" video="00:01:01.200" id="subtitle"mainVideo-adventure]] -[[!template new="1" text="""Concretely, I'm going to give you""" 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"]] [[!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 +69,9 @@ [[!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 text="""emi-escape-12""" video="00:03:33.360" id="subtitle"mainVideo-adventure]] +[[!template new="1" text="""emi-escape-12""" video="00:03:33.360" id="subtitle"mainVideo-adventure]] -[[!template new="1" text="""So I will jump to another file.""" 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"]] [[!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 +95,9 @@ [[!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 text="""The rest of the game""" video="00:04:47.040" id="subtitle"mainVideo-adventure]] +[[!template new="1" text="""The rest of the game""" video="00:04:47.040" id="subtitle"mainVideo-adventure]] -[[!template new="1" text="""So you can progress along these different files,""" 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"]] [[!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"]] diff --git a/2023/info/adventure-before.md b/2023/info/adventure-before.md index 304c8106..20b5e82a 100644 --- a/2023/info/adventure-before.md +++ b/2023/info/adventure-before.md @@ -1,6 +1,6 @@ <!-- Automatically generated by emacsconf-publish-before-page --> [[!toc ]] -Format: 6-min talk; Q&A: Etherpad +Format: 6-min talk; Q&A: Etherpad Status: Q&A finished, IRC and pad will be archived on this page diff --git a/2023/info/collab-after.md b/2023/info/collab-after.md index 855e11c9..047a94b8 100644 --- a/2023/info/collab-after.md +++ b/2023/info/collab-after.md @@ -5,9 +5,9 @@ # Transcript -[[!template text="""Introduction""" video="00:00:00.000" id="subtitle"mainVideo-collab]] +[[!template new="1" text="""Introduction""" video="00:00:00.000" id="subtitle"mainVideo-collab]] -[[!template new="1" text="""[Lukas]: Welcome to our presentation,""" 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"]] [[!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 +35,9 @@ [[!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 text="""Org Mode""" video="00:01:16.080" id="subtitle"mainVideo-collab]] +[[!template new="1" text="""Org Mode""" video="00:01:16.080" id="subtitle"mainVideo-collab]] -[[!template new="1" text="""Jonathan, can you give us an introduction about 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"]] [[!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 +62,9 @@ [[!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 text="""Working together""" video="00:02:18.960" id="subtitle"mainVideo-collab]] +[[!template new="1" text="""Working together""" video="00:02:18.960" id="subtitle"mainVideo-collab]] -[[!template new="1" text="""And Jonathan, since we kind of already""" 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"]] [[!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 +152,9 @@ [[!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 text="""Data cleaning""" video="00:06:27.840" id="subtitle"mainVideo-collab]] +[[!template new="1" text="""Data cleaning""" video="00:06:27.840" id="subtitle"mainVideo-collab]] -[[!template new="1" text="""[Jonathan]: Right.""" start="00:06:27.840" video="mainVideo-collab" id="subtitle"]] +[[!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 +194,9 @@ [[!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 text="""Processing""" video="00:08:04.040" id="subtitle"mainVideo-collab]] +[[!template new="1" text="""Processing""" video="00:08:04.040" id="subtitle"mainVideo-collab]] -[[!template new="1" text="""So let's come to our main part, doing some 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"]] [[!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 +283,9 @@ [[!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 text="""Visualization""" video="00:12:36.040" id="subtitle"mainVideo-collab]] +[[!template new="1" text="""Visualization""" video="00:12:36.040" id="subtitle"mainVideo-collab]] -[[!template new="1" text="""But I think we did a lot of analysis""" 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"]] [[!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 +318,9 @@ [[!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 text="""Preserve""" video="00:14:01.760" id="subtitle"mainVideo-collab]] +[[!template new="1" text="""Preserve""" video="00:14:01.760" id="subtitle"mainVideo-collab]] -[[!template new="1" 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="""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"]] diff --git a/2023/info/collab-before.md b/2023/info/collab-before.md index 5d253db5..530d3908 100644 --- a/2023/info/collab-before.md +++ b/2023/info/collab-before.md @@ -1,6 +1,6 @@ <!-- 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: Q&A finished, IRC and pad will be archived on this page diff --git a/2023/info/core-before.md b/2023/info/core-before.md index 0aff7e29..1fbede70 100644 --- a/2023/info/core-before.md +++ b/2023/info/core-before.md @@ -1,6 +1,6 @@ <!-- Automatically generated by emacsconf-publish-before-page --> [[!toc ]] -Format: 106-min talk; Q&A: BigBlueButton conference room +Format: 106-min talk; Q&A: BigBlueButton conference room Status: Q&A finished, IRC and pad will be archived on this page diff --git a/2023/info/cubing-after.md b/2023/info/cubing-after.md index 081a13f7..c5d4db58 100644 --- a/2023/info/cubing-after.md +++ b/2023/info/cubing-after.md @@ -5,9 +5,9 @@ # Transcript -[[!template text="""Introduction""" video="00:00:00.000" id="subtitle"mainVideo-cubing]] +[[!template new="1" text="""Introduction""" video="00:00:00.000" id="subtitle"mainVideo-cubing]] -[[!template new="1" text="""Hello, everyone, and welcome to Speedcubing in Emacs.""" 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"]] [[!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 +39,9 @@ [[!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 text="""Cubing in Emacs""" video="00:01:35.400" id="subtitle"mainVideo-cubing]] +[[!template new="1" text="""Cubing in Emacs""" video="00:01:35.400" id="subtitle"mainVideo-cubing]] -[[!template new="1" text="""To my surprise, I did not find a single decent option""" 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"]] [[!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 +50,9 @@ [[!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 text="""Prior art""" video="00:02:01.160" id="subtitle"mainVideo-cubing]] +[[!template new="1" text="""Prior art""" video="00:02:01.160" id="subtitle"mainVideo-cubing]] -[[!template new="1" text="""So here's a full list of 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"]] [[!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 +66,9 @@ [[!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 text="""The name""" video="00:02:32.040" id="subtitle"mainVideo-cubing]] +[[!template new="1" text="""The name""" video="00:02:32.040" id="subtitle"mainVideo-cubing]] -[[!template new="1" text="""So the name, I found it difficult""" 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"]] [[!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 +86,9 @@ [[!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 text="""What's in wca-prep""" video="00:03:16.520" id="subtitle"mainVideo-cubing]] +[[!template new="1" text="""What's in wca-prep""" video="00:03:16.520" id="subtitle"mainVideo-cubing]] -[[!template new="1" text="""I have a scrambler, visualization of the scramble,""" 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"]] [[!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,16 +99,16 @@ [[!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 text="""Demo""" video="00:03:49.240" id="subtitle"mainVideo-cubing]] +[[!template new="1" text="""Demo""" video="00:03:49.240" id="subtitle"mainVideo-cubing]] -[[!template new="1" text="""So at this point the organizer should hopefully show""" 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"]] [[!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 text="""Challenges: Representing the cube""" video="00:05:15.240" id="subtitle"mainVideo-cubing]] +[[!template new="1" text="""Challenges: Representing the cube""" video="00:05:15.240" id="subtitle"mainVideo-cubing]] [[!template text="""Okay, so building this thing, there were several challenges.""" start="00:05:15.240" video="mainVideo-cubing" id="subtitle"]] -[[!template new="1" text="""The first one was how do I even represent""" start="00:05:18.509" 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"]] [[!template text="""no obvious best solution.""" start="00:05:25.509" video="mainVideo-cubing" id="subtitle"]] @@ -148,9 +148,9 @@ [[!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 text="""Scrambling""" video="00:07:09.269" id="subtitle"mainVideo-cubing]] +[[!template new="1" text="""Scrambling""" video="00:07:09.269" id="subtitle"mainVideo-cubing]] -[[!template new="1" text="""So the scramble algorithm itself,""" 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"]] [[!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 +172,9 @@ [[!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 text="""Visualization""" video="00:08:09.549" id="subtitle"mainVideo-cubing]] +[[!template new="1" text="""Visualization""" video="00:08:09.549" id="subtitle"mainVideo-cubing]] -[[!template new="1" text="""For the visualization I had to figure out""" 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"]] [[!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 +192,9 @@ [[!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 text="""UI with Transient""" video="00:08:56.469" id="subtitle"mainVideo-cubing]] +[[!template new="1" text="""UI with Transient""" video="00:08:56.469" id="subtitle"mainVideo-cubing]] -[[!template new="1" text="""Next challenge was to build""" 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"]] [[!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 +217,9 @@ [[!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 text="""Book-keeping with SQLite""" video="00:09:55.629" id="subtitle"mainVideo-cubing]] +[[!template new="1" text="""Book-keeping with SQLite""" video="00:09:55.629" id="subtitle"mainVideo-cubing]] -[[!template new="1" text="""For the book-keeping, I used 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"]] [[!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 +247,9 @@ [[!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 text="""Conclusion""" video="00:11:12.629" id="subtitle"mainVideo-cubing]] +[[!template new="1" text="""Conclusion""" video="00:11:12.629" id="subtitle"mainVideo-cubing]] -[[!template new="1" text="""So yes, that concludes it so far.""" 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"]] [[!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"]] diff --git a/2023/info/cubing-before.md b/2023/info/cubing-before.md index d8a6037a..2b3ea77e 100644 --- a/2023/info/cubing-before.md +++ b/2023/info/cubing-before.md @@ -1,6 +1,6 @@ <!-- Automatically generated by emacsconf-publish-before-page --> [[!toc ]] -Format: 14-min talk; Q&A: IRC +Format: 14-min talk; Q&A: IRC Status: Q&A finished, IRC and pad will be archived on this page diff --git a/2023/info/devel-before.md b/2023/info/devel-before.md index 691cd4d1..99a8780b 100644 --- a/2023/info/devel-before.md +++ b/2023/info/devel-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 finished, IRC and pad will be archived on this page diff --git a/2023/info/doc-after.md b/2023/info/doc-after.md index 04e2dfc7..d837a48e 100644 --- a/2023/info/doc-after.md +++ b/2023/info/doc-after.md @@ -5,9 +5,9 @@ # Transcript -[[!template text="""Introduction""" video="00:00:00.000" id="subtitle"mainVideo-doc]] +[[!template new="1" text="""Introduction""" video="00:00:00.000" id="subtitle"mainVideo-doc]] -[[!template new="1" text="""Hello, everyone.""" start="00:00:00.000" video="mainVideo-doc" id="subtitle"]] +[[!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 +27,9 @@ [[!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 text="""Org Babel and literate programming""" video="00:00:57.760" id="subtitle"mainVideo-doc]] +[[!template new="1" text="""Org Babel and literate programming""" video="00:00:57.760" id="subtitle"mainVideo-doc]] -[[!template new="1" text="""Today, we're going to be demonstrating""" 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"]] [[!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 +57,9 @@ [[!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 text="""This presentation""" video="00:02:14.080" id="subtitle"mainVideo-doc]] +[[!template new="1" text="""This presentation""" video="00:02:14.080" id="subtitle"mainVideo-doc]] -[[!template new="1" text="""Throughout this presentation, you'll""" 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"]] [[!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 +109,9 @@ [[!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 text="""Getting started""" video="00:04:53.480" id="subtitle"mainVideo-doc]] +[[!template new="1" text="""Getting started""" video="00:04:53.480" id="subtitle"mainVideo-doc]] -[[!template new="1" text="""All right, let's get 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"]] [[!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 +156,9 @@ [[!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 text="""README""" video="00:06:55.780" id="subtitle"mainVideo-doc]] +[[!template new="1" text="""README""" video="00:06:55.780" id="subtitle"mainVideo-doc]] -[[!template new="1" 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="""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 +170,9 @@ [[!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 text="""Writing a code block""" video="00:07:23.500" id="subtitle"mainVideo-doc]] +[[!template new="1" text="""Writing a code block""" video="00:07:23.500" id="subtitle"mainVideo-doc]] -[[!template new="1" text="""Okay, so now that we've written some text,""" 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"]] [[!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 +192,9 @@ [[!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 text=""":results none""" video="00:08:10.460" id="subtitle"mainVideo-doc]] +[[!template new="1" text=""":results none""" video="00:08:10.460" id="subtitle"mainVideo-doc]] -[[!template new="1" 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="""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 +206,9 @@ [[!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 text="""Confirmation""" video="00:08:40.320" id="subtitle"mainVideo-doc]] +[[!template new="1" text="""Confirmation""" video="00:08:40.320" id="subtitle"mainVideo-doc]] -[[!template new="1" text="""The second thing I don't like is that""" 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"]] [[!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 +246,9 @@ [[!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 text="""Running blocks automatically""" video="00:10:36.960" id="subtitle"mainVideo-doc]] +[[!template new="1" text="""Running blocks automatically""" video="00:10:36.960" id="subtitle"mainVideo-doc]] -[[!template new="1" text="""Now that's great and all,""" 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"]] [[!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 +323,9 @@ [[!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 text="""Export options""" video="00:13:53.000" id="subtitle"mainVideo-doc]] +[[!template new="1" text="""Export options""" video="00:13:53.000" id="subtitle"mainVideo-doc]] -[[!template new="1" text="""Now as you can see, we've actually hard-coded""" 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"]] [[!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 +379,9 @@ [[!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 text="""Substituting constants""" video="00:16:05.700" id="subtitle"mainVideo-doc]] +[[!template new="1" text="""Substituting constants""" video="00:16:05.700" id="subtitle"mainVideo-doc]] -[[!template new="1" 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="""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 +405,9 @@ [[!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 text="""Getting the properties""" video="00:17:25.740" id="subtitle"mainVideo-doc]] +[[!template new="1" text="""Getting the properties""" video="00:17:25.740" id="subtitle"mainVideo-doc]] -[[!template new="1" text="""Now the question is,""" 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"]] [[!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 +466,9 @@ [[!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 text="""Macros""" video="00:20:03.060" id="subtitle"mainVideo-doc]] +[[!template new="1" text="""Macros""" video="00:20:03.060" id="subtitle"mainVideo-doc]] -[[!template new="1" text="""The `call_` syntax is pretty cumbersome,""" 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"]] [[!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 +491,9 @@ [[!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 text="""Properties in practice""" video="00:21:05.240" id="subtitle"mainVideo-doc]] +[[!template new="1" text="""Properties in practice""" video="00:21:05.240" id="subtitle"mainVideo-doc]] -[[!template new="1" text="""Now let's take a look at how we might use""" 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"]] [[!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 +516,9 @@ [[!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 text="""Using a prefix""" video="00:22:09.020" id="subtitle"mainVideo-doc]] +[[!template new="1" text="""Using a prefix""" video="00:22:09.020" id="subtitle"mainVideo-doc]] -[[!template new="1" text="""Luckily we can solve this problem""" 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"]] [[!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 +551,9 @@ [[!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 text="""Switching distributions""" video="00:23:42.010" id="subtitle"mainVideo-doc]] +[[!template new="1" text="""Switching distributions""" video="00:23:42.010" id="subtitle"mainVideo-doc]] -[[!template new="1" text="""This setup is starting to look pretty good,""" 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"]] [[!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 +632,9 @@ [[!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 text="""A tour""" video="00:27:14.150" id="subtitle"mainVideo-doc]] +[[!template new="1" text="""A tour""" video="00:27:14.150" id="subtitle"mainVideo-doc]] -[[!template new="1" text="""Now that we've spent the past 20 minutes or so""" 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"]] [[!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 +704,9 @@ [[!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 text="""TeX and LaTeX""" video="00:30:16.200" id="subtitle"mainVideo-doc]] +[[!template new="1" text="""TeX and LaTeX""" video="00:30:16.200" id="subtitle"mainVideo-doc]] -[[!template new="1" text="""The latter two sections we'll take a look at now.""" 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"]] [[!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 +725,9 @@ [[!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 text="""Other prerequisites""" video="00:31:09.250" id="subtitle"mainVideo-doc]] +[[!template new="1" text="""Other prerequisites""" video="00:31:09.250" id="subtitle"mainVideo-doc]] -[[!template new="1" text="""But wait, there's more.""" 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"]] [[!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 +748,9 @@ [[!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 text="""Caching""" video="00:32:00.060" id="subtitle"mainVideo-doc]] +[[!template new="1" text="""Caching""" video="00:32:00.060" id="subtitle"mainVideo-doc]] -[[!template new="1" text="""Before we get into talking about running the document,""" 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"]] [[!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 +838,9 @@ [[!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 text="""Looking at the PDF""" video="00:36:20.610" id="subtitle"mainVideo-doc]] +[[!template new="1" text="""Looking at the PDF""" video="00:36:20.610" id="subtitle"mainVideo-doc]] -[[!template new="1" text="""Now I can't use my web browser""" 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"]] [[!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 +902,9 @@ [[!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 text="""Errors""" video="00:39:29.440" id="subtitle"mainVideo-doc]] +[[!template new="1" text="""Errors""" video="00:39:29.440" id="subtitle"mainVideo-doc]] -[[!template new="1" text="""In this case, we're piping standard error""" 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"]] [[!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,9 +970,9 @@ [[!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 text="""Final thoughts""" video="00:42:31.990" id="subtitle"mainVideo-doc]] +[[!template new="1" text="""Final thoughts""" video="00:42:31.990" id="subtitle"mainVideo-doc]] -[[!template new="1" text="""Anyway, so this is the final thoughts section.""" 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"]] [[!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"]] diff --git a/2023/info/doc-before.md b/2023/info/doc-before.md index 7225eb1e..5477c9d9 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 finished, IRC and pad will be archived on this page diff --git a/2023/info/eat-before.md b/2023/info/eat-before.md index b471bbe3..07f67277 100644 --- a/2023/info/eat-before.md +++ b/2023/info/eat-before.md @@ -1,6 +1,6 @@ <!-- 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 finished, IRC and pad will be archived on this page diff --git a/2023/info/emacsconf-after.md b/2023/info/emacsconf-after.md index 43fb23ff..5a6458c4 100644 --- a/2023/info/emacsconf-after.md +++ b/2023/info/emacsconf-after.md @@ -5,17 +5,17 @@ # Transcript -[[!template text="""Intro""" video="00:00:00.000" id="subtitle"mainVideo-emacsconf]] +[[!template new="1" text="""Intro""" video="00:00:00.000" id="subtitle"mainVideo-emacsconf]] -[[!template new="1" text="""Hi, I'm Sacha Chua. This presentation is a quick tour""" 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"]] [[!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 text="""Reasons""" video="00:00:16.580" id="subtitle"mainVideo-emacsconf]] +[[!template new="1" text="""Reasons""" video="00:00:16.580" id="subtitle"mainVideo-emacsconf]] -[[!template new="1" text="""I have three reasons for making this presentation.""" 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"]] [[!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 +35,9 @@ [[!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 text="""Information""" video="00:01:09.400" id="subtitle"mainVideo-emacsconf]] +[[!template new="1" text="""Information""" video="00:01:09.400" id="subtitle"mainVideo-emacsconf]] -[[!template new="1" text="""There's so much information to work with,""" 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"]] [[!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 +62,9 @@ [[!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 text="""Properties""" video="00:02:09.160" id="subtitle"mainVideo-emacsconf]] +[[!template new="1" text="""Properties""" video="00:02:09.160" id="subtitle"mainVideo-emacsconf]] -[[!template new="1" text="""First, speakers propose a talk by sending an e-mail.""" 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"]] [[!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 +101,9 @@ [[!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 text="""Timezones""" video="00:03:53.120" id="subtitle"mainVideo-emacsconf]] +[[!template new="1" text="""Timezones""" video="00:03:53.120" id="subtitle"mainVideo-emacsconf]] -[[!template new="1" text="""Another example of semi-structured information""" 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"]] [[!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 +118,9 @@ [[!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 text="""Scheduling""" video="00:04:29.720" id="subtitle"mainVideo-emacsconf]] +[[!template new="1" text="""Scheduling""" video="00:04:29.720" id="subtitle"mainVideo-emacsconf]] -[[!template new="1" text="""Now that I have the availability information,""" 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"]] [[!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 +147,9 @@ [[!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 text="""Templates""" video="00:05:41.780" id="subtitle"mainVideo-emacsconf]] +[[!template new="1" text="""Templates""" video="00:05:41.780" id="subtitle"mainVideo-emacsconf]] -[[!template new="1" text="""There's a lot of text to work with,""" 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"]] [[!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 +174,9 @@ [[!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 text="""Wiki""" video="00:06:48.400" id="subtitle"mainVideo-emacsconf]] +[[!template new="1" text="""Wiki""" video="00:06:48.400" id="subtitle"mainVideo-emacsconf]] -[[!template new="1" text="""We combine this templating function""" 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"]] [[!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 +211,9 @@ [[!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 text="""Etherpad""" video="00:08:04.380" id="subtitle"mainVideo-emacsconf]] +[[!template new="1" text="""Etherpad""" video="00:08:04.380" id="subtitle"mainVideo-emacsconf]] -[[!template new="1" text="""Links to the next talks are also handy""" 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"]] [[!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 +225,9 @@ [[!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 text="""E-mail""" video="00:08:28.200" id="subtitle"mainVideo-emacsconf]] +[[!template new="1" text="""E-mail""" video="00:08:28.200" id="subtitle"mainVideo-emacsconf]] -[[!template new="1" text="""Templates are also very handy when it comes to 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"]] [[!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 +243,9 @@ [[!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 text="""BigBlueButton web conferences""" video="00:09:05.920" id="subtitle"mainVideo-emacsconf]] +[[!template new="1" text="""BigBlueButton web conferences""" video="00:09:05.920" id="subtitle"mainVideo-emacsconf]] -[[!template new="1" text="""Many speakers answer questions live""" 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"]] [[!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 +271,9 @@ [[!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 text="""Shortcuts""" video="00:10:08.121" id="subtitle"mainVideo-emacsconf]] +[[!template new="1" text="""Shortcuts""" video="00:10:08.121" id="subtitle"mainVideo-emacsconf]] -[[!template new="1" text="""During the conference, I'm often jumping from talk to talk.""" 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"]] [[!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 +286,9 @@ [[!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 text="""Logbook""" video="00:10:36.700" id="subtitle"mainVideo-emacsconf]] +[[!template new="1" text="""Logbook""" video="00:10:36.700" id="subtitle"mainVideo-emacsconf]] -[[!template new="1" 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="""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 +299,9 @@ [[!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 text="""Captions""" video="00:11:03.680" id="subtitle"mainVideo-emacsconf]] +[[!template new="1" text="""Captions""" video="00:11:03.680" id="subtitle"mainVideo-emacsconf]] -[[!template new="1" text="""On to 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"]] [[!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 +326,9 @@ [[!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 text="""Crontabs and playing the talks""" video="00:12:13.220" id="subtitle"mainVideo-emacsconf]] +[[!template new="1" text="""Crontabs and playing the talks""" video="00:12:13.220" id="subtitle"mainVideo-emacsconf]] -[[!template new="1" text="""Let's talk about actually 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"]] [[!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 +353,9 @@ [[!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 text="""Transitions""" video="00:13:11.280" id="subtitle"mainVideo-emacsconf]] +[[!template new="1" text="""Transitions""" video="00:13:11.280" id="subtitle"mainVideo-emacsconf]] -[[!template new="1" text="""Then a bunch of things automatically happen based on""" 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"]] [[!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 +372,9 @@ [[!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 text="""Wrapping up""" video="00:13:49.880" id="subtitle"mainVideo-emacsconf]] +[[!template new="1" text="""Wrapping up""" video="00:13:49.880" id="subtitle"mainVideo-emacsconf]] -[[!template new="1" text="""It seems like a lot of automation and Emacs Lisp,""" 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"]] [[!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"]] diff --git a/2023/info/emacsconf-before.md b/2023/info/emacsconf-before.md index 31329d6a..3cbaaf15 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 finished, IRC and pad will be archived on this page diff --git a/2023/info/emacsen-after.md b/2023/info/emacsen-after.md index 7bbe9da6..85d6c473 100644 --- a/2023/info/emacsen-after.md +++ b/2023/info/emacsen-after.md @@ -5,17 +5,17 @@ # Transcript -[[!template text="""Introduction""" video="00:00:00.000" id="subtitle"mainVideo-emacsen]] +[[!template new="1" text="""Introduction""" video="00:00:00.000" id="subtitle"mainVideo-emacsen]] -[[!template new="1" text="""Hello, my name is Fermin.""" 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"]] [[!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 text="""Why Lisp matters""" video="00:00:17.000" id="subtitle"mainVideo-emacsen]] +[[!template new="1" text="""Why Lisp matters""" video="00:00:17.000" id="subtitle"mainVideo-emacsen]] -[[!template new="1" text="""The first question I want to ask is""" 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"]] [[!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 +37,9 @@ [[!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 text="""Why Emacs Lisp was chosen""" video="00:01:26.640" id="subtitle"mainVideo-emacsen]] +[[!template new="1" text="""Why Emacs Lisp was chosen""" video="00:01:26.640" id="subtitle"mainVideo-emacsen]] -[[!template new="1" text="""So let's talk about Emacs Lisp.""" 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"]] [[!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 +65,9 @@ [[!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 text="""Other "Emacsen"""" video="00:02:54.841" id="subtitle"mainVideo-emacsen]] +[[!template new="1" text="""Other "Emacsen"""" video="00:02:54.841" id="subtitle"mainVideo-emacsen]] -[[!template new="1" text="""He wasn't the first one, the GNU Emacs,""" 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"]] [[!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 +83,9 @@ [[!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 text="""Why not Common Lisp?""" video="00:03:38.581" id="subtitle"mainVideo-emacsen]] +[[!template new="1" text="""Why not Common Lisp?""" video="00:03:38.581" id="subtitle"mainVideo-emacsen]] -[[!template new="1" text="""So Emacs got alone. And in the 90s, interesting to explore,""" 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"]] [[!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 +137,9 @@ [[!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 text="""Common Lisp is still not dead or is always dead""" video="00:06:39.120" id="subtitle"mainVideo-emacsen]] +[[!template new="1" text="""Common Lisp is still not dead or is always dead""" video="00:06:39.120" id="subtitle"mainVideo-emacsen]] -[[!template new="1" text="""But I think Common Lisp is not dead yet.""" 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"]] [[!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 +178,18 @@ [[!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 text="""Lem is a nice Emacsen implementation""" video="00:08:30.080" id="subtitle"mainVideo-emacsen]] +[[!template new="1" text="""Lem is a nice Emacsen implementation""" video="00:08:30.080" id="subtitle"mainVideo-emacsen]] -[[!template new="1" 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="""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 text="""Why not just use GNU Emacs?""" video="00:08:58.260" id="subtitle"mainVideo-emacsen]] +[[!template new="1" text="""Why not just use GNU Emacs?""" video="00:08:58.260" id="subtitle"mainVideo-emacsen]] -[[!template new="1" 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="""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 +218,9 @@ [[!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 text="""Why Lem""" video="00:10:31.080" id="subtitle"mainVideo-emacsen]] +[[!template new="1" text="""Why Lem""" video="00:10:31.080" id="subtitle"mainVideo-emacsen]] -[[!template new="1" text="""I'm going to show 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"]] [[!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 +292,9 @@ [[!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 text="""Similarities and differences""" video="00:14:03.080" id="subtitle"mainVideo-emacsen]] +[[!template new="1" text="""Similarities and differences""" video="00:14:03.080" id="subtitle"mainVideo-emacsen]] -[[!template new="1" 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="""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 +332,9 @@ [[!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 text="""Demo""" video="00:15:49.600" id="subtitle"mainVideo-emacsen]] +[[!template new="1" text="""Demo""" video="00:15:49.600" id="subtitle"mainVideo-emacsen]] -[[!template new="1" 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="""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"]] diff --git a/2023/info/emacsen-before.md b/2023/info/emacsen-before.md index 7d364ac6..19430513 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: Q&A finished, IRC and pad will be archived on this page diff --git a/2023/info/emms-after.md b/2023/info/emms-after.md index d5e07014..6ae61cd6 100644 --- a/2023/info/emms-after.md +++ b/2023/info/emms-after.md @@ -5,9 +5,9 @@ # Transcript -[[!template text="""Introduction""" video="00:00:00.000" id="subtitle"mainVideo-emms]] +[[!template new="1" text="""Introduction""" video="00:00:00.000" id="subtitle"mainVideo-emms]] -[[!template new="1" text="""The Sound of Emacs, Emms, The Emacs Multimedia System.""" 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"]] [[!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 +27,17 @@ [[!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 text="""The structure of this talk""" video="00:01:03.320" id="subtitle"mainVideo-emms]] +[[!template new="1" text="""The structure of this talk""" video="00:01:03.320" id="subtitle"mainVideo-emms]] -[[!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"]] [[!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 text="""Introduction to Emms: The practical part""" video="00:01:21.320" id="subtitle"mainVideo-emms]] +[[!template new="1" text="""Introduction to Emms: The practical part""" video="00:01:21.320" id="subtitle"mainVideo-emms]] -[[!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"]] [[!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 +137,9 @@ [[!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 text="""The modeline""" video="00:08:04.240" id="subtitle"mainVideo-emms]] +[[!template new="1" text="""The modeline""" video="00:08:04.240" id="subtitle"mainVideo-emms]] -[[!template new="1" text="""The Modeline: Emms will by default display""" 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"]] [[!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 +190,9 @@ [[!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 text="""Meta-playlist mode""" video="00:11:01.200" id="subtitle"mainVideo-emms]] +[[!template new="1" text="""Meta-playlist mode""" video="00:11:01.200" id="subtitle"mainVideo-emms]] -[[!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"]] [[!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 +200,9 @@ [[!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 text="""The browser""" video="00:11:29.860" id="subtitle"mainVideo-emms]] +[[!template new="1" text="""The browser""" video="00:11:29.860" id="subtitle"mainVideo-emms]] -[[!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"]] [[!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 +238,9 @@ [[!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 text="""How Emms works: The technical part""" video="00:13:19.920" id="subtitle"mainVideo-emms]] +[[!template new="1" text="""How Emms works: The technical part""" video="00:13:19.920" id="subtitle"mainVideo-emms]] -[[!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"]] [[!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 +295,16 @@ [[!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 text="""The Emms core""" video="00:16:23.820" id="subtitle"mainVideo-emms]] +[[!template new="1" text="""The Emms core""" video="00:16:23.820" id="subtitle"mainVideo-emms]] -[[!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"]] [[!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 text="""Tracks""" video="00:16:36.440" id="subtitle"mainVideo-emms]] +[[!template new="1" text="""Tracks""" video="00:16:36.440" id="subtitle"mainVideo-emms]] -[[!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"]] [[!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 +316,9 @@ [[!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 text="""Playlist""" video="00:17:18.460" id="subtitle"mainVideo-emms]] +[[!template new="1" text="""Playlist""" video="00:17:18.460" id="subtitle"mainVideo-emms]] -[[!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"]] [[!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 +336,9 @@ [[!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 text="""Sources""" video="00:18:22.080" id="subtitle"mainVideo-emms]] +[[!template new="1" text="""Sources""" video="00:18:22.080" id="subtitle"mainVideo-emms]] -[[!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"]] [[!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 +357,9 @@ [[!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 text="""Players""" video="00:19:22.160" id="subtitle"mainVideo-emms]] +[[!template new="1" text="""Players""" video="00:19:22.160" id="subtitle"mainVideo-emms]] -[[!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"]] [[!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 +376,9 @@ [[!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 text="""Info""" video="00:20:20.520" id="subtitle"mainVideo-emms]] +[[!template new="1" text="""Info""" video="00:20:20.520" id="subtitle"mainVideo-emms]] -[[!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"]] [[!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 +400,9 @@ [[!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 text="""The cache""" video="00:21:36.660" id="subtitle"mainVideo-emms]] +[[!template new="1" text="""The cache""" video="00:21:36.660" id="subtitle"mainVideo-emms]] -[[!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"]] [[!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 +429,9 @@ [[!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 text="""Healthy back and forth: mpv, mpd, and GNU.FM""" video="00:22:51.620" id="subtitle"mainVideo-emms]] +[[!template new="1" text="""Healthy back and forth: mpv, mpd, and GNU.FM""" video="00:22:51.620" id="subtitle"mainVideo-emms]] -[[!template new="1" text="""Healthy back and forth. MPV, MPD, 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"]] [[!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 +444,9 @@ [[!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 text="""MPV""" video="00:23:31.560" id="subtitle"mainVideo-emms]] +[[!template new="1" text="""MPV""" video="00:23:31.560" id="subtitle"mainVideo-emms]] -[[!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"]] [[!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 +467,9 @@ [[!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 text="""MPD""" video="00:24:47.470" id="subtitle"mainVideo-emms]] +[[!template new="1" text="""MPD""" video="00:24:47.470" id="subtitle"mainVideo-emms]] -[[!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"]] [[!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 +491,9 @@ [[!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 text="""GNU FM and Libre FM""" video="00:26:07.440" id="subtitle"mainVideo-emms]] +[[!template new="1" text="""GNU FM and Libre FM""" video="00:26:07.440" id="subtitle"mainVideo-emms]] -[[!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"]] [[!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 +514,9 @@ [[!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 text="""How we work: Emms development""" video="00:27:12.560" id="subtitle"mainVideo-emms]] +[[!template new="1" text="""How we work: Emms development""" video="00:27:12.560" id="subtitle"mainVideo-emms]] -[[!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"]] [[!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 +543,17 @@ [[!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 text="""The Rime Of The Ancient Maintainer""" video="00:28:52.590" id="subtitle"mainVideo-emms]] +[[!template new="1" text="""The Rime Of The Ancient Maintainer""" video="00:28:52.590" id="subtitle"mainVideo-emms]] -[[!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"]] [[!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 text="""The life and times of an Emms patch""" video="00:29:06.080" id="subtitle"mainVideo-emms]] +[[!template new="1" text="""The life and times of an Emms patch""" video="00:29:06.080" id="subtitle"mainVideo-emms]] -[[!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"]] [[!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 +595,9 @@ [[!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 text="""Let It Go: The release process""" video="00:31:24.080" id="subtitle"mainVideo-emms]] +[[!template new="1" text="""Let It Go: The release process""" video="00:31:24.080" id="subtitle"mainVideo-emms]] -[[!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"]] [[!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 +615,9 @@ [[!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 text="""It Is Not In Our Stars, But In Ourselves: Future directions""" video="00:32:23.400" id="subtitle"mainVideo-emms]] +[[!template new="1" text="""It Is Not In Our Stars, But In Ourselves: Future directions""" video="00:32:23.400" id="subtitle"mainVideo-emms]] -[[!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"]] [[!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 +665,9 @@ [[!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 text="""Development policies: Interface language""" video="00:34:44.849" id="subtitle"mainVideo-emms]] +[[!template new="1" text="""Development policies: Interface language""" video="00:34:44.849" id="subtitle"mainVideo-emms]] -[[!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"]] [[!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 +692,9 @@ [[!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 text="""Development policies: Freedom""" video="00:36:05.980" id="subtitle"mainVideo-emms]] +[[!template new="1" text="""Development policies: Freedom""" video="00:36:05.980" id="subtitle"mainVideo-emms]] -[[!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"]] [[!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 +735,9 @@ [[!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 text="""Acknowledgements""" video="00:38:12.370" id="subtitle"mainVideo-emms]] +[[!template new="1" text="""Acknowledgements""" video="00:38:12.370" id="subtitle"mainVideo-emms]] -[[!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"]] [[!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"]] diff --git a/2023/info/emms-before.md b/2023/info/emms-before.md index 4e86f090..2c880c52 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 finished, IRC and pad will be archived on this page diff --git a/2023/info/eval-after.md b/2023/info/eval-after.md index 5b804d05..2ca60328 100644 --- a/2023/info/eval-after.md +++ b/2023/info/eval-after.md @@ -5,9 +5,9 @@ # Transcript -[[!template text="""Introduction""" video="00:00:04.880" id="subtitle"mainVideo-eval]] +[[!template new="1" text="""Introduction""" video="00:00:04.880" id="subtitle"mainVideo-eval]] -[[!template new="1" text="""Hello, and welcome to EmacsConf 2023!""" 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"]] [[!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 +19,9 @@ [[!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 text="""The wonders of C-x C-e""" video="00:00:35.989" id="subtitle"mainVideo-eval]] +[[!template new="1" text="""The wonders of C-x C-e""" video="00:00:35.989" id="subtitle"mainVideo-eval]] -[[!template new="1" text="""So the wonderful thing about Emacs""" 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"]] [[!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 +89,9 @@ [[!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 text="""An overview of REPL Driven Development""" video="00:03:35.809" id="subtitle"mainVideo-eval]] +[[!template new="1" text="""An overview of REPL Driven Development""" video="00:03:35.809" id="subtitle"mainVideo-eval]] -[[!template new="1" text="""This package allows you to do""" 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"]] [[!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 +121,9 @@ [[!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 text="""REPL Driven Development with Java""" video="00:04:51.143" id="subtitle"mainVideo-eval]] +[[!template new="1" text="""REPL Driven Development with Java""" video="00:04:51.143" id="subtitle"mainVideo-eval]] -[[!template new="1" text="""The neat thing here is: this package tries to""" 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"]] [[!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 +171,9 @@ [[!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 text="""Bring your own Read Protocol""" video="00:07:28.029" id="subtitle"mainVideo-eval]] +[[!template new="1" text="""Bring your own Read Protocol""" video="00:07:28.029" id="subtitle"mainVideo-eval]] -[[!template new="1" text="""And if our language doesn't have an easy 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"]] [[!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 +184,9 @@ [[!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 text="""Use Case: RDD & Job Interviews""" video="00:07:59.669" id="subtitle"mainVideo-eval]] +[[!template new="1" text="""Use Case: RDD & Job Interviews""" video="00:07:59.669" id="subtitle"mainVideo-eval]] -[[!template new="1" text="""So one use case I actually use""" 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"]] [[!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"]] diff --git a/2023/info/eval-before.md b/2023/info/eval-before.md index 58fbdaf0..d90a7f3b 100644 --- a/2023/info/eval-before.md +++ b/2023/info/eval-before.md @@ -1,6 +1,6 @@ <!-- 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: Q&A finished, IRC and pad will be archived on this page diff --git a/2023/info/flat-before.md b/2023/info/flat-before.md index 37a8ffe7..93a88fe5 100644 --- a/2023/info/flat-before.md +++ b/2023/info/flat-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 finished, IRC and pad will be archived on this page diff --git a/2023/info/gc-before.md b/2023/info/gc-before.md index 6c466960..0e526484 100644 --- a/2023/info/gc-before.md +++ b/2023/info/gc-before.md @@ -1,6 +1,6 @@ <!-- 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 finished, IRC and pad will be archived on this page diff --git a/2023/info/hyperamp-before.md b/2023/info/hyperamp-before.md index d644ae96..1c8e932f 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: 20-min talk; Q&A: BigBlueButton conference room +Format: 20-min talk; Q&A: BigBlueButton conference room Status: Q&A finished, IRC and pad will be archived on this page diff --git a/2023/info/hyperdrive-after.md b/2023/info/hyperdrive-after.md index 3342c646..4c6bf3c6 100644 --- a/2023/info/hyperdrive-after.md +++ b/2023/info/hyperdrive-after.md @@ -12,7 +12,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 text="""Hyperdrives introduction""" video="00:00:19.840" id="subtitle"mainVideo-hyperdrive]] +[[!template new="1" text="""Hyperdrives introduction""" video="00:00:19.840" id="subtitle"mainVideo-hyperdrive]] [[!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"]] @@ -76,7 +76,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 text="""About USHIN and the contributors""" video="00:03:04.600" id="subtitle"mainVideo-hyperdrive]] +[[!template new="1" text="""About USHIN and the contributors""" video="00:03:04.600" id="subtitle"mainVideo-hyperdrive]] [[!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"]] @@ -112,7 +112,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 text="""Basic introduction to Hyperdrive""" video="00:04:32.646" id="subtitle"mainVideo-hyperdrive]] +[[!template new="1" text="""Basic introduction to Hyperdrive""" video="00:04:32.646" id="subtitle"mainVideo-hyperdrive]] [[!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"]] @@ -144,7 +144,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 text="""Managing files with Hyperdrive.el""" video="00:06:06.133" id="subtitle"mainVideo-hyperdrive]] +[[!template new="1" text="""Managing files with Hyperdrive.el""" video="00:06:06.133" id="subtitle"mainVideo-hyperdrive]] [[!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"]] @@ -278,7 +278,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 text="""Dired like interface""" video="00:12:56.573" id="subtitle"mainVideo-hyperdrive]] +[[!template new="1" text="""Dired like interface""" video="00:12:56.573" id="subtitle"mainVideo-hyperdrive]] [[!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"]] @@ -325,7 +325,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 text="""History in hyperdrive""" video="00:15:01.234" id="subtitle"mainVideo-hyperdrive]] +[[!template new="1" text="""History in hyperdrive""" video="00:15:01.234" id="subtitle"mainVideo-hyperdrive]] [[!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"]] @@ -376,7 +376,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 text="""Use case of sharing large files""" video="00:17:39.973" id="subtitle"mainVideo-hyperdrive]] +[[!template new="1" text="""Use case of sharing large files""" video="00:17:39.973" id="subtitle"mainVideo-hyperdrive]] [[!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"]] @@ -415,7 +415,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 text="""Drive creation with hyperdrive.el""" video="00:19:20.913" id="subtitle"mainVideo-hyperdrive]] +[[!template new="1" text="""Drive creation with hyperdrive.el""" video="00:19:20.913" id="subtitle"mainVideo-hyperdrive]] [[!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"]] @@ -496,7 +496,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 text="""hyperdrive-mirror""" video="00:23:26.199" id="subtitle"mainVideo-hyperdrive]] +[[!template new="1" text="""hyperdrive-mirror""" video="00:23:26.199" id="subtitle"mainVideo-hyperdrive]] [[!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"]] @@ -614,7 +614,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 text="""hyperdrive history""" video="00:30:06.819" id="subtitle"mainVideo-hyperdrive]] +[[!template new="1" text="""hyperdrive history""" video="00:30:06.819" id="subtitle"mainVideo-hyperdrive]] [[!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"]] @@ -693,7 +693,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 text="""Streaming video from hyperdrive""" video="00:34:20.880" id="subtitle"mainVideo-hyperdrive]] +[[!template new="1" text="""Streaming video from hyperdrive""" video="00:34:20.880" id="subtitle"mainVideo-hyperdrive]] [[!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"]] @@ -711,7 +711,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 text="""hyperdrive.el under the hood""" video="00:35:08.746" id="subtitle"mainVideo-hyperdrive]] +[[!template new="1" text="""hyperdrive.el under the hood""" video="00:35:08.746" id="subtitle"mainVideo-hyperdrive]] [[!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"]] @@ -771,7 +771,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 text="""Next steps""" video="00:38:57.541" id="subtitle"mainVideo-hyperdrive]] +[[!template new="1" text="""Next steps""" video="00:38:57.541" id="subtitle"mainVideo-hyperdrive]] [[!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"]] diff --git a/2023/info/hyperdrive-before.md b/2023/info/hyperdrive-before.md index 19201434..428cda18 100644 --- a/2023/info/hyperdrive-before.md +++ b/2023/info/hyperdrive-before.md @@ -2,7 +2,7 @@ Actually a general-audience talk; just on the development track for scheduling purposes [[!toc ]] -Format: 41-min talk; Q&A: BigBlueButton conference room +Format: 41-min talk; Q&A: BigBlueButton conference room Status: Q&A finished, IRC and pad will be archived on this page diff --git a/2023/info/koutline-before.md b/2023/info/koutline-before.md index c4de7993..d337e89d 100644 --- a/2023/info/koutline-before.md +++ b/2023/info/koutline-before.md @@ -1,6 +1,6 @@ <!-- Automatically generated by emacsconf-publish-before-page --> [[!toc ]] -Format: 7-min talk; Q&A: IRC +Format: 7-min talk; Q&A: IRC Status: Q&A finished, IRC and pad will be archived on this page diff --git a/2023/info/llm-after.md b/2023/info/llm-after.md index 9e09d49c..fb89729b 100644 --- a/2023/info/llm-after.md +++ b/2023/info/llm-after.md @@ -5,9 +5,9 @@ # Transcript -[[!template text="""Intro to the Talk""" video="00:00:00.000" id="subtitle"mainVideo-llm]] +[[!template new="1" text="""Intro to the Talk""" video="00:00:00.000" id="subtitle"mainVideo-llm]] -[[!template new="1" 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="""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 +16,9 @@ [[!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 text="""What are LLMs?""" video="00:00:25.080" id="subtitle"mainVideo-llm]] +[[!template new="1" text="""What are LLMs?""" video="00:00:25.080" id="subtitle"mainVideo-llm]] -[[!template new="1" text="""So to start off with, let's just talk like,""" 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"]] [[!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 +51,9 @@ [[!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 text="""Power of LLMs (Magit Demo)""" video="00:01:56.360" id="subtitle"mainVideo-llm]] +[[!template new="1" text="""Power of LLMs (Magit Demo)""" video="00:01:56.360" id="subtitle"mainVideo-llm]] -[[!template new="1" text="""So let me give you a demonstration of""" 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"]] [[!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 +87,9 @@ [[!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 text="""Drawbacks of LLMs (regex demo)""" video="00:03:32.240" id="subtitle"mainVideo-llm]] +[[!template new="1" text="""Drawbacks of LLMs (regex demo)""" video="00:03:32.240" id="subtitle"mainVideo-llm]] -[[!template new="1" text="""So the drawback is, yeah, it's good,""" 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"]] [[!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 +130,9 @@ [[!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 text="""Embeddings""" video="00:05:20.120" id="subtitle"mainVideo-llm]] +[[!template new="1" text="""Embeddings""" video="00:05:20.120" id="subtitle"mainVideo-llm]] -[[!template new="1" text="""So I want to talk about 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"]] [[!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 +181,9 @@ [[!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 text="""Image Generation""" video="00:07:32.800" id="subtitle"mainVideo-llm]] +[[!template new="1" text="""Image Generation""" video="00:07:32.800" id="subtitle"mainVideo-llm]] -[[!template new="1" text="""Image generation is something that's, you know,""" 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"]] [[!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 +212,9 @@ [[!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 text="""Fine-tuning""" video="00:08:48.480" id="subtitle"mainVideo-llm]] +[[!template new="1" text="""Fine-tuning""" video="00:08:48.480" id="subtitle"mainVideo-llm]] -[[!template new="1" 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="""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 +267,9 @@ [[!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 text="""Open Source""" video="00:11:08.160" id="subtitle"mainVideo-llm]] +[[!template new="1" text="""Open Source""" video="00:11:08.160" id="subtitle"mainVideo-llm]] -[[!template new="1" text="""So I also want to mention 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"]] [[!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 +291,9 @@ [[!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 text="""The Future""" video="00:12:02.840" id="subtitle"mainVideo-llm]] +[[!template new="1" text="""The Future""" video="00:12:02.840" id="subtitle"mainVideo-llm]] -[[!template new="1" text="""So speaking of 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"]] [[!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 +342,9 @@ [[!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 text="""LLMs in Emacs - existing packages""" video="00:14:08.200" id="subtitle"mainVideo-llm]] +[[!template new="1" text="""LLMs in Emacs - existing packages""" video="00:14:08.200" id="subtitle"mainVideo-llm]] -[[!template new="1" text="""Let's talk about the 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"]] [[!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 +432,9 @@ [[!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 text="""Abstracting LLM challenges""" video="00:18:15.960" id="subtitle"mainVideo-llm]] +[[!template new="1" text="""Abstracting LLM challenges""" video="00:18:15.960" id="subtitle"mainVideo-llm]] -[[!template new="1" text="""And it's a little bit difficult to abstract.""" 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"]] [[!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 +455,9 @@ [[!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 text="""Emacs is the ideal interface for LLMs""" video="00:19:04.080" id="subtitle"mainVideo-llm]] +[[!template new="1" text="""Emacs is the ideal interface for LLMs""" video="00:19:04.080" id="subtitle"mainVideo-llm]] -[[!template new="1" text="""I want to point out just to finish off,""" 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"]] [[!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 +483,9 @@ [[!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 text="""Outro""" video="00:20:01.960" id="subtitle"mainVideo-llm]] +[[!template new="1" text="""Outro""" video="00:20:01.960" id="subtitle"mainVideo-llm]] -[[!template new="1" text="""And I think we need to share these ideas""" 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"]] [[!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"]] diff --git a/2023/info/llm-before.md b/2023/info/llm-before.md index b9116099..e86eb664 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 finished, IRC and pad will be archived on this page diff --git a/2023/info/lspocaml-after.md b/2023/info/lspocaml-after.md index 1623326e..f8b48487 100644 --- a/2023/info/lspocaml-after.md +++ b/2023/info/lspocaml-after.md @@ -5,9 +5,9 @@ # Transcript -[[!template text="""Introduction""" video="00:00:00.000" id="subtitle"mainVideo-lspocaml]] +[[!template new="1" text="""Introduction""" video="00:00:00.000" id="subtitle"mainVideo-lspocaml]] -[[!template new="1" text="""Hi, I'm Austin Theriault,""" 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"]] [[!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 +16,9 @@ [[!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 text="""What is Semgrep?""" video="00:00:16.540" id="subtitle"mainVideo-lspocaml]] +[[!template new="1" text="""What is Semgrep?""" video="00:00:16.540" id="subtitle"mainVideo-lspocaml]] -[[!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"]] [[!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 +30,9 @@ [[!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 text="""How do we show security bugs early?""" video="00:00:40.720" id="subtitle"mainVideo-lspocaml]] +[[!template new="1" text="""How do we show security bugs early?""" video="00:00:40.720" id="subtitle"mainVideo-lspocaml]] -[[!template new="1" text="""Well, our goal is to show security bugs""" 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"]] [[!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 +55,9 @@ [[!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 text="""What is the Language Server Protocol?""" video="00:01:37.880" id="subtitle"mainVideo-lspocaml]] +[[!template new="1" text="""What is the Language Server Protocol?""" video="00:01:37.880" id="subtitle"mainVideo-lspocaml]] -[[!template new="1" text="""Well, in the process of working on this stuff,""" 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"]] [[!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 +76,9 @@ [[!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 text="""Case study: Rust Analyzer""" video="00:02:29.040" id="subtitle"mainVideo-lspocaml]] +[[!template new="1" text="""Case study: Rust Analyzer""" video="00:02:29.040" id="subtitle"mainVideo-lspocaml]] -[[!template new="1" 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="""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 +105,9 @@ [[!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 text="""Rust Analyzer in action""" video="00:03:42.760" id="subtitle"mainVideo-lspocaml]] +[[!template new="1" text="""Rust Analyzer in action""" video="00:03:42.760" id="subtitle"mainVideo-lspocaml]] -[[!template new="1" text="""So here's a quick little demo""" 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"]] [[!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 +122,9 @@ [[!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 text="""Why is this useful?""" video="00:04:09.960" id="subtitle"mainVideo-lspocaml]] +[[!template new="1" text="""Why is this useful?""" video="00:04:09.960" id="subtitle"mainVideo-lspocaml]] -[[!template new="1" text="""So why is this just useful in general for a user?""" 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"]] [[!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 +160,9 @@ [[!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 text="""So what about Emacs?""" video="00:05:36.220" id="subtitle"mainVideo-lspocaml]] +[[!template new="1" text="""So what about Emacs?""" video="00:05:36.220" id="subtitle"mainVideo-lspocaml]] -[[!template new="1" text="""So why does a language server protocol matter with 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"]] [[!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 +188,9 @@ [[!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 text="""Technical part - Brief communication overview""" video="00:06:40.700" id="subtitle"mainVideo-lspocaml]] +[[!template new="1" text="""Technical part - Brief communication overview""" video="00:06:40.700" id="subtitle"mainVideo-lspocaml]] -[[!template new="1" text="""Now let's get into the technical part.""" 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"]] [[!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 +226,14 @@ [[!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 text="""Example request""" video="00:07:58.760" id="subtitle"mainVideo-lspocaml]] +[[!template new="1" text="""Example request""" video="00:07:58.760" id="subtitle"mainVideo-lspocaml]] -[[!template new="1" text="""This is what it looks like, what a request looks like.""" 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"]] [[!template text="""Notifications look somewhat similar.""" start="00:08:01.240" video="mainVideo-lspocaml" id="subtitle"]] -[[!template text="""LSP capabilities""" video="00:08:03.380" id="subtitle"mainVideo-lspocaml]] +[[!template new="1" text="""LSP capabilities""" video="00:08:03.380" id="subtitle"mainVideo-lspocaml]] -[[!template new="1" text="""So now we know how LSP communication works,""" 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"]] [[!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 +267,9 @@ [[!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 text="""Tips on writing a LS""" video="00:09:23.380" id="subtitle"mainVideo-lspocaml]] +[[!template new="1" text="""Tips on writing a LS""" video="00:09:23.380" id="subtitle"mainVideo-lspocaml]] -[[!template new="1" text="""So some quick tips on writing a language server.""" 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"]] [[!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 +312,9 @@ [[!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 text="""Supporting a LS through LSP mode in Emacs""" video="00:11:03.480" id="subtitle"mainVideo-lspocaml]] +[[!template new="1" text="""Supporting a LS through LSP mode in Emacs""" video="00:11:03.480" id="subtitle"mainVideo-lspocaml]] -[[!template new="1" text="""But, yeah. So, now we know all about""" 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"]] [[!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 +337,9 @@ [[!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 text="""Create a client""" video="00:12:06.000" id="subtitle"mainVideo-lspocaml]] +[[!template new="1" text="""Create a client""" video="00:12:06.000" id="subtitle"mainVideo-lspocaml]] -[[!template new="1" text="""First, creating 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"]] [[!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 +363,9 @@ [[!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 text="""Add to list of client packages""" video="00:13:07.300" id="subtitle"mainVideo-lspocaml]] +[[!template new="1" text="""Add to list of client packages""" video="00:13:07.300" id="subtitle"mainVideo-lspocaml]] -[[!template new="1" text="""Next, you just have to add your client""" 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"]] [[!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 +392,14 @@ [[!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 text="""Add documentation!""" video="00:14:11.680" id="subtitle"mainVideo-lspocaml]] +[[!template new="1" text="""Add documentation!""" video="00:14:11.680" id="subtitle"mainVideo-lspocaml]] -[[!template new="1" text="""and then finally link to your 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"]] [[!template text="""Please, please document your stuff.""" start="00:14:14.600" video="mainVideo-lspocaml" id="subtitle"]] -[[!template text="""Adding commands and custom capabilities""" video="00:14:17.880" id="subtitle"mainVideo-lspocaml]] +[[!template new="1" text="""Adding commands and custom capabilities""" video="00:14:17.880" id="subtitle"mainVideo-lspocaml]] -[[!template new="1" text="""If you want to add, like, a custom Emacs function""" 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"]] [[!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 +414,9 @@ [[!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 text="""Thanks for listening""" video="00:15:01.360" id="subtitle"mainVideo-lspocaml]] +[[!template new="1" text="""Thanks for listening""" video="00:15:01.360" id="subtitle"mainVideo-lspocaml]] -[[!template new="1" text="""That's pretty much it. Thank you 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"]] [[!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"]] diff --git a/2023/info/lspocaml-before.md b/2023/info/lspocaml-before.md index 3e64a4cb..2a567938 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 finished, IRC and pad will be archived on this page diff --git a/2023/info/matplotllm-after.md b/2023/info/matplotllm-after.md index ed8215ae..ba23196d 100644 --- a/2023/info/matplotllm-after.md +++ b/2023/info/matplotllm-after.md @@ -5,9 +5,9 @@ # Transcript -[[!template text="""Introduction""" video="00:00:00.000" id="subtitle"mainVideo-matplotllm]] +[[!template new="1" text="""Introduction""" video="00:00:00.000" id="subtitle"mainVideo-matplotllm]] -[[!template new="1" 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="""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 +46,9 @@ [[!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 text="""What is an LLM?""" video="00:01:40.720" id="subtitle"mainVideo-matplotllm]] +[[!template new="1" text="""What is an LLM?""" video="00:01:40.720" id="subtitle"mainVideo-matplotllm]] -[[!template new="1" text="""So an LLM is a large language model.""" 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"]] [[!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 +65,9 @@ [[!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 text="""Using this library""" video="00:02:23.600" id="subtitle"mainVideo-matplotllm]] +[[!template new="1" text="""Using this library""" video="00:02:23.600" id="subtitle"mainVideo-matplotllm]] -[[!template new="1" text="""Using this library is pretty simple.""" 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"]] [[!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 +122,9 @@ [[!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 text="""Further instructions""" video="00:05:11.701" id="subtitle"mainVideo-matplotllm]] +[[!template new="1" text="""Further instructions""" video="00:05:11.701" id="subtitle"mainVideo-matplotllm]] -[[!template new="1" text="""What I can do is""" 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"]] [[!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 +175,9 @@ [[!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 text="""Room for improvement""" video="00:08:00.160" id="subtitle"mainVideo-matplotllm]] +[[!template new="1" text="""Room for improvement""" video="00:08:00.160" id="subtitle"mainVideo-matplotllm]] -[[!template new="1" text="""Now, as you can see, the system is...""" 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"]] [[!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"]] diff --git a/2023/info/matplotllm-before.md b/2023/info/matplotllm-before.md index e7881f37..8c2a5894 100644 --- a/2023/info/matplotllm-before.md +++ b/2023/info/matplotllm-before.md @@ -1,6 +1,6 @@ <!-- Automatically generated by emacsconf-publish-before-page --> [[!toc ]] -Format: 10-min talk; Q&A: Etherpad +Format: 10-min talk; Q&A: Etherpad Status: Q&A finished, IRC and pad will be archived on this page diff --git a/2023/info/mentor-after.md b/2023/info/mentor-after.md index 24d21fa9..3ee5a527 100644 --- a/2023/info/mentor-after.md +++ b/2023/info/mentor-after.md @@ -5,7 +5,7 @@ # Transcript -[[!template text="""Introduction""" video="00:00:01.380" id="subtitle"mainVideo-mentor]] +[[!template new="1" text="""Introduction""" video="00:00:01.380" id="subtitle"mainVideo-mentor]] [[!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"]] @@ -16,7 +16,7 @@ [[!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 text="""Framing approaches""" video="00:00:26.740" id="subtitle"mainVideo-mentor]] +[[!template new="1" text="""Framing approaches""" video="00:00:26.740" id="subtitle"mainVideo-mentor]] [[!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"]] @@ -24,7 +24,7 @@ [[!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 text="""What are you looking to learn?""" video="00:00:41.940" id="subtitle"mainVideo-mentor]] +[[!template new="1" text="""What are you looking to learn?""" video="00:00:41.940" id="subtitle"mainVideo-mentor]] [[!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"]] @@ -36,7 +36,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 text="""Make the work visible""" video="00:01:06.000" id="subtitle"mainVideo-mentor]] +[[!template new="1" text="""Make the work visible""" video="00:01:06.000" id="subtitle"mainVideo-mentor]] [[!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"]] @@ -46,7 +46,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 text="""Hop in and be curious""" video="00:01:29.320" id="subtitle"mainVideo-mentor]] +[[!template new="1" text="""Hop in and be curious""" video="00:01:29.320" id="subtitle"mainVideo-mentor]] [[!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"]] @@ -66,7 +66,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 text="""Pairing is for sharing""" video="00:02:15.880" id="subtitle"mainVideo-mentor]] +[[!template new="1" text="""Pairing is for sharing""" video="00:02:15.880" id="subtitle"mainVideo-mentor]] [[!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"]] @@ -87,7 +87,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 text="""Editor functions""" video="00:03:03.860" id="subtitle"mainVideo-mentor]] +[[!template new="1" text="""Editor functions""" video="00:03:03.860" id="subtitle"mainVideo-mentor]] [[!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"]] @@ -99,7 +99,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 text="""Where do they want to go?""" video="00:03:23.240" id="subtitle"mainVideo-mentor]] +[[!template new="1" text="""Where do they want to go?""" video="00:03:23.240" id="subtitle"mainVideo-mentor]] [[!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"]] @@ -132,7 +132,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 text="""How do they get there?""" video="00:04:53.440" id="subtitle"mainVideo-mentor]] +[[!template new="1" text="""How do they get there?""" video="00:04:53.440" id="subtitle"mainVideo-mentor]] [[!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"]] @@ -148,7 +148,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 text="""Here they are, now what?""" video="00:05:36.640" id="subtitle"mainVideo-mentor]] +[[!template new="1" text="""Here they are, now what?""" video="00:05:36.640" id="subtitle"mainVideo-mentor]] [[!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"]] @@ -183,7 +183,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 text="""How do they summarize?""" video="00:07:06.640" id="subtitle"mainVideo-mentor]] +[[!template new="1" text="""How do they summarize?""" video="00:07:06.640" id="subtitle"mainVideo-mentor]] [[!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"]] @@ -200,12 +200,12 @@ [[!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 text="""General strategies""" video="00:07:44.440" id="subtitle"mainVideo-mentor]] +[[!template new="1" text="""General strategies""" video="00:07:44.440" id="subtitle"mainVideo-mentor]] [[!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 text="""Commit to one item of learning each week""" video="00:07:52.060" id="subtitle"mainVideo-mentor]] +[[!template new="1" text="""Commit to one item of learning each week""" video="00:07:52.060" id="subtitle"mainVideo-mentor]] [[!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"]] @@ -218,7 +218,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 text="""Practice within your knowledge domain""" video="00:08:18.960" id="subtitle"mainVideo-mentor]] +[[!template new="1" text="""Practice within your knowledge domain""" video="00:08:18.960" id="subtitle"mainVideo-mentor]] [[!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"]] @@ -229,7 +229,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 text="""Note-taking""" video="00:08:47.120" id="subtitle"mainVideo-mentor]] +[[!template new="1" text="""Note-taking""" video="00:08:47.120" id="subtitle"mainVideo-mentor]] [[!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"]] @@ -239,7 +239,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 text="""Help them navigate the proprietary software tar pits""" video="00:09:07.120" id="subtitle"mainVideo-mentor]] +[[!template new="1" text="""Help them navigate the proprietary software tar pits""" video="00:09:07.120" id="subtitle"mainVideo-mentor]] [[!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"]] @@ -252,12 +252,12 @@ [[!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 text="""Help show the joy of holisting computering""" video="00:09:38.520" id="subtitle"mainVideo-mentor]] +[[!template new="1" text="""Help show the joy of holisting computering""" video="00:09:38.520" id="subtitle"mainVideo-mentor]] [[!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 text="""Playing is for staying""" video="00:09:47.740" id="subtitle"mainVideo-mentor]] +[[!template new="1" text="""Playing is for staying""" video="00:09:47.740" id="subtitle"mainVideo-mentor]] [[!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"]] @@ -268,7 +268,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 text="""Conclusion""" video="00:10:14.900" id="subtitle"mainVideo-mentor]] +[[!template new="1" text="""Conclusion""" video="00:10:14.900" id="subtitle"mainVideo-mentor]] [[!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"]] diff --git a/2023/info/mentor-before.md b/2023/info/mentor-before.md index 80dc19a4..59ac1851 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: Q&A finished, IRC and pad will be archived on this page diff --git a/2023/info/nabokov-after.md b/2023/info/nabokov-after.md index f0ede27f..958e6aec 100644 --- a/2023/info/nabokov-after.md +++ b/2023/info/nabokov-after.md @@ -5,9 +5,9 @@ # Transcript -[[!template text="""Introduction""" video="00:00:00.000" id="subtitle"mainVideo-nabokov]] +[[!template new="1" text="""Introduction""" video="00:00:00.000" id="subtitle"mainVideo-nabokov]] -[[!template new="1" text="""Hello, fellow Emacs enthusiasts.""" 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"]] [[!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 +32,9 @@ [[!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 text="""Nabokov's process of writing novels""" video="00:00:45.760" id="subtitle"mainVideo-nabokov]] +[[!template new="1" text="""Nabokov's process of writing novels""" video="00:00:45.760" id="subtitle"mainVideo-nabokov]] -[[!template new="1" text="""So let's get to it.""" 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"]] [[!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 +77,9 @@ [[!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 text="""Three practical problems novelists face""" video="00:02:24.080" id="subtitle"mainVideo-nabokov]] +[[!template new="1" text="""Three practical problems novelists face""" video="00:02:24.080" id="subtitle"mainVideo-nabokov]] -[[!template new="1" text="""Writing a good novel""" 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"]] [[!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 +146,9 @@ [[!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 text="""Org mode for writing novels""" video="00:04:46.560" id="subtitle"mainVideo-nabokov]] +[[!template new="1" text="""Org mode for writing novels""" video="00:04:46.560" id="subtitle"mainVideo-nabokov]] -[[!template new="1" text="""Now I'd love to talk about""" 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"]] [[!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 +247,9 @@ [[!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 text="""Takeaways and next steps""" video="00:08:55.600" id="subtitle"mainVideo-nabokov]] +[[!template new="1" text="""Takeaways and next steps""" video="00:08:55.600" id="subtitle"mainVideo-nabokov]] -[[!template new="1" text="""I'd like to leave you with a couple takeaways""" 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"]] [[!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"]] diff --git a/2023/info/nabokov-before.md b/2023/info/nabokov-before.md index ed49b35d..5ab4d6c8 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 finished, IRC and pad will be archived on this page diff --git a/2023/info/one-after.md b/2023/info/one-after.md index b4800db6..141eb586 100644 --- a/2023/info/one-after.md +++ b/2023/info/one-after.md @@ -5,9 +5,9 @@ # Transcript -[[!template text="""Introduction""" video="00:00:00.000" id="subtitle"mainVideo-one]] +[[!template new="1" text="""Introduction""" video="00:00:00.000" id="subtitle"mainVideo-one]] -[[!template new="1" text="""Hi, everybody. Welcome to the EmacsConf 2023.""" 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"]] [[!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 +16,9 @@ [[!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 text="""Documentation""" video="00:00:24.000" id="subtitle"mainVideo-one]] +[[!template new="1" text="""Documentation""" video="00:00:24.000" id="subtitle"mainVideo-one]] -[[!template new="1" text="""Now let's jump into the documentation of one.el,""" 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"]] [[!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 +52,9 @@ [[!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 text="""Starting a new project""" video="00:02:02.200" id="subtitle"mainVideo-one]] +[[!template new="1" text="""Starting a new project""" video="00:02:02.200" id="subtitle"mainVideo-one]] -[[!template new="1" text="""Now let's go to our node,""" 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"]] [[!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 +64,9 @@ [[!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 text="""Building""" video="00:02:27.400" id="subtitle"mainVideo-one]] +[[!template new="1" text="""Building""" video="00:02:27.400" id="subtitle"mainVideo-one]] -[[!template new="1" text="""How to build that website?""" 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"]] [[!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 +84,9 @@ [[!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 text="""Side by side""" video="00:03:19.760" id="subtitle"mainVideo-one]] +[[!template new="1" text="""Side by side""" video="00:03:19.760" id="subtitle"mainVideo-one]] -[[!template new="1" text="""So let's put them 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"]] [[!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 +108,9 @@ [[!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 text="""Writing a render function""" video="00:04:32.160" id="subtitle"mainVideo-one]] +[[!template new="1" text="""Writing a render function""" video="00:04:32.160" id="subtitle"mainVideo-one]] -[[!template new="1" text="""In the second part of that talk,""" 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"]] [[!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 +129,9 @@ [[!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 text="""New page""" video="00:05:44.680" id="subtitle"mainVideo-one]] +[[!template new="1" text="""New page""" video="00:05:44.680" id="subtitle"mainVideo-one]] -[[!template new="1" 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="""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 +145,9 @@ [[!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 text="""Linking between pages""" video="00:06:41.720" id="subtitle"mainVideo-one]] +[[!template new="1" text="""Linking between pages""" video="00:06:41.720" id="subtitle"mainVideo-one]] -[[!template new="1" text="""Now, how to link 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"]] [[!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 +184,9 @@ [[!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 text="""CSS""" video="00:08:40.000" id="subtitle"mainVideo-one]] +[[!template new="1" text="""CSS""" video="00:08:40.000" id="subtitle"mainVideo-one]] -[[!template new="1" text="""Now let's say that we want to change the 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"]] [[!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 +214,9 @@ [[!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 text="""How to write a render function""" video="00:10:23.160" id="subtitle"mainVideo-one]] +[[!template new="1" text="""How to write a render function""" video="00:10:23.160" id="subtitle"mainVideo-one]] -[[!template new="1" text="""Now that we've seen that,""" 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"]] [[!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 +350,9 @@ [[!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 text="""Rendering content""" video="00:19:03.200" id="subtitle"mainVideo-one]] +[[!template new="1" text="""Rendering content""" video="00:19:03.200" id="subtitle"mainVideo-one]] -[[!template new="1" text="""Now, we want the content. So far,""" 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"]] [[!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 +377,9 @@ [[!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 text="""Rendering CSS""" video="00:20:37.160" id="subtitle"mainVideo-one]] +[[!template new="1" text="""Rendering CSS""" video="00:20:37.160" id="subtitle"mainVideo-one]] -[[!template new="1" text="""So we have the content,""" 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"]] [[!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"]] diff --git a/2023/info/one-before.md b/2023/info/one-before.md index bb146124..6cd15787 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 finished, IRC and pad will be archived on this page diff --git a/2023/info/overlay-after.md b/2023/info/overlay-after.md index 4967091a..166d83cf 100644 --- a/2023/info/overlay-after.md +++ b/2023/info/overlay-after.md @@ -5,9 +5,9 @@ # Transcript -[[!template text="""Introduction""" video="00:00:00.000" id="subtitle"mainVideo-overlay]] +[[!template new="1" text="""Introduction""" video="00:00:00.000" id="subtitle"mainVideo-overlay]] -[[!template new="1" 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="""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 +19,9 @@ [[!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 text="""Overlays and what they can do""" video="00:00:33.560" id="subtitle"mainVideo-overlay]] +[[!template new="1" text="""Overlays and what they can do""" video="00:00:33.560" id="subtitle"mainVideo-overlay]] -[[!template new="1" text="""First of all, overlays.""" 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"]] [[!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 +54,9 @@ [[!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 text="""Simple overlay example - creating an overlay""" video="00:02:02.500" id="subtitle"mainVideo-overlay]] +[[!template new="1" text="""Simple overlay example - creating an overlay""" video="00:02:02.500" id="subtitle"mainVideo-overlay]] -[[!template new="1" text="""Let's do a simple overlay example.""" 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"]] [[!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 +67,9 @@ [[!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 text="""Adding properties""" video="00:02:35.700" id="subtitle"mainVideo-overlay]] +[[!template new="1" text="""Adding properties""" video="00:02:35.700" id="subtitle"mainVideo-overlay]] -[[!template new="1" text="""Now we can take that overlay that we already created""" 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"]] [[!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 +82,9 @@ [[!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 text="""Deleting an overlay""" video="00:03:10.940" id="subtitle"mainVideo-overlay]] +[[!template new="1" text="""Deleting an overlay""" video="00:03:10.940" id="subtitle"mainVideo-overlay]] -[[!template new="1" text="""We can also delete overlays.""" 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"]] [[!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 +92,9 @@ [[!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 text="""Setting fonts the right way""" video="00:03:24.660" id="subtitle"mainVideo-overlay]] +[[!template new="1" text="""Setting fonts the right way""" video="00:03:24.660" id="subtitle"mainVideo-overlay]] -[[!template new="1" text="""Now, if you're interested in changing all of the verses""" 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"]] [[!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 +107,16 @@ [[!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 text="""More properties""" video="00:03:59.540" id="subtitle"mainVideo-overlay]] +[[!template new="1" text="""More properties""" video="00:03:59.540" id="subtitle"mainVideo-overlay]] -[[!template new="1" text="""There are more advanced things that you can do""" 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"]] [[!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 text="""Visibility""" video="00:04:12.580" id="subtitle"mainVideo-overlay]] +[[!template new="1" text="""Visibility""" video="00:04:12.580" id="subtitle"mainVideo-overlay]] -[[!template new="1" text="""You can make text invisible, just like `org-present` did.""" 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"]] [[!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 +132,9 @@ [[!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 text="""Adding text""" video="00:04:49.780" id="subtitle"mainVideo-overlay]] +[[!template new="1" text="""Adding text""" video="00:04:49.780" id="subtitle"mainVideo-overlay]] -[[!template new="1" text="""Another thing we can do with properties""" 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"]] [[!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 +149,18 @@ [[!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 text="""Custom properties""" video="00:05:27.820" id="subtitle"mainVideo-overlay]] +[[!template new="1" text="""Custom properties""" video="00:05:27.820" id="subtitle"mainVideo-overlay]] -[[!template new="1" text="""You can also have 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"]] [[!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 text="""Notes on properties""" video="00:05:45.380" id="subtitle"mainVideo-overlay]] +[[!template new="1" text="""Notes on properties""" video="00:05:45.380" id="subtitle"mainVideo-overlay]] -[[!template new="1" text="""Finally, two 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"]] [[!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 +179,9 @@ [[!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 text="""Improving C++ compiler output""" video="00:06:36.100" id="subtitle"mainVideo-overlay]] +[[!template new="1" text="""Improving C++ compiler output""" video="00:06:36.100" id="subtitle"mainVideo-overlay]] -[[!template new="1" text="""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"]] [[!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 +216,16 @@ [[!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 text="""The problem with C++ error messages""" video="00:08:17.680" id="subtitle"mainVideo-overlay]] +[[!template new="1" text="""The problem with C++ error messages""" video="00:08:17.680" id="subtitle"mainVideo-overlay]] -[[!template new="1" text="""So it's often this way in C++""" 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"]] [[!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 text="""Many standard class templates have defalut arguments""" video="00:08:30.240" id="subtitle"mainVideo-overlay]] +[[!template new="1" text="""Many standard class templates have defalut arguments""" video="00:08:30.240" id="subtitle"mainVideo-overlay]] -[[!template new="1" text="""First of all, we can have default template 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"]] [[!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 +233,9 @@ [[!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 text="""Some types are aliases for longer things, too""" video="00:08:47.520" id="subtitle"mainVideo-overlay]] +[[!template new="1" text="""Some types are aliases for longer things, too""" video="00:08:47.520" id="subtitle"mainVideo-overlay]] -[[!template new="1" text="""Then there are type aliases.""" 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"]] [[!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 +245,9 @@ [[!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 text="""Reporting type information accurately means long lines""" video="00:09:20.960" id="subtitle"mainVideo-overlay]] +[[!template new="1" text="""Reporting type information accurately means long lines""" video="00:09:20.960" id="subtitle"mainVideo-overlay]] -[[!template new="1" text="""So in summary, to properly understand an error""" 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"]] [[!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 +272,9 @@ [[!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 text="""Emacs can help - Treat C++ type names as just another kind of balanced expression""" video="00:10:18.240" id="subtitle"mainVideo-overlay]] +[[!template new="1" text="""Emacs can help - Treat C++ type names as just another kind of balanced expression""" video="00:10:18.240" id="subtitle"mainVideo-overlay]] -[[!template new="1" text="""So what can Emacs do to help us with this problem?""" 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"]] [[!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 +305,9 @@ [[!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 text="""Add overlays to improve readability""" video="00:11:49.320" id="subtitle"mainVideo-overlay]] +[[!template new="1" text="""Add overlays to improve readability""" video="00:11:49.320" id="subtitle"mainVideo-overlay]] -[[!template new="1" text="""Secondly, we can use overlays""" 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"]] [[!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 +318,9 @@ [[!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 text="""Create a minor mode that runs during compilation""" video="00:12:22.400" id="subtitle"mainVideo-overlay]] +[[!template new="1" text="""Create a minor mode that runs during compilation""" video="00:12:22.400" id="subtitle"mainVideo-overlay]] -[[!template new="1" text="""Last of all, we can create a minor mode.""" 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"]] [[!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 +334,9 @@ [[!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 text="""Parsing types as balanced expressions""" video="00:12:59.500" id="subtitle"mainVideo-overlay]] +[[!template new="1" text="""Parsing types as balanced expressions""" video="00:12:59.500" id="subtitle"mainVideo-overlay]] -[[!template new="1" text="""First of all, 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"]] [[!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 +362,9 @@ [[!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 text="""Indent and fill with overlays - Use ancient "pretty printing" algorithms"""" video="00:14:16.100" id="subtitle"mainVideo-overlay]] +[[!template new="1" text="""Indent and fill with overlays - Use ancient "pretty printing" algorithms"""" video="00:14:16.100" id="subtitle"mainVideo-overlay]] -[[!template new="1" text="""The next thing we can do is""" 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"]] [[!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 +376,18 @@ [[!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 text="""Overlays can mimic line breaks and indentation""" video="00:14:52.260" id="subtitle"mainVideo-overlay]] +[[!template new="1" text="""Overlays can mimic line breaks and indentation""" video="00:14:52.260" id="subtitle"mainVideo-overlay]] -[[!template new="1" text="""We can use the `before-string` property""" 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"]] [[!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 text="""Hiding details - Marking depths with overlays""" video="00:15:14.520" id="subtitle"mainVideo-overlay]] +[[!template new="1" text="""Hiding details - Marking depths with overlays""" video="00:15:14.520" id="subtitle"mainVideo-overlay]] -[[!template new="1" 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="""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 +425,9 @@ [[!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 text="""Hiding to a target depth""" video="00:17:12.660" id="subtitle"mainVideo-overlay]] +[[!template new="1" text="""Hiding to a target depth""" video="00:17:12.660" id="subtitle"mainVideo-overlay]] -[[!template new="1" text="""Now that we've marked the nested types with their depths,""" 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"]] [[!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 +444,9 @@ [[!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 text="""Demo""" video="00:18:04.900" id="subtitle"mainVideo-overlay]] +[[!template new="1" text="""Demo""" video="00:18:04.900" id="subtitle"mainVideo-overlay]] -[[!template new="1" text="""Let's have a 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"]] [[!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 +488,9 @@ [[!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 text="""Conclusion""" video="00:20:10.220" id="subtitle"mainVideo-overlay]] +[[!template new="1" text="""Conclusion""" video="00:20:10.220" id="subtitle"mainVideo-overlay]] -[[!template new="1" text="""In conclusion, we saw how we could solve""" 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"]] [[!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"]] diff --git a/2023/info/overlay-before.md b/2023/info/overlay-before.md index a9a33386..baf1863e 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 finished, IRC and pad will be archived on this page diff --git a/2023/info/parallel-after.md b/2023/info/parallel-after.md index 653eb525..9b0b6ae6 100644 --- a/2023/info/parallel-after.md +++ b/2023/info/parallel-after.md @@ -5,9 +5,9 @@ # Transcript -[[!template text="""Introduction""" video="00:00:00.000" id="subtitle"mainVideo-parallel]] +[[!template new="1" text="""Introduction""" video="00:00:00.000" id="subtitle"mainVideo-parallel]] -[[!template new="1" text="""Hi everyone!""" start="00:00:00.000" video="mainVideo-parallel" id="subtitle"]] +[[!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 +18,9 @@ [[!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 text="""Problem: Goal""" video="00:00:23.440" id="subtitle"mainVideo-parallel]] +[[!template new="1" text="""Problem: Goal""" video="00:00:23.440" id="subtitle"mainVideo-parallel]] -[[!template new="1" text="""Here is a problem that most of us have dealt with""" 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"]] [[!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 +43,9 @@ [[!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 text="""Problem: Naive Multi-pass""" video="00:01:12.360" id="subtitle"mainVideo-parallel]] +[[!template new="1" text="""Problem: Naive Multi-pass""" video="00:01:12.360" id="subtitle"mainVideo-parallel]] -[[!template new="1" 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="""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 +54,9 @@ [[!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 text="""Problem: Clever Multi-pass""" video="00:01:34.200" id="subtitle"mainVideo-parallel]] +[[!template new="1" text="""Problem: Clever Multi-pass""" video="00:01:34.200" id="subtitle"mainVideo-parallel]] -[[!template new="1" text="""Instead, we have to be a bit more clever.""" 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"]] [[!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 +66,9 @@ [[!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 text="""Problem: Terminology""" video="00:01:57.720" id="subtitle"mainVideo-parallel]] +[[!template new="1" text="""Problem: Terminology""" video="00:01:57.720" id="subtitle"mainVideo-parallel]] -[[!template new="1" text="""Putting the implementation aside for a moment, this style""" 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"]] [[!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 +90,9 @@ [[!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 text="""Problem: Scaling Multi-pass""" video="00:03:04.440" id="subtitle"mainVideo-parallel]] +[[!template new="1" text="""Problem: Scaling Multi-pass""" video="00:03:04.440" id="subtitle"mainVideo-parallel]] -[[!template new="1" text="""However, manually invoking multiple carefully chosen""" 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"]] [[!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 +111,9 @@ [[!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 text="""Solution: Single-pass""" video="00:03:55.920" id="subtitle"mainVideo-parallel]] +[[!template new="1" text="""Solution: Single-pass""" video="00:03:55.920" id="subtitle"mainVideo-parallel]] -[[!template new="1" text="""Yes we can!""" 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"]] [[!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 +122,9 @@ [[!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 text="""Solution: Existing""" video="00:04:18.240" id="subtitle"mainVideo-parallel]] +[[!template new="1" text="""Solution: Existing""" video="00:04:18.240" id="subtitle"mainVideo-parallel]] -[[!template new="1" text="""Since this is Emacs we're talking about, of course""" 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"]] [[!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 +171,9 @@ [[!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 text="""Solution: query-replace-parallel""" video="00:06:29.080" id="subtitle"mainVideo-parallel]] +[[!template new="1" text="""Solution: query-replace-parallel""" video="00:06:29.080" id="subtitle"mainVideo-parallel]] -[[!template new="1" text="""We call it 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"]] [[!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 +184,9 @@ [[!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 text="""Demonstration: Swap""" video="00:06:55.240" id="subtitle"mainVideo-parallel]] +[[!template new="1" text="""Demonstration: Swap""" video="00:06:55.240" id="subtitle"mainVideo-parallel]] -[[!template new="1" text="""Our first demo is a simple swap, like the one we""" 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"]] [[!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 +209,9 @@ [[!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 text="""Demonstration: LaTeX""" video="00:07:53.970" id="subtitle"mainVideo-parallel]] +[[!template new="1" text="""Demonstration: LaTeX""" video="00:07:53.970" id="subtitle"mainVideo-parallel]] -[[!template new="1" text="""The second demo shows our first regex use case.""" 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"]] [[!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 +233,9 @@ [[!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 text="""Demonstration: Regex""" video="00:08:48.700" id="subtitle"mainVideo-parallel]] +[[!template new="1" text="""Demonstration: Regex""" video="00:08:48.700" id="subtitle"mainVideo-parallel]] -[[!template new="1" text="""We now take a look at a more complicated 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"]] [[!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 +252,9 @@ [[!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 text="""Demonstration: Order""" video="00:09:36.320" id="subtitle"mainVideo-parallel]] +[[!template new="1" text="""Demonstration: Order""" video="00:09:36.320" id="subtitle"mainVideo-parallel]] -[[!template new="1" text="""We haven't covered it explicitly so some of you may""" 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"]] [[!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 +280,9 @@ [[!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 text="""Demonstration: Fun""" video="00:10:54.440" id="subtitle"mainVideo-parallel]] +[[!template new="1" text="""Demonstration: Fun""" video="00:10:54.440" id="subtitle"mainVideo-parallel]] -[[!template new="1" text="""The final demo tests the limits of the package and""" 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"]] [[!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 +310,9 @@ [[!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 text="""Implementation""" video="00:12:29.120" id="subtitle"mainVideo-parallel]] +[[!template new="1" text="""Implementation""" video="00:12:29.120" id="subtitle"mainVideo-parallel]] -[[!template new="1" text="""Before we finish, a few quick words about the""" 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"]] [[!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 +354,9 @@ [[!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 text="""End""" video="00:14:18.740" id="subtitle"mainVideo-parallel]] +[[!template new="1" text="""End""" video="00:14:18.740" id="subtitle"mainVideo-parallel]] -[[!template new="1" text="""In conclusion, go download and play with the package.""" 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"]] [[!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"]] diff --git a/2023/info/parallel-before.md b/2023/info/parallel-before.md index c10be09e..e3c38000 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 finished, IRC and pad will be archived on this page diff --git a/2023/info/poltys-before.md b/2023/info/poltys-before.md index cbd81554..5cd65066 100644 --- a/2023/info/poltys-before.md +++ b/2023/info/poltys-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: Q&A finished, IRC and pad will be archived on this page diff --git a/2023/info/ref-after.md b/2023/info/ref-after.md index e216f8d4..35692221 100644 --- a/2023/info/ref-after.md +++ b/2023/info/ref-after.md @@ -5,9 +5,9 @@ # Transcript -[[!template text="""Introduction""" video="00:00:00.000" id="subtitle"mainVideo-ref]] +[[!template new="1" text="""Introduction""" video="00:00:00.000" id="subtitle"mainVideo-ref]] -[[!template new="1" text="""Hello, this is Christopher Howard,""" 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"]] [[!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 +50,9 @@ [[!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 text="""Tip about completion frameworks""" video="00:02:06.040" id="subtitle"mainVideo-ref]] +[[!template new="1" text="""Tip about completion frameworks""" video="00:02:06.040" id="subtitle"mainVideo-ref]] -[[!template new="1" text="""I do want to emphasize that if you haven't,""" 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"]] [[!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 +72,9 @@ [[!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 text="""References file overview""" video="00:03:14.920" id="subtitle"mainVideo-ref]] +[[!template new="1" text="""References file overview""" video="00:03:14.920" id="subtitle"mainVideo-ref]] -[[!template new="1" text="""So what is my approach?""" 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"]] [[!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 +121,9 @@ [[!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 text="""The Emacs Lisp code""" video="00:05:39.320" id="subtitle"mainVideo-ref]] +[[!template new="1" text="""The Emacs Lisp code""" video="00:05:39.320" id="subtitle"mainVideo-ref]] -[[!template new="1" text="""For that, I'll switch back to my init.el file.""" 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"]] [[!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 +167,9 @@ [[!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 text="""Example reference to Elfeed article""" video="00:08:02.720" id="subtitle"mainVideo-ref]] +[[!template new="1" text="""Example reference to Elfeed article""" video="00:08:02.720" id="subtitle"mainVideo-ref]] -[[!template new="1" text="""Let me give an example of this.""" 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"]] [[!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 +231,9 @@ [[!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 text="""Searching the references""" video="00:11:41.540" id="subtitle"mainVideo-ref]] +[[!template new="1" text="""Searching the references""" video="00:11:41.540" id="subtitle"mainVideo-ref]] -[[!template new="1" text="""What about searching later?""" 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"]] [[!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"]] diff --git a/2023/info/ref-before.md b/2023/info/ref-before.md index 14dff821..96409cfb 100644 --- a/2023/info/ref-before.md +++ b/2023/info/ref-before.md @@ -1,6 +1,6 @@ <!-- Automatically generated by emacsconf-publish-before-page --> [[!toc ]] -Format: 16-min talk; Q&A: IRC +Format: 16-min talk; Q&A: IRC Status: Q&A finished, IRC and pad will be archived on this page diff --git a/2023/info/repl-before.md b/2023/info/repl-before.md index cbe8f1b5..acff58e2 100644 --- a/2023/info/repl-before.md +++ b/2023/info/repl-before.md @@ -1,6 +1,6 @@ <!-- 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 finished, IRC and pad will be archived on this page diff --git a/2023/info/sat-close-before.md b/2023/info/sat-close-before.md index 24406d2e..7d71d5a1 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: 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: Q&A finished, IRC and pad will be archived on this page diff --git a/2023/info/sat-open-before.md b/2023/info/sat-open-before.md index f7c166e8..fcb1e503 100644 --- a/2023/info/sat-open-before.md +++ b/2023/info/sat-open-before.md @@ -1,6 +1,6 @@ <!-- Automatically generated by emacsconf-publish-before-page --> [[!toc ]] -Format: 6-min talk; Q&A: Etherpad +Format: 6-min talk; Q&A: Etherpad Status: Q&A finished, IRC and pad will be archived on this page diff --git a/2023/info/scheme-after.md b/2023/info/scheme-after.md index 11b010d5..e3459b75 100644 --- a/2023/info/scheme-after.md +++ b/2023/info/scheme-after.md @@ -5,18 +5,18 @@ # Transcript -[[!template text="""Introduction""" video="00:00:02.120" id="subtitle"mainVideo-scheme]] +[[!template new="1" text="""Introduction""" video="00:00:02.120" id="subtitle"mainVideo-scheme]] -[[!template new="1" text="""Hello and welcome everyone on EmacsConf 2023.""" 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"]] [[!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 text="""Interactive development""" video="00:00:23.280" id="subtitle"mainVideo-scheme]] +[[!template new="1" text="""Interactive development""" video="00:00:23.280" id="subtitle"mainVideo-scheme]] -[[!template new="1" text="""Let's start from 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"]] [[!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 +33,9 @@ [[!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 text="""REPL: Read Eval Print Loop""" video="00:01:18.180" id="subtitle"mainVideo-scheme]] +[[!template new="1" text="""REPL: Read Eval Print Loop""" video="00:01:18.180" id="subtitle"mainVideo-scheme]] -[[!template new="1" text="""We know that Emacs is very good for Lisps and REPL.""" 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"]] [[!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 +66,9 @@ [[!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 text="""Long-lasting loops""" video="00:02:53.720" id="subtitle"mainVideo-scheme]] +[[!template new="1" text="""Long-lasting loops""" video="00:02:53.720" id="subtitle"mainVideo-scheme]] -[[!template new="1" text="""Works good so far, but what happens""" 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"]] [[!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 +91,9 @@ [[!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 text="""Not interruptible""" video="00:04:07.600" id="subtitle"mainVideo-scheme]] +[[!template new="1" text="""Not interruptible""" video="00:04:07.600" id="subtitle"mainVideo-scheme]] -[[!template new="1" text="""First of all, the process is 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"]] [[!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"]] @@ -113,9 +113,9 @@ [[!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 text="""No protocol""" video="00:05:23.160" id="subtitle"mainVideo-scheme]] +[[!template new="1" text="""No protocol""" video="00:05:23.160" id="subtitle"mainVideo-scheme]] -[[!template new="1" text="""When you do such integrations, you have 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"]] [[!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"]] @@ -123,9 +123,9 @@ [[!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 text="""Not scalable""" video="00:05:51.480" id="subtitle"mainVideo-scheme]] +[[!template new="1" text="""Not scalable""" video="00:05:51.480" id="subtitle"mainVideo-scheme]] -[[!template new="1" text="""And also, such integrations are usually not very 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"]] [[!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"]] @@ -147,9 +147,9 @@ [[!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 text="""nREPL""" video="00:07:25.860" id="subtitle"mainVideo-scheme]] +[[!template new="1" text="""nREPL""" video="00:07:25.860" id="subtitle"mainVideo-scheme]] -[[!template new="1" text="""There is already a solution called 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"]] [[!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"]] @@ -176,9 +176,9 @@ [[!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 text="""Arei, Ares, and how to try""" video="00:09:01.740" id="subtitle"mainVideo-scheme]] +[[!template new="1" text="""Arei, Ares, and how to try""" video="00:09:01.740" id="subtitle"mainVideo-scheme]] -[[!template new="1" text="""First of all, I implemented nREPL server in Guile.""" 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"]] [[!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"]] @@ -201,9 +201,9 @@ [[!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 text="""Demo""" video="00:10:34.180" id="subtitle"mainVideo-scheme]] +[[!template new="1" text="""Demo""" video="00:10:34.180" id="subtitle"mainVideo-scheme]] -[[!template new="1" text="""Let's see what is possible with it already.""" 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"]] [[!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"]] @@ -218,9 +218,9 @@ [[!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 text="""Continuations""" video="00:11:27.640" id="subtitle"mainVideo-scheme]] +[[!template new="1" text="""Continuations""" video="00:11:27.640" id="subtitle"mainVideo-scheme]] -[[!template new="1" text="""Also, do you remember here we have a few more examples""" 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"]] [[!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"]] @@ -240,9 +240,9 @@ [[!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 text="""Reading from stdin""" video="00:12:32.460" id="subtitle"mainVideo-scheme]] +[[!template new="1" text="""Reading from stdin""" video="00:12:32.460" id="subtitle"mainVideo-scheme]] -[[!template new="1" text="""Also, with a usual REPL implementation,""" 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"]] [[!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"]] @@ -257,9 +257,9 @@ [[!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 text="""Fancy example with continuations""" video="00:13:33.420" id="subtitle"mainVideo-scheme]] +[[!template new="1" text="""Fancy example with continuations""" video="00:13:33.420" id="subtitle"mainVideo-scheme]] -[[!template new="1" text="""Let's make some 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"]] [[!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"]] @@ -287,9 +287,9 @@ 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 text="""Guix API""" video="00:15:13.160" id="subtitle"mainVideo-scheme]] +[[!template new="1" text="""Guix API""" video="00:15:13.160" id="subtitle"mainVideo-scheme]] -[[!template new="1" text="""Okay, what most annoying thing that I had previously""" 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"]] [[!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"]] @@ -325,16 +325,16 @@ 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 text="""Support""" video="00:17:42.060" id="subtitle"mainVideo-scheme]] +[[!template new="1" text="""Support""" video="00:17:42.060" id="subtitle"mainVideo-scheme]] -[[!template new="1" text="""Actually it took me around two months""" 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"]] [[!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 text="""Future steps - Multiple simultaneous evaluations in different contexts""" video="00:17:57.020" id="subtitle"mainVideo-scheme]] +[[!template new="1" text="""Future steps - Multiple simultaneous evaluations in different contexts""" video="00:17:57.020" id="subtitle"mainVideo-scheme]] -[[!template new="1" text="""The future steps for the project""" 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"]] [[!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"]] @@ -348,15 +348,15 @@ 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 text="""Tree-sitter integration""" video="00:18:46.220" id="subtitle"mainVideo-scheme]] +[[!template new="1" text="""Tree-sitter integration""" video="00:18:46.220" id="subtitle"mainVideo-scheme]] -[[!template new="1" text="""The second thing is 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"]] [[!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 text="""Full-fledged debugger""" video="00:18:56.880" id="subtitle"mainVideo-scheme]] +[[!template new="1" text="""Full-fledged debugger""" video="00:18:56.880" id="subtitle"mainVideo-scheme]] -[[!template new="1" text="""And after that, probably we will do a 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"]] [[!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"]] @@ -365,9 +365,9 @@ 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 text="""FAQ - Does it support other Scheme implementations?""" video="00:19:22.760" id="subtitle"mainVideo-scheme]] +[[!template new="1" text="""FAQ - Does it support other Scheme implementations?""" video="00:19:22.760" id="subtitle"mainVideo-scheme]] -[[!template new="1" text="""I will answer two probably very frequent questions.""" 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"]] [[!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"]] @@ -377,9 +377,9 @@ 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 text="""Is it possible to use it with other text editors?""" video="00:19:58.380" id="subtitle"mainVideo-scheme]] +[[!template new="1" text="""Is it possible to use it with other text editors?""" video="00:19:58.380" id="subtitle"mainVideo-scheme]] -[[!template new="1" text="""And is it possible to use the same functionality""" 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"]] [[!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"]] @@ -387,18 +387,18 @@ 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 text="""Conclusion""" video="00:20:22.121" id="subtitle"mainVideo-scheme]] +[[!template new="1" text="""Conclusion""" video="00:20:22.121" id="subtitle"mainVideo-scheme]] -[[!template new="1" text="""I would like to thank the authors and maintainers""" 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"]] [[!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 text="""Contacts""" video="00:20:45.880" id="subtitle"mainVideo-scheme]] +[[!template new="1" text="""Contacts""" video="00:20:45.880" id="subtitle"mainVideo-scheme]] -[[!template new="1" text="""If you want to contact me,""" 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"]] [[!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"]] diff --git a/2023/info/scheme-before.md b/2023/info/scheme-before.md index 4be1124e..1f3387f2 100644 --- a/2023/info/scheme-before.md +++ b/2023/info/scheme-before.md @@ -1,6 +1,6 @@ <!-- 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 finished, IRC and pad will be archived on this page diff --git a/2023/info/sharing-after.md b/2023/info/sharing-after.md index 814a112f..ccf96768 100644 --- a/2023/info/sharing-after.md +++ b/2023/info/sharing-after.md @@ -5,9 +5,9 @@ # Transcript -[[!template text="""Introduction""" video="00:00:00.000" id="subtitle"mainVideo-sharing]] +[[!template new="1" text="""Introduction""" video="00:00:00.000" id="subtitle"mainVideo-sharing]] -[[!template new="1" text="""Hello everyone, I'm Jacob Boxerman.""" 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"]] [[!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,7 +16,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 text="""Today's talk""" video="00:00:20.100" id="subtitle"mainVideo-sharing]] +[[!template new="1" text="""Today's talk""" video="00:00:20.100" id="subtitle"mainVideo-sharing]] [[!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"]] @@ -31,10 +31,10 @@ [[!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 text="""My history with Emacs""" video="00:00:48.900" id="subtitle"mainVideo-sharing]] +[[!template new="1" text="""My history with Emacs""" video="00:00:48.900" id="subtitle"mainVideo-sharing]] [[!template text="""My journey of sharing begins with my journey of learning.""" start="00:00:48.900" video="mainVideo-sharing" id="subtitle"]] -[[!template new="1" 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="""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"]] [[!template text="""exams, readings. I use Org Mode for that,""" start="00:01:00.180" video="mainVideo-sharing" id="subtitle"]] @@ -56,7 +56,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 text="""Self-exploration vs learning from others""" video="00:01:42.380" id="subtitle"mainVideo-sharing]] +[[!template new="1" text="""Self-exploration vs learning from others""" video="00:01:42.380" id="subtitle"mainVideo-sharing]] [[!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"]] @@ -85,7 +85,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 text="""Learning process""" video="00:02:53.220" id="subtitle"mainVideo-sharing]] +[[!template new="1" text="""Learning process""" video="00:02:53.220" id="subtitle"mainVideo-sharing]] [[!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"]] @@ -96,7 +96,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 text="""Emacs learning (not just learning Emacs)""" video="00:03:17.020" id="subtitle"mainVideo-sharing]] +[[!template new="1" text="""Emacs learning (not just learning Emacs)""" video="00:03:17.020" id="subtitle"mainVideo-sharing]] [[!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"]] @@ -116,14 +116,14 @@ [[!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 text="""My YouTube journey""" video="00:04:03.300" id="subtitle"mainVideo-sharing]] +[[!template new="1" text="""My YouTube journey""" video="00:04:03.300" id="subtitle"mainVideo-sharing]] [[!template text="""So this brings me to the second part of my talk,""" start="00:04:03.300" video="mainVideo-sharing" id="subtitle"]] -[[!template new="1" text="""my Emacs journey, how I got started""" start="00:04:05.740" 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 text="""Why not just read the manual?""" video="00:04:14.820" id="subtitle"mainVideo-sharing]] +[[!template new="1" text="""Why not just read the manual?""" video="00:04:14.820" id="subtitle"mainVideo-sharing]] [[!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"]] @@ -153,13 +153,13 @@ [[!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 text="""Why video for Emacs""" video="00:05:20.980" id="subtitle"mainVideo-sharing]] +[[!template new="1" text="""Why video for Emacs""" video="00:05:20.980" id="subtitle"mainVideo-sharing]] [[!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"]] -[[!template new="1" text="""So where did I turn, and why?""" start="00:05:32.720" video="mainVideo-sharing" id="subtitle"]] +[[!template text="""So where did I turn, and why?""" start="00:05:32.720" video="mainVideo-sharing" id="subtitle"]] [[!template text="""It's so trite, but they say that""" start="00:05:35.300" video="mainVideo-sharing" id="subtitle"]] [[!template text="""a picture is worth a thousand words.""" start="00:05:37.780" video="mainVideo-sharing" id="subtitle"]] [[!template text="""So how much is a video worth?""" start="00:05:40.160" video="mainVideo-sharing" id="subtitle"]] @@ -169,7 +169,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 text="""Straightforward Emacs""" video="00:05:54.420" id="subtitle"mainVideo-sharing]] +[[!template new="1" text="""Straightforward Emacs""" video="00:05:54.420" id="subtitle"mainVideo-sharing]] [[!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"]] @@ -187,7 +187,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 text="""Challenges and benefits of video""" video="00:06:32.700" id="subtitle"mainVideo-sharing]] +[[!template new="1" text="""Challenges and benefits of video""" video="00:06:32.700" id="subtitle"mainVideo-sharing]] [[!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"]] @@ -208,10 +208,10 @@ [[!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 text="""Crafting tutorials that work""" video="00:07:16.300" id="subtitle"mainVideo-sharing]] +[[!template new="1" text="""Crafting tutorials that work""" video="00:07:16.300" id="subtitle"mainVideo-sharing]] [[!template text="""What was it? I covered topics that had been done before.""" start="00:07:16.300" video="mainVideo-sharing" id="subtitle"]] -[[!template new="1" text="""But I wanted to present them in my way.""" start="00:07:21.660" 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"]] [[!template text="""when I started my Emacs journey.""" start="00:07:28.300" video="mainVideo-sharing" id="subtitle"]] @@ -229,9 +229,9 @@ [[!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 text="""High-quality and accessible content""" video="00:08:11.720" id="subtitle"mainVideo-sharing]] +[[!template new="1" text="""High-quality and accessible content""" video="00:08:11.720" id="subtitle"mainVideo-sharing]] -[[!template new="1" text="""Another goal of mine is 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"]] [[!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 +256,9 @@ [[!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 text="""Most crucial aspect of my videos""" video="00:09:17.920" id="subtitle"mainVideo-sharing]] +[[!template new="1" text="""Most crucial aspect of my videos""" video="00:09:17.920" id="subtitle"mainVideo-sharing]] -[[!template new="1" text="""There was one thing, though, that turned out to be""" 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"]] [[!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,7 +271,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 text="""A broadening community""" video="00:09:50.220" id="subtitle"mainVideo-sharing]] +[[!template new="1" text="""A broadening community""" video="00:09:50.220" id="subtitle"mainVideo-sharing]] [[!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"]] @@ -305,7 +305,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 text="""Sharing Emacs""" video="00:11:10.780" id="subtitle"mainVideo-sharing]] +[[!template new="1" text="""Sharing Emacs""" video="00:11:10.780" id="subtitle"mainVideo-sharing]] [[!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"]] @@ -321,15 +321,15 @@ [[!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 text="""Platforms""" video="00:11:48.020" id="subtitle"mainVideo-sharing]] +[[!template new="1" text="""Platforms""" video="00:11:48.020" id="subtitle"mainVideo-sharing]] [[!template text="""First, though, I'll briefly note""" start="00:11:48.020" video="mainVideo-sharing" id="subtitle"]] -[[!template new="1" text="""that everyone has their opinions about platforms,""" start="00:11:50.140" 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 text="""Achieving unity""" video="00:11:57.922" id="subtitle"mainVideo-sharing]] +[[!template new="1" text="""Achieving unity""" video="00:11:57.922" id="subtitle"mainVideo-sharing]] [[!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"]] @@ -365,7 +365,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 text="""Every contribution is valuable""" video="00:13:30.000" id="subtitle"mainVideo-sharing]] +[[!template new="1" text="""Every contribution is valuable""" video="00:13:30.000" id="subtitle"mainVideo-sharing]] [[!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"]] @@ -393,7 +393,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 text="""Conclusion""" video="00:14:40.300" id="subtitle"mainVideo-sharing]] +[[!template new="1" text="""Conclusion""" video="00:14:40.300" id="subtitle"mainVideo-sharing]] [[!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"]] diff --git a/2023/info/sharing-before.md b/2023/info/sharing-before.md index 63402ca8..d3d8ec67 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 finished, IRC and pad will be archived on this page diff --git a/2023/info/solo-after.md b/2023/info/solo-after.md index 255729fa..62d5f8ce 100644 --- a/2023/info/solo-after.md +++ b/2023/info/solo-after.md @@ -5,9 +5,9 @@ # Transcript -[[!template text="""Introduction""" video="00:00:00.000" id="subtitle"mainVideo-solo]] +[[!template new="1" text="""Introduction""" video="00:00:00.000" id="subtitle"mainVideo-solo]] -[[!template new="1" text="""Hi there, I'm Howard Abrams. You may remember me""" 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"]] [[!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 +36,9 @@ [[!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 text="""Solo RPGs""" video="00:01:20.680" id="subtitle"mainVideo-solo]] +[[!template new="1" text="""Solo RPGs""" video="00:01:20.680" id="subtitle"mainVideo-solo]] -[[!template new="1" text="""I turned to playing role-playing games by myself""" 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"]] [[!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 +66,9 @@ [[!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 text="""Demo""" video="00:02:47.440" id="subtitle"mainVideo-solo]] +[[!template new="1" text="""Demo""" video="00:02:47.440" id="subtitle"mainVideo-solo]] -[[!template new="1" text="""All right, enough talk. Let's get some Emacs action here,""" 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"]] [[!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 +97,9 @@ [[!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 text="""Randomization""" video="00:04:11.760" id="subtitle"mainVideo-solo]] +[[!template new="1" text="""Randomization""" video="00:04:11.760" id="subtitle"mainVideo-solo]] -[[!template new="1" text="""Why that name? Well, that was actually what came up""" 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"]] [[!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 +124,9 @@ [[!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 text="""Moves""" video="00:05:31.960" id="subtitle"mainVideo-solo]] +[[!template new="1" text="""Moves""" video="00:05:31.960" id="subtitle"mainVideo-solo]] -[[!template new="1" text="""The action in Ironsworn,""" 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"]] [[!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 +136,9 @@ [[!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 text="""Reference""" video="00:06:03.640" id="subtitle"mainVideo-solo]] +[[!template new="1" text="""Reference""" video="00:06:03.640" id="subtitle"mainVideo-solo]] -[[!template new="1" text="""I seldom remember the details for the moves,""" 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"]] [[!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 +148,9 @@ [[!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 text="""Story arcs""" video="00:06:34.680" id="subtitle"mainVideo-solo]] +[[!template new="1" text="""Story arcs""" video="00:06:34.680" id="subtitle"mainVideo-solo]] -[[!template new="1" text="""Ironsworn tracks the beats of a narrative,""" 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"]] [[!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 +176,9 @@ [[!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 text="""Using different stats""" video="00:07:48.680" id="subtitle"mainVideo-solo]] +[[!template new="1" text="""Using different stats""" video="00:07:48.680" id="subtitle"mainVideo-solo]] -[[!template new="1" text="""So, let's dive into this ancient place.""" 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"]] [[!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 +204,9 @@ [[!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 text="""Dice rolls""" video="00:09:02.960" id="subtitle"mainVideo-solo]] +[[!template new="1" text="""Dice rolls""" video="00:09:02.960" id="subtitle"mainVideo-solo]] -[[!template new="1" 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="""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 +216,9 @@ [[!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 text="""Dangers""" video="00:09:34.800" id="subtitle"mainVideo-solo]] +[[!template new="1" text="""Dangers""" video="00:09:34.800" id="subtitle"mainVideo-solo]] -[[!template new="1" text="""So I colored it. I rolled a miss,""" 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"]] [[!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 +231,9 @@ [[!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 text="""A strong success""" video="00:10:19.680" id="subtitle"mainVideo-solo]] +[[!template new="1" text="""A strong success""" video="00:10:19.680" id="subtitle"mainVideo-solo]] -[[!template new="1" text="""Time for another move. This time, we're going to""" 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"]] [[!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 +262,9 @@ [[!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 text="""Other solo RPGs""" video="00:11:49.680" id="subtitle"mainVideo-solo]] +[[!template new="1" text="""Other solo RPGs""" video="00:11:49.680" id="subtitle"mainVideo-solo]] -[[!template new="1" text="""However, I found more solo RPGs to play.""" 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"]] [[!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 +286,9 @@ [[!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 text="""Conclusion""" video="00:13:04.720" id="subtitle"mainVideo-solo]] +[[!template new="1" text="""Conclusion""" video="00:13:04.720" id="subtitle"mainVideo-solo]] -[[!template new="1" text="""The point of my presentation is not to show off Ironsworn,""" 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"]] [[!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"]] diff --git a/2023/info/solo-before.md b/2023/info/solo-before.md index eb2f4f48..93c7efd1 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 finished, IRC and pad will be archived on this page diff --git a/2023/info/steno-before.md b/2023/info/steno-before.md index 531d4a94..7fe64d0c 100644 --- a/2023/info/steno-before.md +++ b/2023/info/steno-before.md @@ -1,6 +1,6 @@ <!-- 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: Q&A finished, IRC and pad will be archived on this page diff --git a/2023/info/sun-close-before.md b/2023/info/sun-close-before.md index e25e539d..76685c79 100644 --- a/2023/info/sun-close-before.md +++ b/2023/info/sun-close-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 finished, IRC and pad will be archived on this page diff --git a/2023/info/sun-open-before.md b/2023/info/sun-open-before.md index 012b600d..0c35851e 100644 --- a/2023/info/sun-open-before.md +++ b/2023/info/sun-open-before.md @@ -1,6 +1,6 @@ <!-- 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: Q&A finished, IRC and pad will be archived on this page diff --git a/2023/info/table-after.md b/2023/info/table-after.md index afcd0404..e2de65d8 100644 --- a/2023/info/table-after.md +++ b/2023/info/table-after.md @@ -5,7 +5,7 @@ # Transcript -[[!template text="""Introduction""" video="00:00:01.360" id="subtitle"mainVideo-table]] +[[!template new="1" text="""Introduction""" video="00:00:01.360" id="subtitle"mainVideo-table]] [[!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"]] @@ -44,7 +44,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 text="""Demonstration""" video="00:01:41.960" id="subtitle"mainVideo-table]] +[[!template new="1" text="""Demonstration""" video="00:01:41.960" id="subtitle"mainVideo-table]] [[!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"]] @@ -67,7 +67,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 text="""Range""" video="00:03:08.320" id="subtitle"mainVideo-table]] +[[!template new="1" text="""Range""" video="00:03:08.320" id="subtitle"mainVideo-table]] [[!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"]] @@ -86,7 +86,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 text="""More qualifications""" video="00:04:11.900" id="subtitle"mainVideo-table]] +[[!template new="1" text="""More qualifications""" video="00:04:11.900" id="subtitle"mainVideo-table]] [[!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"]] @@ -109,7 +109,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 text="""Subsets""" video="00:05:34.240" id="subtitle"mainVideo-table]] +[[!template new="1" text="""Subsets""" video="00:05:34.240" id="subtitle"mainVideo-table]] [[!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"]] @@ -127,7 +127,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 text="""Sorting""" video="00:07:08.300" id="subtitle"mainVideo-table]] +[[!template new="1" text="""Sorting""" video="00:07:08.300" id="subtitle"mainVideo-table]] [[!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"]] @@ -143,7 +143,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 text="""New table""" video="00:07:51.641" id="subtitle"mainVideo-table]] +[[!template new="1" text="""New table""" video="00:07:51.641" id="subtitle"mainVideo-table]] [[!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"]] @@ -175,7 +175,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 text="""Statistics""" video="00:10:01.280" id="subtitle"mainVideo-table]] +[[!template new="1" text="""Statistics""" video="00:10:01.280" id="subtitle"mainVideo-table]] [[!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"]] @@ -198,7 +198,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 text="""Combining""" video="00:12:17.800" id="subtitle"mainVideo-table]] +[[!template new="1" text="""Combining""" video="00:12:17.800" id="subtitle"mainVideo-table]] [[!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"]] diff --git a/2023/info/table-before.md b/2023/info/table-before.md index 431f944e..31fe7646 100644 --- a/2023/info/table-before.md +++ b/2023/info/table-before.md @@ -1,6 +1,6 @@ <!-- 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: Q&A finished, IRC and pad will be archived on this page diff --git a/2023/info/teaching-after.md b/2023/info/teaching-after.md index a7924306..ce098f1e 100644 --- a/2023/info/teaching-after.md +++ b/2023/info/teaching-after.md @@ -5,9 +5,9 @@ # Transcript -[[!template text="""Introduction""" video="00:00:00.000" id="subtitle"mainVideo-teaching]] +[[!template new="1" text="""Introduction""" video="00:00:00.000" id="subtitle"mainVideo-teaching]] -[[!template new="1" text="""Welcome to my talk, which is pre-recorded,""" 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"]] [[!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 +28,9 @@ [[!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 text="""My interest in this topic""" video="00:00:54.160" id="subtitle"mainVideo-teaching]] +[[!template new="1" text="""My interest in this topic""" video="00:00:54.160" id="subtitle"mainVideo-teaching]] -[[!template new="1" text="""So my interest in this topic began with""" 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"]] [[!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 +57,9 @@ [[!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 text="""What is data science?""" video="00:02:08.040" id="subtitle"mainVideo-teaching]] +[[!template new="1" text="""What is data science?""" video="00:02:08.040" id="subtitle"mainVideo-teaching]] -[[!template new="1" text="""I probably don't have to explain what computer science is,""" 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"]] [[!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 +92,9 @@ [[!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 text="""Computer science is a craft""" video="00:03:47.640" id="subtitle"mainVideo-teaching]] +[[!template new="1" text="""Computer science is a craft""" video="00:03:47.640" id="subtitle"mainVideo-teaching]] -[[!template new="1" text="""Now, what I'm saying here, I think is true""" 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"]] [[!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 +119,9 @@ [[!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 text="""The problem""" video="00:04:52.840" id="subtitle"mainVideo-teaching]] +[[!template new="1" text="""The problem""" video="00:04:52.840" id="subtitle"mainVideo-teaching]] -[[!template new="1" text="""The problem that I identified is that students,""" 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"]] [[!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 +137,9 @@ [[!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 text="""The solution: Emacs + Org-mode""" video="00:05:36.560" id="subtitle"mainVideo-teaching]] +[[!template new="1" text="""The solution: Emacs + Org-mode""" video="00:05:36.560" id="subtitle"mainVideo-teaching]] -[[!template new="1" text="""Enter Emacs, the self-extensible operating system""" 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"]] [[!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 +156,9 @@ [[!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 text="""Emacs configuration file""" video="00:06:24.120" id="subtitle"mainVideo-teaching]] +[[!template new="1" text="""Emacs configuration file""" video="00:06:24.120" id="subtitle"mainVideo-teaching]] -[[!template new="1" text="""So to rein in your expectations,""" 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"]] [[!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 +179,9 @@ [[!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 text="""Story + code = source + documentation""" video="00:07:30.360" id="subtitle"mainVideo-teaching]] +[[!template new="1" text="""Story + code = source + documentation""" video="00:07:30.360" id="subtitle"mainVideo-teaching]] -[[!template new="1" 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="""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 +195,9 @@ [[!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 text="""What is literate programming?""" video="00:08:22.040" id="subtitle"mainVideo-teaching]] +[[!template new="1" text="""What is literate programming?""" video="00:08:22.040" id="subtitle"mainVideo-teaching]] -[[!template new="1" text="""The main purpose of literate programming is not only""" 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"]] [[!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 +226,9 @@ [[!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 text="""Emacs as a literate programming tool""" video="00:09:59.880" id="subtitle"mainVideo-teaching]] +[[!template new="1" text="""Emacs as a literate programming tool""" video="00:09:59.880" id="subtitle"mainVideo-teaching]] -[[!template new="1" text="""In data science, these interactive notebooks""" 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"]] [[!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 +253,9 @@ [[!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 text="""Case study: basic setup""" video="00:11:18.960" id="subtitle"mainVideo-teaching]] +[[!template new="1" text="""Case study: basic setup""" video="00:11:18.960" id="subtitle"mainVideo-teaching]] -[[!template new="1" text="""Now, coming to the case study itself,""" 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"]] [[!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 +272,9 @@ [[!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 text="""Emacs + Org-mode notebooks""" video="00:12:11.280" id="subtitle"mainVideo-teaching]] +[[!template new="1" text="""Emacs + Org-mode notebooks""" video="00:12:11.280" id="subtitle"mainVideo-teaching]] -[[!template new="1" text="""I'm now going to briefly comment on""" 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"]] [[!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 +288,9 @@ [[!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 text="""Onboarding: simplified Emacs tutorial""" video="00:12:45.800" id="subtitle"mainVideo-teaching]] +[[!template new="1" text="""Onboarding: simplified Emacs tutorial""" video="00:12:45.800" id="subtitle"mainVideo-teaching]] -[[!template new="1" text="""To facilitate the onboarding,""" 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"]] [[!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 +310,9 @@ [[!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 text="""Instruction + interaction""" video="00:13:40.840" id="subtitle"mainVideo-teaching]] +[[!template new="1" text="""Instruction + interaction""" video="00:13:40.840" id="subtitle"mainVideo-teaching]] -[[!template new="1" text="""Emacs with Org Mode""" 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"]] [[!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 +338,9 @@ [[!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 text="""Assignments + projects""" video="00:14:48.720" id="subtitle"mainVideo-teaching]] +[[!template new="1" text="""Assignments + projects""" video="00:14:48.720" id="subtitle"mainVideo-teaching]] -[[!template new="1" text="""Now, using literate programming for the 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"]] [[!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 +371,9 @@ [[!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 text="""Overall results positive""" video="00:16:15.280" id="subtitle"mainVideo-teaching]] +[[!template new="1" text="""Overall results positive""" video="00:16:15.280" id="subtitle"mainVideo-teaching]] -[[!template new="1" text="""The courses... Coming to the result, the overall result...""" 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"]] [[!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 +414,9 @@ [[!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 text="""Conclusion & outlook""" video="00:18:19.800" id="subtitle"mainVideo-teaching]] +[[!template new="1" text="""Conclusion & outlook""" video="00:18:19.800" id="subtitle"mainVideo-teaching]] -[[!template new="1" text="""And here's the summary.""" 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"]] [[!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"]] diff --git a/2023/info/teaching-before.md b/2023/info/teaching-before.md index 9bfc4a88..e243ad4c 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: Q&A finished, IRC and pad will be archived on this page diff --git a/2023/info/test-after.md b/2023/info/test-after.md index c0213dc7..b4262348 100644 --- a/2023/info/test-after.md +++ b/2023/info/test-after.md @@ -5,9 +5,9 @@ # Transcript -[[!template text="""Introduction""" video="00:00:03.120" id="subtitle"mainVideo-test]] +[[!template new="1" text="""Introduction""" video="00:00:03.120" id="subtitle"mainVideo-test]] -[[!template new="1" text="""Hi everyone! I'm Mats Lidell.""" 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"]] [[!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 +61,9 @@ [[!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 text="""ERT: Emacs Lisp Regression Testing""" video="00:03:11.160" id="subtitle"mainVideo-test]] +[[!template new="1" text="""ERT: Emacs Lisp Regression Testing""" video="00:03:11.160" id="subtitle"mainVideo-test]] -[[!template new="1" text="""Luckily there is a package for writing tests in Emacs.""" 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"]] [[!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 +82,9 @@ [[!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 text="""Assertions with `should`""" video="00:04:14.360" id="subtitle"mainVideo-test]] +[[!template new="1" text="""Assertions with `should`""" video="00:04:14.360" id="subtitle"mainVideo-test]] -[[!template new="1" text="""The verification of a test is performed with""" 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"]] [[!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 +95,9 @@ [[!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 text="""Running a test case""" video="00:04:56.920" id="subtitle"mainVideo-test]] +[[!template new="1" text="""Running a test case""" video="00:04:56.920" id="subtitle"mainVideo-test]] -[[!template new="1" 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="""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 +121,9 @@ [[!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 text="""Debug a test""" video="00:06:54.560" id="subtitle"mainVideo-test]] +[[!template new="1" text="""Debug a test""" video="00:06:54.560" id="subtitle"mainVideo-test]] -[[!template new="1" 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="""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 +134,9 @@ [[!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 text="""Commercial break: Hyperbole""" video="00:07:50.380" id="subtitle"mainVideo-test]] +[[!template new="1" text="""Commercial break: Hyperbole""" video="00:07:50.380" id="subtitle"mainVideo-test]] -[[!template new="1" text="""It's time for a commercial break!""" 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"]] [[!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 +154,9 @@ [[!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 text="""Instrument function on the fly""" video="00:09:10.480" id="subtitle"mainVideo-test]] +[[!template new="1" text="""Instrument function on the fly""" video="00:09:10.480" id="subtitle"mainVideo-test]] -[[!template new="1" text="""A related useful feature here is the step-in functionality""" 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"]] [[!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 +178,9 @@ [[!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 text="""Mocking""" video="00:10:39.120" id="subtitle"mainVideo-test]] +[[!template new="1" text="""Mocking""" video="00:10:39.120" id="subtitle"mainVideo-test]] -[[!template new="1" text="""The next tool in our toolbox is 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"]] [[!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 +256,9 @@ [[!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 text="""cl-letf""" video="00:14:41.240" id="subtitle"mainVideo-test]] +[[!template new="1" text="""cl-letf""" video="00:14:41.240" id="subtitle"mainVideo-test]] -[[!template new="1" text="""Moving over to `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"]] [[!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 +271,18 @@ [[!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 text="""Hooks""" video="00:15:24.100" id="subtitle"mainVideo-test]] +[[!template new="1" text="""Hooks""" video="00:15:24.100" id="subtitle"mainVideo-test]] -[[!template new="1" text="""Another trick is that functions that uses 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"]] [[!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 text="""Side effects and initial buffer state""" video="00:15:55.720" id="subtitle"mainVideo-test]] +[[!template new="1" text="""Side effects and initial buffer state""" video="00:15:55.720" id="subtitle"mainVideo-test]] -[[!template new="1" text="""So far we have been talking about testing""" 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"]] [[!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 +308,25 @@ [[!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 text="""with-temp-buffer""" video="00:17:05.100" id="subtitle"mainVideo-test]] +[[!template new="1" text="""with-temp-buffer""" video="00:17:05.100" id="subtitle"mainVideo-test]] -[[!template new="1" text="""For creating tests: `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"]] [[!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 text="""make-temp-file""" video="00:17:16.520" id="subtitle"mainVideo-test]] +[[!template new="1" text="""make-temp-file""" video="00:17:16.520" id="subtitle"mainVideo-test]] -[[!template new="1" text="""`make-temp-file`: If you need a 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"]] [[!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 text="""buffer-string""" video="00:17:33.288" id="subtitle"mainVideo-test]] +[[!template new="1" text="""buffer-string""" video="00:17:33.288" id="subtitle"mainVideo-test]] -[[!template new="1" text="""`buffer-string`: returns the full contents""" 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"]] [[!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 +340,9 @@ [[!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 text="""buffer-name""" video="00:18:09.920" id="subtitle"mainVideo-test]] +[[!template new="1" text="""buffer-name""" video="00:18:09.920" id="subtitle"mainVideo-test]] -[[!template new="1" text="""buffer-name: Getting the buffer name is good""" 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"]] [[!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 +358,14 @@ [[!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 text="""major-mode""" video="00:18:51.980" id="subtitle"mainVideo-test]] +[[!template new="1" text="""major-mode""" video="00:18:51.980" id="subtitle"mainVideo-test]] -[[!template new="1" text="""Finally, `major-mode`: Verify the buffer has the proper 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"]] [[!template text="""Can also be very useful and is a good sanity check.""" start="00:18:55.680" video="mainVideo-test" id="subtitle"]] -[[!template text="""unwind-protect""" video="00:19:02.680" id="subtitle"mainVideo-test]] +[[!template new="1" text="""unwind-protect""" video="00:19:02.680" id="subtitle"mainVideo-test]] -[[!template new="1" text="""Finally, cleaning up. `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"]] [[!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 +383,9 @@ [[!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 text="""Input, with-simulated-input""" video="00:20:15.100" id="subtitle"mainVideo-test]] +[[!template new="1" text="""Input, with-simulated-input""" video="00:20:15.100" id="subtitle"mainVideo-test]] -[[!template new="1" text="""Another problem for tests are 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"]] [[!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 +412,9 @@ [[!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 text="""Running all tests""" video="00:21:38.460" id="subtitle"mainVideo-test]] +[[!template new="1" text="""Running all tests""" video="00:21:38.460" id="subtitle"mainVideo-test]] -[[!template new="1" text="""So now we have seen ways to create test cases""" 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"]] [[!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 +435,9 @@ [[!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 text="""Batch mode""" video="00:23:03.220" id="subtitle"mainVideo-test]] +[[!template new="1" text="""Batch mode""" video="00:23:03.220" id="subtitle"mainVideo-test]] -[[!template new="1" text="""So that was fine, but we were still running it manually""" 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"]] [[!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 +454,9 @@ [[!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 text="""Skipping tests""" video="00:24:05.060" id="subtitle"mainVideo-test]] +[[!template new="1" text="""Skipping tests""" video="00:24:05.060" id="subtitle"mainVideo-test]] -[[!template new="1" text="""Even with the help of simulated input,""" 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"]] [[!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 +494,9 @@ [[!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 text="""Conclusion""" video="00:26:08.460" id="subtitle"mainVideo-test]] +[[!template new="1" text="""Conclusion""" video="00:26:08.460" id="subtitle"mainVideo-test]] -[[!template new="1" text="""We have reached the end of the talk.""" 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"]] [[!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"]] diff --git a/2023/info/test-before.md b/2023/info/test-before.md index 48d07ecb..63459138 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 finished, IRC and pad will be archived on this page diff --git a/2023/info/unentangling-before.md b/2023/info/unentangling-before.md index 1283d31f..aa8006a8 100644 --- a/2023/info/unentangling-before.md +++ b/2023/info/unentangling-before.md @@ -1,6 +1,6 @@ <!-- Automatically generated by emacsconf-publish-before-page --> [[!toc ]] -Format: 13-min talk; Q&A: Etherpad +Format: 13-min talk; Q&A: Etherpad Status: Q&A finished, IRC and pad will be archived on this page diff --git a/2023/info/uni-after.md b/2023/info/uni-after.md index e6d06283..55dbde98 100644 --- a/2023/info/uni-after.md +++ b/2023/info/uni-after.md @@ -5,9 +5,9 @@ # Transcript -[[!template text="""Introduction""" video="00:00:00.000" id="subtitle"mainVideo-uni]] +[[!template new="1" text="""Introduction""" video="00:00:00.000" id="subtitle"mainVideo-uni]] -[[!template new="1" text="""Hello everyone. I'm James Howell.""" 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"]] [[!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 +38,9 @@ [[!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 text="""Presenting""" video="00:01:12.440" id="subtitle"mainVideo-uni]] +[[!template new="1" text="""Presenting""" video="00:01:12.440" id="subtitle"mainVideo-uni]] -[[!template new="1" text="""And first I'm going to talk about 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"]] [[!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 +57,9 @@ [[!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 text="""Hardware""" video="00:01:47.820" id="subtitle"mainVideo-uni]] +[[!template new="1" text="""Hardware""" video="00:01:47.820" id="subtitle"mainVideo-uni]] -[[!template new="1" text="""Let me talk about my practices:""" 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"]] [[!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 +133,9 @@ [[!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 text="""Example setup""" video="00:04:46.610" id="subtitle"mainVideo-uni]] +[[!template new="1" text="""Example setup""" video="00:04:46.610" id="subtitle"mainVideo-uni]] -[[!template new="1" text="""Okay. This was Wednesday,""" 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"]] [[!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 +157,9 @@ [[!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 text="""Presentation software: flexibility in function""" video="00:05:30.520" id="subtitle"mainVideo-uni]] +[[!template new="1" text="""Presentation software: flexibility in function""" video="00:05:30.520" id="subtitle"mainVideo-uni]] -[[!template new="1" text="""Let's talk about""" 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"]] [[!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 +199,9 @@ [[!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 text="""Live demonstration""" video="00:07:05.950" id="subtitle"mainVideo-uni]] +[[!template new="1" text="""Live demonstration""" video="00:07:05.950" id="subtitle"mainVideo-uni]] -[[!template new="1" text="""All right, let's""" 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"]] [[!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 +225,9 @@ [[!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 text="""OBS""" video="00:07:59.850" id="subtitle"mainVideo-uni]] +[[!template new="1" text="""OBS""" video="00:07:59.850" id="subtitle"mainVideo-uni]] -[[!template new="1" text="""By the way, here's how OBS works:""" 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"]] [[!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,7 +241,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 text="""Firefox""" video="00:08:27.190" id="subtitle"mainVideo-uni]] +[[!template new="1" text="""Firefox""" video="00:08:27.190" id="subtitle"mainVideo-uni]] [[!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"]] @@ -293,9 +293,9 @@ [[!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 text="""Animation""" video="00:10:26.060" id="subtitle"mainVideo-uni]] +[[!template new="1" text="""Animation""" video="00:10:26.060" id="subtitle"mainVideo-uni]] -[[!template new="1" text="""But if you animate it—""" 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"]] [[!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 +308,9 @@ [[!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 text="""Emacs""" video="00:10:55.790" id="subtitle"mainVideo-uni]] +[[!template new="1" text="""Emacs""" video="00:10:55.790" id="subtitle"mainVideo-uni]] -[[!template new="1" text="""I use Emacs to look at text.""" 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"]] [[!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 +330,9 @@ [[!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 text="""Making slides and handouts with Org Mode""" video="00:11:42.260" id="subtitle"mainVideo-uni]] +[[!template new="1" text="""Making slides and handouts with Org Mode""" video="00:11:42.260" id="subtitle"mainVideo-uni]] -[[!template new="1" text="""Mostly what I use Emacs for is not to""" 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"]] [[!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 +375,9 @@ [[!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 text="""Pedagogy first""" video="00:13:22.680" id="subtitle"mainVideo-uni]] +[[!template new="1" text="""Pedagogy first""" video="00:13:22.680" id="subtitle"mainVideo-uni]] -[[!template new="1" text="""The approach is to think""" 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"]] [[!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 +444,9 @@ [[!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 text="""org-teach""" video="00:16:17.790" id="subtitle"mainVideo-uni]] +[[!template new="1" text="""org-teach""" video="00:16:17.790" id="subtitle"mainVideo-uni]] -[[!template new="1" text="""All right, so let me show""" 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"]] [[!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 +523,16 @@ [[!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 text="""Blank slides""" video="00:19:38.330" id="subtitle"mainVideo-uni]] +[[!template new="1" text="""Blank slides""" video="00:19:38.330" id="subtitle"mainVideo-uni]] -[[!template new="1" text="""I often put in blank slides to""" 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"]] [[!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 text="""Animations""" video="00:19:50.050" id="subtitle"mainVideo-uni]] +[[!template new="1" text="""Animations""" video="00:19:50.050" id="subtitle"mainVideo-uni]] -[[!template new="1" text="""I often use— it used to be Powerpoint,""" 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"]] [[!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 +543,9 @@ [[!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 text="""Conclusion""" video="00:20:19.270" id="subtitle"mainVideo-uni]] +[[!template new="1" text="""Conclusion""" video="00:20:19.270" id="subtitle"mainVideo-uni]] -[[!template new="1" text="""I hope that you find this useful.""" 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"]] [[!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"]] diff --git a/2023/info/uni-before.md b/2023/info/uni-before.md index fe930dad..ed177770 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 finished, IRC and pad will be archived on this page diff --git a/2023/info/voice-after.md b/2023/info/voice-after.md index e8361255..1e28115d 100644 --- a/2023/info/voice-after.md +++ b/2023/info/voice-after.md @@ -5,9 +5,9 @@ # Transcript -[[!template text="""Introduction""" video="00:00:00.000" id="subtitle"mainVideo-voice]] +[[!template new="1" text="""Introduction""" video="00:00:00.000" id="subtitle"mainVideo-voice]] -[[!template new="1" text="""Hi, I'm Blaine Mooers. I'm an associate professor""" 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"]] [[!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 +19,9 @@ [[!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 text="""Three activities in voice computing""" video="00:00:37.400" id="subtitle"mainVideo-voice]] +[[!template new="1" text="""Three activities in voice computing""" video="00:00:37.400" id="subtitle"mainVideo-voice]] -[[!template new="1" text="""I divide voice computing into three activities,""" 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"]] [[!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 +29,9 @@ [[!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 text="""Talk is not about ... and about ...""" video="00:01:02.560" id="subtitle"mainVideo-voice]] +[[!template new="1" text="""Talk is not about ... and about ...""" video="00:01:02.560" id="subtitle"mainVideo-voice]] -[[!template new="1" text="""This talk will not be about Emacspeak.""" 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"]] [[!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 +46,9 @@ [[!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 text="""Motivations""" video="00:01:53.520" id="subtitle"mainVideo-voice]] +[[!template new="1" text="""Motivations""" video="00:01:53.520" id="subtitle"mainVideo-voice]] -[[!template new="1" text="""The motivations are, obviously, as I mentioned already,""" 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"]] [[!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 +79,9 @@ [[!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 text="""Data""" video="00:03:33.240" id="subtitle"mainVideo-voice]] +[[!template new="1" text="""Data""" video="00:03:33.240" id="subtitle"mainVideo-voice]] -[[!template new="1" text="""I'm not God, so I have to bring 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"]] [[!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 +89,9 @@ [[!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 text="""Voice In in the Chrome Store""" video="00:03:58.680" id="subtitle"mainVideo-voice]] +[[!template new="1" text="""Voice In in the Chrome Store""" video="00:03:58.680" id="subtitle"mainVideo-voice]] -[[!template new="1" text="""So this is the Chrome store website for voice-in.""" 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"]] [[!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 +99,9 @@ [[!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 text="""Works in web pages with text areas""" video="00:04:25.628" id="subtitle"mainVideo-voice]] +[[!template new="1" text="""Works in web pages with text areas""" video="00:04:25.628" id="subtitle"mainVideo-voice]] -[[!template new="1" text="""It works on 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"]] [[!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 +114,9 @@ [[!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 text="""Built-in commands in Voice In Plus""" video="00:05:16.880" id="subtitle"mainVideo-voice]] +[[!template new="1" text="""Built-in commands in Voice In Plus""" video="00:05:16.880" id="subtitle"mainVideo-voice]] -[[!template new="1" text="""[Voice In] has a number of built-in commands.""" 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"]] [[!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 +139,9 @@ [[!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 text="""Common errors made by Voice In""" video="00:06:41.740" id="subtitle"mainVideo-voice]] +[[!template new="1" text="""Common errors made by Voice In""" video="00:06:41.740" id="subtitle"mainVideo-voice]] -[[!template new="1" text="""These are some common errors""" 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"]] [[!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 +165,9 @@ [[!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 text="""Custom speech-to-text commands""" video="00:08:14.760" id="subtitle"mainVideo-voice]] +[[!template new="1" text="""Custom speech-to-text commands""" video="00:08:14.760" id="subtitle"mainVideo-voice]] -[[!template new="1" text="""You can set up through a very easy-to-use GUI""" 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"]] [[!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 +187,9 @@ [[!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 text="""Custom speech-to-commands""" video="00:09:59.420" id="subtitle"mainVideo-voice]] +[[!template new="1" text="""Custom speech-to-commands""" video="00:09:59.420" id="subtitle"mainVideo-voice]] -[[!template new="1" text="""Then it has a set of commands that you can customize""" 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"]] [[!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 +198,9 @@ [[!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 text="""Introducing Talon Voice""" video="00:10:37.540" id="subtitle"mainVideo-voice]] +[[!template new="1" text="""Introducing Talon Voice""" video="00:10:37.540" id="subtitle"mainVideo-voice]] -[[!template new="1" text="""But the speech-to-command repertoire is quite limited""" 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"]] [[!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 +229,9 @@ [[!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 text="""Talon GUI""" video="00:12:28.400" id="subtitle"mainVideo-voice]] +[[!template new="1" text="""Talon GUI""" video="00:12:28.400" id="subtitle"mainVideo-voice]] -[[!template new="1" text="""I followed the [install] protocol outlined by Tara Roys.""" 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"]] [[!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 +254,9 @@ [[!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 text="""Talon file with web scope""" video="00:14:02.540" id="subtitle"mainVideo-voice]] +[[!template new="1" text="""Talon file with web scope""" video="00:14:02.540" id="subtitle"mainVideo-voice]] -[[!template new="1" text="""This is an example of a Talon file.""" 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"]] [[!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 +279,9 @@ [[!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 text="""Terminals on remote and virtual machines""" video="00:15:34.015" id="subtitle"mainVideo-voice]] +[[!template new="1" text="""Terminals on remote and virtual machines""" video="00:15:34.015" id="subtitle"mainVideo-voice]] -[[!template new="1" text="""Here we have two restrictions.""" 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"]] [[!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 +301,9 @@ [[!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 text="""Recommendations""" video="00:16:52.500" id="subtitle"mainVideo-voice]] +[[!template new="1" text="""Recommendations""" video="00:16:52.500" id="subtitle"mainVideo-voice]] -[[!template new="1" text="""In terms of picking up voice computing,""" 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"]] [[!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 +328,9 @@ [[!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 text="""Acknowledgements""" video="00:18:17.720" id="subtitle"mainVideo-voice]] +[[!template new="1" text="""Acknowledgements""" video="00:18:17.720" id="subtitle"mainVideo-voice]] -[[!template new="1" 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="""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"]] diff --git a/2023/info/voice-before.md b/2023/info/voice-before.md index f137a6f5..0c17b2a7 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: Q&A finished, IRC and pad will be archived on this page diff --git a/2023/info/web-after.md b/2023/info/web-after.md index fb9773de..2dd76415 100644 --- a/2023/info/web-after.md +++ b/2023/info/web-after.md @@ -5,9 +5,9 @@ # Transcript -[[!template text="""Overview""" video="00:00:00.000" id="subtitle"mainVideo-web]] +[[!template new="1" text="""Overview""" video="00:00:00.000" id="subtitle"mainVideo-web]] -[[!template new="1" text="""Hello, I am Yuchen, and I will be talking about""" 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"]] [[!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 +20,9 @@ [[!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 text="""Background problems""" video="00:00:35.680" id="subtitle"mainVideo-web]] +[[!template new="1" text="""Background problems""" video="00:00:35.680" id="subtitle"mainVideo-web]] -[[!template new="1" text="""OK, let's now move on to""" 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"]] [[!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 +120,9 @@ [[!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 text="""Solutions outside of Emacs""" video="00:05:31.940" id="subtitle"mainVideo-web]] +[[!template new="1" text="""Solutions outside of Emacs""" video="00:05:31.940" id="subtitle"mainVideo-web]] -[[!template new="1" text="""Right, now let's move on to 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"]] [[!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 +197,14 @@ 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 text="""Emacs solutions""" video="00:09:46.480" id="subtitle"mainVideo-web]] +[[!template new="1" text="""Emacs solutions""" video="00:09:46.480" id="subtitle"mainVideo-web]] -[[!template new="1" text="""Now let us move to Emacs-based 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"]] [[!template text="""They are based on the same ideas but using Emacs.""" start="00:09:51.000" video="mainVideo-web" id="subtitle"]] -[[!template text="""Free clients in Emacs""" video="00:09:54.600" id="subtitle"mainVideo-web]] +[[!template new="1" text="""Free clients in Emacs""" video="00:09:54.600" id="subtitle"mainVideo-web]] -[[!template new="1" text="""First, 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"]] [[!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 +243,9 @@ 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 text="""Web browsers in Emacs""" video="00:12:43.021" id="subtitle"mainVideo-web]] +[[!template new="1" text="""Web browsers in Emacs""" video="00:12:43.021" id="subtitle"mainVideo-web]] -[[!template new="1" text="""Web browsers are universal clients""" 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"]] [[!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 +319,9 @@ 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 text="""emacs-web-server - overview""" video="00:16:52.380" id="subtitle"mainVideo-web]] +[[!template new="1" text="""emacs-web-server - overview""" video="00:16:52.380" id="subtitle"mainVideo-web]] -[[!template new="1" text="""OK, let's move on to the idea""" 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"]] [[!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 +338,9 @@ 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 text="""emacs-web-server - hello emacs!""" video="00:17:30.380" id="subtitle"mainVideo-web]] +[[!template new="1" text="""emacs-web-server - hello emacs!""" video="00:17:30.380" id="subtitle"mainVideo-web]] -[[!template new="1" text="""OK, let's start with a simple example called 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"]] [[!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 +355,9 @@ 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 text="""emacs-web-server - yolo""" video="00:18:17.580" id="subtitle"mainVideo-web]] +[[!template new="1" text="""emacs-web-server - yolo""" video="00:18:17.580" id="subtitle"mainVideo-web]] -[[!template new="1" text="""OK, now let's move on to something funny""" 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"]] [[!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 +418,9 @@ 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 text="""emacs-web-server - emacs web framework""" video="00:23:07.940" id="subtitle"mainVideo-web]] +[[!template new="1" text="""emacs-web-server - emacs web framework""" video="00:23:07.940" id="subtitle"mainVideo-web]] -[[!template new="1" text="""Okay, so we know that yolo is unsafe""" 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"]] [[!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 +534,9 @@ 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 text="""Firefox with emacs for extensions""" video="00:29:40.420" id="subtitle"mainVideo-web]] +[[!template new="1" text="""Firefox with emacs for extensions""" video="00:29:40.420" id="subtitle"mainVideo-web]] -[[!template new="1" text="""Right. Because of the time constraints,""" 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"]] [[!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,9 +572,9 @@ 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 text="""Thank you""" video="00:31:25.360" id="subtitle"mainVideo-web]] +[[!template new="1" text="""Thank you""" video="00:31:25.360" id="subtitle"mainVideo-web]] -[[!template new="1" text="""That concludes my talk.""" 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"]] [[!template text="""Thank you for your attention.""" start="00:31:28.254" video="mainVideo-web" id="subtitle"]] diff --git a/2023/info/web-before.md b/2023/info/web-before.md index 573c850a..95a07cf1 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 finished, IRC and pad will be archived on this page diff --git a/2023/info/windows-before.md b/2023/info/windows-before.md index e0a8ce18..a0f25b9b 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: 40-min talk; Q&A: BigBlueButton conference room +Format: 40-min talk; Q&A: BigBlueButton conference room Status: Q&A finished, IRC and pad will be archived on this page diff --git a/2023/info/world-after.md b/2023/info/world-after.md index ba963660..a2eaaef1 100644 --- a/2023/info/world-after.md +++ b/2023/info/world-after.md @@ -5,9 +5,9 @@ # Transcript -[[!template text="""Draw and scribble in GNU Emacs""" video="00:00:00.780" id="subtitle"mainVideo-world]] +[[!template new="1" text="""Draw and scribble in GNU Emacs""" video="00:00:00.780" id="subtitle"mainVideo-world]] -[[!template new="1" text="""Hello. In this video, we will look at""" 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"]] [[!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 +50,9 @@ [[!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 text="""SVG Symbols library""" video="00:03:46.400" id="subtitle"mainVideo-world]] +[[!template new="1" text="""SVG Symbols library""" video="00:03:46.400" id="subtitle"mainVideo-world]] -[[!template new="1" text="""Hello. In this video, we will draw""" 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"]] [[!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 +71,9 @@ [[!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 text="""GNU Emacs: A multimedia editor""" video="00:05:20.140" id="subtitle"mainVideo-world]] +[[!template new="1" text="""GNU Emacs: A multimedia editor""" video="00:05:20.140" id="subtitle"mainVideo-world]] -[[!template new="1" text="""Hello. In this video, we will look at""" 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"]] [[!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 +98,9 @@ [[!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 text="""Fill PDF form using GNU Emacs""" video="00:08:03.367" id="subtitle"mainVideo-world]] +[[!template new="1" text="""Fill PDF form using GNU Emacs""" video="00:08:03.367" id="subtitle"mainVideo-world]] -[[!template new="1" text="""Hello. In this video, we will look at""" 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"]] [[!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 +124,9 @@ [[!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 text="""Desktop and window management in GNU Emacs""" video="00:09:34.900" id="subtitle"mainVideo-world]] +[[!template new="1" text="""Desktop and window management in GNU Emacs""" video="00:09:34.900" id="subtitle"mainVideo-world]] -[[!template new="1" text="""Hello. In this video, we will look at""" 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"]] [[!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 +145,9 @@ [[!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 text="""Screen mirroring in GNU Emacs""" video="00:11:10.440" id="subtitle"mainVideo-world]] +[[!template new="1" text="""Screen mirroring in GNU Emacs""" video="00:11:10.440" id="subtitle"mainVideo-world]] -[[!template new="1" text="""Hello. In this video, we will look at""" 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"]] [[!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 +158,48 @@ [[!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 text="""Swipe for Text Input in GNU Emacs""" video="00:11:53.033" id="subtitle"mainVideo-world]] +[[!template new="1" text="""Swipe for Text Input in GNU Emacs""" video="00:11:53.033" id="subtitle"mainVideo-world]] -[[!template new="1" 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 text="""Formula Editor in GNU Emacs""" video="00:12:25.533" id="subtitle"mainVideo-world]] +[[!template new="1" text="""Formula Editor in GNU Emacs""" video="00:12:25.533" id="subtitle"mainVideo-world]] -[[!template new="1" text="""[Formula Editor]""" start="00:12:25.533" video="mainVideo-world" id="subtitle"]] +[[!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 text="""Transliteration in Emacs""" video="00:12:59.433" id="subtitle"mainVideo-world]] +[[!template new="1" text="""Transliteration in Emacs""" video="00:12:59.433" id="subtitle"mainVideo-world]] -[[!template new="1" text="""[Hindi (Devanagari script) Phonetic typing]""" 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"]] [[!template text="""[Phonetic typing Gujarati, Bangla, Kannada, and Tamil]""" start="00:13:05.200" video="mainVideo-world" id="subtitle"]] -[[!template text="""Social Media client - Tumblr, Reddit""" video="00:13:09.433" id="subtitle"mainVideo-world]] +[[!template new="1" text="""Social Media client - Tumblr, Reddit""" video="00:13:09.433" id="subtitle"mainVideo-world]] -[[!template new="1" text="""[Browsing Reddit in Emacs]""" 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"]] [[!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 text="""Comics Builder""" video="00:13:40.000" id="subtitle"mainVideo-world]] +[[!template new="1" text="""Comics Builder""" video="00:13:40.000" id="subtitle"mainVideo-world]] -[[!template new="1" text="""[Generating comic from a text script]""" 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"]] -[[!template text="""Matching game""" video="00:13:49.567" id="subtitle"mainVideo-world]] +[[!template new="1" text="""Matching game""" video="00:13:49.567" id="subtitle"mainVideo-world]] -[[!template new="1" 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 text="""Interactive XPath Builder in GNU Emacs""" video="00:13:59.567" id="subtitle"mainVideo-world]] +[[!template new="1" text="""Interactive XPath Builder in GNU Emacs""" video="00:13:59.567" id="subtitle"mainVideo-world]] -[[!template new="1" text="""[Running `xpath-builder` on an XML file]""" 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"]] [[!template text="""[Filtering `title`, `para`, and `author` from the XML]""" start="00:14:01.833" video="mainVideo-world" id="subtitle"]] -[[!template text="""Interactive JSON Builder in GNU Emacs""" video="00:14:10.767" id="subtitle"mainVideo-world]] +[[!template new="1" text="""Interactive JSON Builder in GNU Emacs""" video="00:14:10.767" id="subtitle"mainVideo-world]] -[[!template new="1" text="""[Filtering `father`, `father.name`, `children`""" 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"]] [[!template text="""`children[1]` from a JSON using JSON Builder]""" start="00:14:29.200" video="mainVideo-world" id="subtitle"]] -[[!template text="""GNU Emacs as a lightweight IDE (CEDET Semantic): Java - Generate getter/setter""" video="00:14:35.233" id="subtitle"mainVideo-world]] +[[!template new="1" text="""GNU Emacs as a lightweight IDE (CEDET Semantic): Java - Generate getter/setter""" video="00:14:35.233" id="subtitle"mainVideo-world]] -[[!template new="1" text="""Hello. In this video, we will look at""" 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"]] [[!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 +215,13 @@ [[!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 text="""Generate C header""" video="00:15:26.133" id="subtitle"mainVideo-world]] +[[!template new="1" text="""Generate C header""" video="00:15:26.133" id="subtitle"mainVideo-world]] -[[!template new="1" text="""[Generating C headers using `srecode-gen-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"]] -[[!template text="""C Rename symbols""" video="00:16:11.640" id="subtitle"mainVideo-world]] +[[!template new="1" text="""C Rename symbols""" video="00:16:11.640" id="subtitle"mainVideo-world]] -[[!template new="1" text="""Hello. In this video, we will look at""" 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"]] [[!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 +234,9 @@ [[!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 text="""SQL (offline)""" video="00:17:07.640" id="subtitle"mainVideo-world]] +[[!template new="1" text="""SQL (offline)""" video="00:17:07.640" id="subtitle"mainVideo-world]] -[[!template new="1" text="""Hello. In this video, we will look at""" 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"]] [[!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"]] diff --git a/2023/info/world-before.md b/2023/info/world-before.md index 5903357b..3c3d99f7 100644 --- a/2023/info/world-before.md +++ b/2023/info/world-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 finished, IRC and pad will be archived on this page diff --git a/2023/info/writing-after.md b/2023/info/writing-after.md index 460db609..8feb548e 100644 --- a/2023/info/writing-after.md +++ b/2023/info/writing-after.md @@ -5,9 +5,9 @@ # Transcript -[[!template text="""Intro""" video="00:00:00.000" id="subtitle"mainVideo-writing]] +[[!template new="1" text="""Intro""" video="00:00:00.000" id="subtitle"mainVideo-writing]] -[[!template new="1" text="""Hello everyone, I'm Jeremy Friesen, pronouns he/him,""" 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"]] [[!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 +26,9 @@ [[!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 text="""How I got here""" video="00:00:57.120" id="subtitle"mainVideo-writing]] +[[!template new="1" text="""How I got here""" video="00:00:57.120" id="subtitle"mainVideo-writing]] -[[!template new="1" text="""How I got here was I started in WordPress,""" 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"]] [[!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 +37,9 @@ [[!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 text="""Friction""" video="00:01:18.400" id="subtitle"mainVideo-writing]] +[[!template new="1" text="""Friction""" video="00:01:18.400" id="subtitle"mainVideo-writing]] -[[!template new="1" text="""But I didn't realize that 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"]] [[!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 +50,9 @@ [[!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 text="""Domains for notes""" video="00:01:45.960" id="subtitle"mainVideo-writing]] +[[!template new="1" text="""Domains for notes""" video="00:01:45.960" id="subtitle"mainVideo-writing]] -[[!template new="1" text="""So I have many domains where I'll write towards.""" 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"]] [[!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 +63,9 @@ [[!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 text="""Demo""" video="00:02:15.920" id="subtitle"mainVideo-writing]] +[[!template new="1" text="""Demo""" video="00:02:15.920" id="subtitle"mainVideo-writing]] -[[!template new="1" text="""So let's hop into the 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"]] [[!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 +82,9 @@ [[!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 text="""Dabbrev and hippie-expand""" video="00:02:55.440" id="subtitle"mainVideo-writing]] +[[!template new="1" text="""Dabbrev and hippie-expand""" video="00:02:55.440" id="subtitle"mainVideo-writing]] -[[!template new="1" text="""One of the things I encourage everybody to do""" 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"]] [[!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 +96,9 @@ [[!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 text="""Links""" video="00:03:32.840" id="subtitle"mainVideo-writing]] +[[!template new="1" text="""Links""" video="00:03:32.840" id="subtitle"mainVideo-writing]] -[[!template new="1" text="""All right, we're going to go with 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"]] [[!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 +182,9 @@ [[!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 text="""Conclusion""" video="00:07:49.160" id="subtitle"mainVideo-writing]] +[[!template new="1" text="""Conclusion""" video="00:07:49.160" id="subtitle"mainVideo-writing]] -[[!template new="1" text="""In conclusion, when I started learning Emacs,""" 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"]] [[!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"]] diff --git a/2023/info/writing-before.md b/2023/info/writing-before.md index 5b0275d7..3fc57b12 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 finished, IRC and pad will be archived on this page |