summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--2021/captions/emacsconf-2021-imaginary--imaginary-programming--shane-mulligan--main.vtt697
-rw-r--r--2021/emacsconf-pentabarf.xml22
-rw-r--r--2021/emacsconf.ics134
-rw-r--r--2021/info/build-schedule.md2
-rw-r--r--2021/info/clede-schedule.md2
-rw-r--r--2021/info/day2-close-schedule.md2
-rw-r--r--2021/info/eaf-schedule.md2
-rw-r--r--2021/info/forever-schedule.md2
-rw-r--r--2021/info/imaginary-schedule.md10
-rw-r--r--2021/info/maintainers-schedule.md2
-rw-r--r--2021/schedule-details.md14
11 files changed, 795 insertions, 94 deletions
diff --git a/2021/captions/emacsconf-2021-imaginary--imaginary-programming--shane-mulligan--main.vtt b/2021/captions/emacsconf-2021-imaginary--imaginary-programming--shane-mulligan--main.vtt
new file mode 100644
index 00000000..5d822eae
--- /dev/null
+++ b/2021/captions/emacsconf-2021-imaginary--imaginary-programming--shane-mulligan--main.vtt
@@ -0,0 +1,697 @@
+WEBVTT
+
+00:01.920 --> 00:03.280
+Hi everyone!
+
+00:03.280 --> 00:04.400
+My name is Shane,
+
+00:04.400 --> 00:09.679
+and it's truly a real honor to be
+
+00:09.679 --> 00:14.480
+able to speak at EmacsConf.
+
+00:14.480 --> 00:16.880
+I love Emacs. I love Emacs Lisp,
+
+00:16.880 --> 00:19.279
+and this is also another topic
+
+00:19.279 --> 00:22.233
+that really excites me ever since
+
+00:22.233 --> 00:28.160
+I got my hands on OpenAI's GPT-3.
+
+00:28.160 --> 00:29.920
+Six months ago, I knew that it was
+
+00:29.920 --> 00:33.920
+important to research this for Emacs,
+
+00:33.920 --> 00:35.980
+you know, asides from being somebody
+
+00:35.980 --> 00:39.040
+who never wants to leave Emacs myself,
+
+00:39.040 --> 00:41.440
+and I hope that….
+
+00:41.440 --> 00:43.120
+Being one of the few Emacs users,
+
+00:43.120 --> 00:45.360
+possibly the only one that had
+
+00:45.360 --> 00:48.160
+access to GPT-3 for this long,
+
+00:48.160 --> 00:52.559
+I hope that I can contribute.
+
+00:52.559 --> 00:55.199
+So, Emacs, sorry.
+
+00:55.199 --> 00:58.960
+Imaginary programming is…,
+
+00:58.960 --> 01:01.280
+it's based on prompt engineering currently,
+
+01:01.280 --> 01:02.559
+but it's an abstraction over
+
+01:02.559 --> 01:03.359
+prompt engineering.
+
+01:03.359 --> 01:06.479
+You can read about prompt engineering
+
+01:06.479 --> 01:08.560
+and language models,
+
+01:08.560 --> 01:13.040
+that's quite easy to google for.
+
+01:13.040 --> 01:15.520
+And imaginary programming is a subfield
+
+01:15.520 --> 01:17.360
+of imaginary computing,
+
+01:17.360 --> 01:19.424
+which is just the larger domain
+
+01:19.424 --> 01:21.420
+of employing of computing
+
+01:21.420 --> 01:24.240
+that's based on imagination,
+
+01:24.240 --> 01:25.600
+artificial imagination,
+
+01:25.600 --> 01:29.920
+so, basically, dreaming up user interfaces
+
+01:29.920 --> 01:32.159
+instead of…, or at least partially
+
+01:32.159 --> 01:34.079
+dreaming them up.
+
+01:34.079 --> 01:41.439
+I suppose that it's a fringe paradigm,
+
+01:41.439 --> 01:43.759
+but it's extremely useful.
+
+01:43.759 --> 01:47.759
+Imaginary computing,
+
+01:47.759 --> 01:49.200
+if you're willing to call it that,
+
+01:49.200 --> 01:51.920
+would be what's used to
+
+01:51.920 --> 01:53.413
+imagine simulations
+
+01:53.413 --> 01:54.320
+for self-driving cars,
+
+01:54.320 --> 01:57.840
+as they're trained for example.
+
+01:57.840 --> 01:58.984
+But this technology finds
+
+01:58.984 --> 02:00.960
+its way to the public,
+
+02:00.960 --> 02:04.880
+and it should be in the public domain.
+
+02:04.880 --> 02:06.799
+So, Demis Hassabis
+
+02:06.799 --> 02:08.959
+he's the founder of DeepMind,
+
+02:08.959 --> 02:12.400
+and he did his Ph.D. in human imagination,
+
+02:12.400 --> 02:16.900
+now he's working on artificial imagination.
+
+02:16.900 --> 02:20.239
+So, just a couple of days ago
+
+02:20.239 --> 02:25.040
+I took AlephAlpha's world model API
+
+02:25.040 --> 02:28.080
+and I plugged it into Emacs's eww browser,
+
+02:28.080 --> 02:30.800
+and now I have a way of generating
+
+02:30.800 --> 02:33.840
+text for the images instead of actually…,
+
+02:33.840 --> 02:38.072
+so I can stay in my text only Emacs,
+
+02:38.072 --> 02:42.560
+which is the way it should be.
+
+02:42.560 --> 02:45.636
+Intelligent NFTs, I'll leave this
+
+02:45.636 --> 02:47.360
+for you guys to look at.
+
+02:47.360 --> 02:49.280
+Information bubbles.
+
+02:49.280 --> 02:55.360
+So, there's some potential bad outcomes
+
+02:55.360 --> 03:05.680
+from the runaway empowering of these
+
+03:05.680 --> 03:08.959
+large language models and other models
+
+03:08.959 --> 03:10.000
+in commercial hands.
+
+03:10.000 --> 03:13.680
+It's causing information bubbles and
+
+03:13.680 --> 03:15.680
+ways of controlling people.
+
+03:15.680 --> 03:19.440
+So, for example,
+
+03:19.440 --> 03:21.680
+micro tasks and stuff that…,
+
+03:21.680 --> 03:23.650
+furthermore just automating away,
+
+03:23.650 --> 03:26.000
+or abstracting away the role
+
+03:26.000 --> 03:27.680
+of a programmer,
+
+03:27.680 --> 03:29.360
+and the automating more and more
+
+03:29.360 --> 03:32.319
+increasingly abstract tasks,
+
+03:32.319 --> 03:33.659
+and I think the solution is to
+
+03:33.659 --> 03:36.319
+decentralize and break up these tasks.
+
+03:36.319 --> 03:39.120
+I have a potential way of doing that,
+
+03:39.120 --> 03:40.693
+but firstly I'll talk about
+
+03:40.693 --> 03:42.400
+the imaginary web briefly
+
+03:42.400 --> 03:44.720
+because the thing about these
+
+03:44.720 --> 03:48.000
+language models is,
+
+03:48.000 --> 03:49.280
+they can replace basically
+
+03:49.280 --> 03:52.159
+everything on the internet.
+
+03:52.159 --> 03:55.280
+So, like, replace your Wikipedia,
+
+03:55.280 --> 03:57.680
+or Stack Overflow,
+
+03:57.680 --> 04:01.519
+replace conversation if you want it with,
+
+04:01.519 --> 04:05.920
+from real people to chatbots instead,
+
+04:05.920 --> 04:13.120
+replace basically anything there's
+
+04:13.120 --> 04:14.959
+a website for.
+
+04:14.959 --> 04:17.280
+And that means that rich media has gone
+
+04:17.280 --> 04:20.639
+from becoming images and video
+
+04:20.639 --> 04:22.560
+and even from paywalls
+
+04:22.560 --> 04:26.400
+now into intelligent and truthful,
+
+04:26.400 --> 04:29.520
+because generating fictional websites
+
+04:29.520 --> 04:31.919
+is going to become a very easy thing to do,
+
+04:31.919 --> 04:35.120
+and actually the best way to do it,
+
+04:35.120 --> 04:37.440
+and the most useful way to do it,
+
+04:37.440 --> 04:40.560
+so then you need a source of truth.
+
+04:40.560 --> 04:43.759
+The imaginary web is a thing,
+
+04:43.759 --> 04:46.000
+imaginary interpreters are a thing,
+
+04:46.000 --> 04:50.000
+so you imagine your interpreter,
+
+04:50.000 --> 04:53.759
+or you overlay prompting on top of
+
+04:53.759 --> 04:55.520
+a real interpreter to see
+
+04:55.520 --> 04:57.440
+what you might want to do
+
+04:57.440 --> 04:58.800
+in an interpreter,
+
+04:58.800 --> 05:01.039
+and what you might want to say to somebody
+
+05:01.039 --> 05:01.919
+if you're talking to them.
+
+05:01.919 --> 05:03.199
+If you're inside, say,
+
+05:03.199 --> 05:05.840
+ERC in Emacs, an IRC client,
+
+05:05.840 --> 05:07.440
+and you prompt after somebody
+
+05:07.440 --> 05:08.479
+says something,
+
+05:08.479 --> 05:10.400
+then the prompt will probably suggest,
+
+05:10.400 --> 05:13.120
+what you might say in return,
+
+05:13.120 --> 05:15.199
+and then you can prompt like a multiverse,
+
+05:15.199 --> 05:18.800
+and you can pick from them.
+
+05:18.800 --> 05:23.912
+There's a bunch of crazy utilities
+
+05:23.912 --> 05:26.560
+for these language models.
+
+05:26.560 --> 05:28.960
+Paracosm vs Metaverse.
+
+05:28.960 --> 05:30.828
+So, Mark Zuck wants you to live in
+
+05:30.828 --> 05:34.320
+his virtual reality as defined by him,
+
+05:34.320 --> 05:36.160
+and he's going to do it
+
+05:36.160 --> 05:40.539
+by using these models to make you
+
+05:40.539 --> 05:42.639
+a fictional world that you can live in.
+
+05:42.639 --> 05:43.280
+You can do that,
+
+05:43.280 --> 05:46.400
+or you can use them yourself,
+
+05:46.400 --> 05:50.000
+and you build your own Paracosm.
+
+05:50.000 --> 05:51.440
+And I think that's an important
+
+05:51.440 --> 05:53.440
+ability to be able to have,
+
+05:53.440 --> 05:56.880
+otherwise we will be like the borg,
+
+05:56.880 --> 06:01.520
+and we'll be connected to Mark Zuckerberg.
+
+06:01.520 --> 06:06.400
+Truth is a hot topic.
+
+06:06.400 --> 06:08.880
+So, the way that I think we should do this
+
+06:08.880 --> 06:10.720
+to decentralize the language models is,
+
+06:10.720 --> 06:13.199
+to use Structuralism.
+
+06:13.199 --> 06:19.600
+Universal grammar,
+
+06:19.600 --> 06:21.680
+template metaprogramming, and GPT-3
+
+06:21.680 --> 06:23.919
+what do they have in common?
+
+06:23.919 --> 06:27.759
+Well, you have some kind of basis,
+
+06:27.759 --> 06:31.408
+like, you train your GPT-3,
+
+06:31.408 --> 06:32.663
+and then you do all your prompting
+
+06:32.663 --> 06:33.360
+on top of it.
+
+06:33.360 --> 06:35.840
+Like a person is born with this grammar,
+
+06:35.840 --> 06:37.759
+and then they quickly learn language,
+
+06:37.759 --> 06:40.240
+and like with C++ templates,
+
+06:40.240 --> 06:42.080
+you pre-process and then
+
+06:42.080 --> 06:44.800
+the run time runs on that.
+
+06:44.800 --> 06:48.000
+So, anyway, that was a slide.
+
+06:48.000 --> 06:50.479
+Structuralism.
+
+06:50.479 --> 06:52.080
+I think you can decompile…,
+
+06:52.080 --> 06:52.880
+think you can break,
+
+06:52.880 --> 06:53.840
+so you can decompose
+
+06:53.840 --> 06:55.840
+the language models into units,
+
+06:55.840 --> 06:57.759
+but those units won't look like neurons,
+
+06:57.759 --> 06:59.440
+they would look like these,
+
+06:59.440 --> 07:01.759
+and you put them onto a blockchain.
+
+07:01.759 --> 07:02.744
+But you can look at that later
+
+07:02.744 --> 07:03.840
+if you want anyway.
+
+07:03.840 --> 07:07.199
+I'm going to skip straight to ilambda,
+
+07:07.199 --> 07:09.919
+running out of time.
+
+07:09.919 --> 07:12.240
+I'll just quickly show you
+
+07:12.240 --> 07:15.199
+the ilambda primitive in ilambda.
+
+07:15.199 --> 07:19.199
+So, it evaluates instead of run,
+
+07:19.199 --> 07:21.680
+for example, here's the reduced function,
+
+07:21.680 --> 07:22.632
+and you've defined your
+
+07:22.632 --> 07:25.520
+imaginary lambda here.
+
+07:25.520 --> 07:26.560
+And it doesn't have a body,
+
+07:26.560 --> 07:31.599
+it's just got the comment
+
+07:31.599 --> 07:33.120
+and the parameters,
+
+07:33.120 --> 07:36.560
+and that's enough for….
+
+07:36.560 --> 07:38.720
+Once you have that ilambda
+
+07:38.720 --> 07:40.080
+that runs now as a function,
+
+07:40.080 --> 07:40.800
+you can stick it into
+
+07:40.800 --> 07:42.720
+a reduced function, for example,
+
+07:42.720 --> 07:46.240
+and it'll reduce this list.
+
+07:46.240 --> 07:50.560
+You could even remove…, yeah,
+
+07:50.560 --> 07:51.759
+so you kind of need the comment
+
+07:51.759 --> 07:56.048
+otherwise it's too hard to imagine
+
+07:56.048 --> 07:57.360
+what would happen next,
+
+07:57.360 --> 08:01.520
+but for a function you can literally
+
+08:01.520 --> 08:03.360
+have an idefun even without
+
+08:03.360 --> 08:04.639
+the argument list.
+
+08:04.639 --> 08:06.319
+It was just like generate-fib-sequence,
+
+08:06.319 --> 08:09.919
+and most likely when you run that defun,
+
+08:09.919 --> 08:13.759
+it would work the way you want it.
+
+08:13.759 --> 08:16.000
+The more information you give the idefun,
+
+08:16.000 --> 08:17.840
+the imaginary defun,
+
+08:17.840 --> 08:20.879
+the better it would capture the task
+
+08:20.879 --> 08:22.000
+which you're trying to do,
+
+08:22.000 --> 08:23.039
+in this case you want to generate
+
+08:23.039 --> 08:24.080
+a Fibonacci sequence.
+
+08:24.080 --> 08:28.319
+And yeah, you can define functions
+
+08:28.319 --> 08:30.560
+without having a body,
+
+08:30.560 --> 08:32.640
+and they run an inference instead.
+
+08:32.640 --> 08:34.159
+Here's a way of overriding
+
+08:34.159 --> 08:36.000
+the language model that's used,
+
+08:36.000 --> 08:40.640
+for example, using dynamic scope.
+
+08:40.640 --> 08:41.863
+So, under the hood,
+
+08:41.863 --> 08:47.040
+idefun just uses an ilambda.
+
+08:47.040 --> 08:50.959
+This function here just doubles things.
+
+08:50.959 --> 08:53.752
+So, here's a function that gets you
+
+08:53.752 --> 08:59.279
+a hexadecimal color just from the name.
+
+08:59.279 --> 09:00.160
+And you can create
+
+09:00.160 --> 09:02.160
+arbitrary functions like this,
+
+09:02.160 --> 09:04.268
+so, what we need is like a library
+
+09:04.268 --> 09:07.200
+of imaginary functions, I think,
+
+09:07.200 --> 09:12.800
+that match a language model.
+
+09:12.800 --> 09:15.760
+Macros on the other hand,
+
+09:15.760 --> 09:18.160
+as different from functions,
+
+09:18.160 --> 09:20.000
+they actually macro expand
+
+09:20.000 --> 09:21.360
+and generate code.
+
+09:21.360 --> 09:23.279
+So, when you macro expand this,
+
+09:23.279 --> 09:26.320
+you'll get this,
+
+09:26.320 --> 09:30.000
+and that's because this has an arity of 3,
+
+09:30.000 --> 09:31.839
+and then when you macro expand
+
+09:31.839 --> 09:32.959
+that underlying macro,
+
+09:32.959 --> 09:35.120
+it generates the actual source code.
+
+09:35.120 --> 09:37.839
+You can actually run these macros,
+
+09:37.839 --> 09:41.279
+and it will cache the output…,
+
+09:41.279 --> 09:42.480
+it will catch the source code,
+
+09:42.480 --> 09:44.240
+so the macro runs the same
+
+09:44.240 --> 09:45.839
+every single time,
+
+09:45.839 --> 09:47.519
+or generates the same code,
+
+09:47.519 --> 09:48.560
+but you can just use it
+
+09:48.560 --> 09:49.920
+to generate code really easily
+
+09:49.920 --> 09:52.000
+while you're programming.
+
+09:52.000 --> 09:55.920
+I hope that this has been informative,
+
+09:55.920 --> 09:57.600
+it wasn't too much time,
+
+09:57.600 --> 10:00.312
+but there's plenty of material
+
+10:00.312 --> 10:01.680
+for you to dig into it more
+
+10:01.680 --> 10:04.000
+if you're interested.
+
+10:04.000 --> 10:04.959
+Thank you very much
+
+10:04.959 --> 10:09.519
+for letting me talk today.
+
+10:09.519 --> 10:15.680
+Peace out!
+
+10:15.680 --> 10:16.680
+[captions by bhavin192 (Bhavin Gandhi)]
diff --git a/2021/emacsconf-pentabarf.xml b/2021/emacsconf-pentabarf.xml
index db47397d..625cda28 100644
--- a/2021/emacsconf-pentabarf.xml
+++ b/2021/emacsconf-pentabarf.xml
@@ -1,4 +1,4 @@
-<schedule><generator name="EmacsConf" version="0.1"></generator><version>20211128135100</version><conference><acronym>emacsconf2021</acronym><title>EmacsConf 2021</title><start>2021-11-27</start><end>2021-11-28</end><time_zone_name>America/Toronto</time_zone_name><base_url>https://emacsconf.org/2021</base_url></conference><day date="2021-11-27" start="2021-11-27T14:00:00Z" end="2021-11-27T22:05:00Z" index="1"><room name="Main"><event id="01" guid="dc07efcd-6d79-cfd4-fed3-59c885fe2922"><date>2021-11-27T14:00:00Z</date><start>09:00</start><language>en</language><room>Main</room><subtitle></subtitle><type>Talk</type><track>Main</track><slug>emacsconf-2021-talk-day1-open</slug><duration>0:18</duration><title>Opening remarks</title><abstract></abstract><description>Times are approximate and will probably change.
+<schedule><generator name="EmacsConf" version="0.1"></generator><version>20211128143243</version><conference><acronym>emacsconf2021</acronym><title>EmacsConf 2021</title><start>2021-11-27</start><end>2021-11-28</end><time_zone_name>America/Toronto</time_zone_name><base_url>https://emacsconf.org/2021</base_url></conference><day date="2021-11-27" start="2021-11-27T14:00:00Z" end="2021-11-27T22:05:00Z" index="1"><room name="Main"><event id="01" guid="dc07efcd-6d79-cfd4-fed3-59c885fe2922"><date>2021-11-27T14:00:00Z</date><start>09:00</start><language>en</language><room>Main</room><subtitle></subtitle><type>Talk</type><track>Main</track><slug>emacsconf-2021-talk-day1-open</slug><duration>0:18</duration><title>Opening remarks</title><abstract></abstract><description>Times are approximate and will probably change.
</description><url>https://emacsconf.org/2021/talks/day1-open</url><persons><person>EmacsConf</person></persons></event><event id="02" guid="393ba3c2-b2a6-6a84-44eb-872aa333d08d"><date>2021-11-27T14:19:00Z</date><start>09:19</start><language>en</language><room>Main</room><subtitle></subtitle><type>Talk</type><track>Main</track><slug>emacsconf-2021-talk-news</slug><duration>0:05</duration><title>Emacs News Highlights</title><abstract></abstract><description>Times are approximate and will probably change.
@@ -60,7 +60,7 @@
</description><url>https://emacsconf.org/2021/talks/design</url><persons><person>Nicolas P. Rougier</person></persons></event><event id="28" guid="5287b003-f368-36c4-4f9b-8135734cad39"><date>2021-11-27T22:00:00Z</date><start>17:00</start><language>en</language><room>Main</room><subtitle></subtitle><type>Talk</type><track>Main</track><slug>emacsconf-2021-talk-day1-close</slug><duration>0:05</duration><title>Closing remarks day 1</title><abstract></abstract><description>Times are approximate and will probably change.
-</description><url>https://emacsconf.org/2021/talks/day1-close</url><persons><person>EmacsConf</person></persons></event></room></day><day date="2021-11-28" start="2021-11-28T14:00:00Z" end="2021-11-28T22:12:00Z" index="2"><room name="Main"><event id="30" guid="d877a57a-14cf-a194-99c3-a344ecb24acc"><date>2021-11-28T14:00:00Z</date><start>09:00</start><language>en</language><room>Main</room><subtitle></subtitle><type>Talk</type><track>Main</track><slug>emacsconf-2021-talk-day2-open</slug><duration>0:05</duration><title>Opening remarks day 2</title><abstract></abstract><description>Times are approximate and will probably change.
+</description><url>https://emacsconf.org/2021/talks/day1-close</url><persons><person>EmacsConf</person></persons></event></room></day><day date="2021-11-28" start="2021-11-28T14:00:00Z" end="2021-11-28T22:06:00Z" index="2"><room name="Main"><event id="30" guid="d877a57a-14cf-a194-99c3-a344ecb24acc"><date>2021-11-28T14:00:00Z</date><start>09:00</start><language>en</language><room>Main</room><subtitle></subtitle><type>Talk</type><track>Main</track><slug>emacsconf-2021-talk-day2-open</slug><duration>0:05</duration><title>Opening remarks day 2</title><abstract></abstract><description>Times are approximate and will probably change.
</description><url>https://emacsconf.org/2021/talks/day2-open</url><persons><person>EmacsConf</person></persons></event><event id="31" guid="35d1d9e4-dfdf-f254-6aab-7a466fbfaf09"><date>2021-11-28T14:07:00Z</date><start>09:07</start><language>en</language><room>Main</room><subtitle></subtitle><type>Talk</type><track>Main</track><slug>emacsconf-2021-talk-faster</slug><duration>0:36</duration><title>Optimizing Emacs Lisp Code</title><abstract></abstract><description>Times are approximate and will probably change.
@@ -84,24 +84,24 @@
</description><url>https://emacsconf.org/2021/talks/form</url><persons><person>Ian Eure</person></persons></event><event id="36" guid="49a35f05-b71f-1d14-2343-a6638bec0d08"><date>2021-11-28T18:19:00Z</date><start>13:19</start><language>en</language><room>Main</room><subtitle></subtitle><type>Talk</type><track>Main</track><slug>emacsconf-2021-talk-bindat</slug><duration>0:30</duration><title>Turbo Bindat</title><abstract></abstract><description>Times are approximate and will probably change.
-</description><url>https://emacsconf.org/2021/talks/bindat</url><persons><person>Stefan Monnier</person></persons></event><event id="37" guid="5e162d34-ea19-8544-b693-dd6da0e885cd"><date>2021-11-28T18:56:00Z</date><start>13:56</start><language>en</language><room>Main</room><subtitle></subtitle><type>Talk</type><track>Main</track><slug>emacsconf-2021-talk-test</slug><duration>0:07</duration><title>Test blocks</title><abstract></abstract><description>Times are approximate and will probably change.
+</description><url>https://emacsconf.org/2021/talks/bindat</url><persons><person>Stefan Monnier</person></persons></event><event id="37" guid="5e162d34-ea19-8544-b693-dd6da0e885cd"><date>2021-11-28T18:55:00Z</date><start>13:55</start><language>en</language><room>Main</room><subtitle></subtitle><type>Talk</type><track>Main</track><slug>emacsconf-2021-talk-test</slug><duration>0:07</duration><title>Test blocks</title><abstract></abstract><description>Times are approximate and will probably change.
-</description><url>https://emacsconf.org/2021/talks/test</url><persons><person>Eduardo Ochs</person></persons></event><event id="42" guid="1407591a-29fd-3f64-1beb-01dea6e9d7d2"><date>2021-11-28T19:05:00Z</date><start>14:05</start><language>en</language><room>Main</room><subtitle></subtitle><type>Talk</type><track>Main</track><slug>emacsconf-2021-talk-bidi</slug><duration>0:20</duration><title>Perso-Arabic Input Methods And Making More Emacs Apps BIDI Aware</title><abstract></abstract><description>Times are approximate and will probably change.
+</description><url>https://emacsconf.org/2021/talks/test</url><persons><person>Eduardo Ochs</person></persons></event><event id="42" guid="1407591a-29fd-3f64-1beb-01dea6e9d7d2"><date>2021-11-28T19:03:00Z</date><start>14:03</start><language>en</language><room>Main</room><subtitle></subtitle><type>Talk</type><track>Main</track><slug>emacsconf-2021-talk-bidi</slug><duration>0:20</duration><title>Perso-Arabic Input Methods And Making More Emacs Apps BIDI Aware</title><abstract></abstract><description>Times are approximate and will probably change.
-</description><url>https://emacsconf.org/2021/talks/bidi</url><persons><person>Mohsen BANAN</person></persons></event><event id="38" guid="e7981936-6d72-93d4-8783-5ac64a0ae5bb"><date>2021-11-28T19:35:00Z</date><start>14:35</start><language>en</language><room>Main</room><subtitle></subtitle><type>Talk</type><track>Main</track><slug>emacsconf-2021-talk-eaf</slug><duration>0:10</duration><title>Emacs Application Framework: A 2021 Update</title><abstract></abstract><description>Times are approximate and will probably change.
+</description><url>https://emacsconf.org/2021/talks/bidi</url><persons><person>Mohsen BANAN</person></persons></event><event id="38" guid="e7981936-6d72-93d4-8783-5ac64a0ae5bb"><date>2021-11-28T19:29:00Z</date><start>14:29</start><language>en</language><room>Main</room><subtitle></subtitle><type>Talk</type><track>Main</track><slug>emacsconf-2021-talk-eaf</slug><duration>0:10</duration><title>Emacs Application Framework: A 2021 Update</title><abstract></abstract><description>Times are approximate and will probably change.
-</description><url>https://emacsconf.org/2021/talks/eaf</url><persons><person>Matthew Zeng</person></persons></event><event id="45" guid="f03ae971-4d2b-ccc4-2643-4ae2391ce1ab"><date>2021-11-28T19:49:00Z</date><start>14:49</start><language>en</language><room>Main</room><subtitle></subtitle><type>Talk</type><track>Main</track><slug>emacsconf-2021-talk-imaginary</slug><duration>0:11</duration><title>Imaginary Programming</title><abstract></abstract><description>Times are approximate and will probably change.
+</description><url>https://emacsconf.org/2021/talks/eaf</url><persons><person>Matthew Zeng</person></persons></event><event id="45" guid="f03ae971-4d2b-ccc4-2643-4ae2391ce1ab"><date>2021-11-28T19:43:00Z</date><start>14:43</start><language>en</language><room>Main</room><subtitle></subtitle><type>Talk</type><track>Main</track><slug>emacsconf-2021-talk-imaginary</slug><duration>0:11</duration><title>Imaginary Programming</title><abstract></abstract><description>Times are approximate and will probably change.
-</description><url>https://emacsconf.org/2021/talks/imaginary</url><persons><person>Shane Mulligan</person></persons></event><event id="44" guid="daf3570b-3df3-9db4-a1f3-ce98d9863717"><date>2021-11-28T20:05:00Z</date><start>15:05</start><language>en</language><room>Main</room><subtitle></subtitle><type>Talk</type><track>Main</track><slug>emacsconf-2021-talk-clede</slug><duration>0:19</duration><title>CLEDE: the Common Lisp Emacs Development Environment</title><abstract></abstract><description>Times are approximate and will probably change.
+</description><url>https://emacsconf.org/2021/talks/imaginary</url><persons><person>Shane Mulligan</person></persons></event><event id="44" guid="daf3570b-3df3-9db4-a1f3-ce98d9863717"><date>2021-11-28T19:59:00Z</date><start>14:59</start><language>en</language><room>Main</room><subtitle></subtitle><type>Talk</type><track>Main</track><slug>emacsconf-2021-talk-clede</slug><duration>0:19</duration><title>CLEDE: the Common Lisp Emacs Development Environment</title><abstract></abstract><description>Times are approximate and will probably change.
-</description><url>https://emacsconf.org/2021/talks/clede</url><persons><person>Fermin MF</person></persons></event><event id="10" guid="51c360e6-188f-9a34-05bb-0a8d2eb09cdc"><date>2021-11-28T20:31:00Z</date><start>15:31</start><language>en</language><room>Main</room><subtitle></subtitle><type>Talk</type><track>Main</track><slug>emacsconf-2021-talk-maintainers</slug><duration>0:10</duration><title>How to help Emacs maintainers?</title><abstract></abstract><description>Times are approximate and will probably change.
+</description><url>https://emacsconf.org/2021/talks/clede</url><persons><person>Fermin MF</person></persons></event><event id="10" guid="51c360e6-188f-9a34-05bb-0a8d2eb09cdc"><date>2021-11-28T20:25:00Z</date><start>15:25</start><language>en</language><room>Main</room><subtitle></subtitle><type>Talk</type><track>Main</track><slug>emacsconf-2021-talk-maintainers</slug><duration>0:10</duration><title>How to help Emacs maintainers?</title><abstract></abstract><description>Times are approximate and will probably change.
</description><url>https://emacsconf.org/2021/talks/maintainers</url><persons><person>Bastien Guerry</person></persons></event><event id="41" guid="51023225-018f-cf24-9d73-3c267907c13e"><date>2021-11-28T20:19:00Z</date><start>15:19</start><language>en</language><room>Main</room><subtitle></subtitle><type>Talk</type><track>Main</track><slug>emacsconf-2021-talk-bug</slug><duration>0:20</duration><title>Let's talk about bug trackers</title><abstract></abstract><description>Times are approximate and will probably change.
-</description><url>https://emacsconf.org/2021/talks/bug</url><persons><person>Bastien Guerry</person></persons></event><event id="46" guid="27595637-b6b9-f764-805b-ff1b7f009006"><date>2021-11-28T20:53:00Z</date><start>15:53</start><language>en</language><room>Main</room><subtitle></subtitle><type>Talk</type><track>Main</track><slug>emacsconf-2021-talk-build</slug><duration>0:17</duration><title>How to build an Emacs</title><abstract></abstract><description>Times are approximate and will probably change.
+</description><url>https://emacsconf.org/2021/talks/bug</url><persons><person>Bastien Guerry</person></persons></event><event id="46" guid="27595637-b6b9-f764-805b-ff1b7f009006"><date>2021-11-28T20:47:00Z</date><start>15:47</start><language>en</language><room>Main</room><subtitle></subtitle><type>Talk</type><track>Main</track><slug>emacsconf-2021-talk-build</slug><duration>0:17</duration><title>How to build an Emacs</title><abstract></abstract><description>Times are approximate and will probably change.
-</description><url>https://emacsconf.org/2021/talks/build</url><persons><person>Fermin MF</person></persons></event><event id="48" guid="80d1ad02-5fe4-03b4-c573-17ea6cdb61aa"><date>2021-11-28T21:17:00Z</date><start>16:17</start><language>en</language><room>Main</room><subtitle></subtitle><type>Talk</type><track>Main</track><slug>emacsconf-2021-talk-forever</slug><duration>0:25</duration><title>M-x Forever: Why Emacs will outlast text editor trends</title><abstract></abstract><description>Times are approximate and will probably change.
+</description><url>https://emacsconf.org/2021/talks/build</url><persons><person>Fermin MF</person></persons></event><event id="48" guid="80d1ad02-5fe4-03b4-c573-17ea6cdb61aa"><date>2021-11-28T21:11:00Z</date><start>16:11</start><language>en</language><room>Main</room><subtitle></subtitle><type>Talk</type><track>Main</track><slug>emacsconf-2021-talk-forever</slug><duration>0:25</duration><title>M-x Forever: Why Emacs will outlast text editor trends</title><abstract></abstract><description>Times are approximate and will probably change.
-</description><url>https://emacsconf.org/2021/talks/forever</url><persons><person>David Wilson (System Crafters)</person></persons></event><event id="49" guid="828e7c62-8430-f1a4-431b-63c308d58688"><date>2021-11-28T22:02:00Z</date><start>17:02</start><language>en</language><room>Main</room><subtitle></subtitle><type>Talk</type><track>Main</track><slug>emacsconf-2021-talk-day2-close</slug><duration>0:10</duration><title>Closing remarks day 2</title><abstract></abstract><description>Times are approximate and will probably change.
+</description><url>https://emacsconf.org/2021/talks/forever</url><persons><person>David Wilson (System Crafters)</person></persons></event><event id="49" guid="828e7c62-8430-f1a4-431b-63c308d58688"><date>2021-11-28T21:56:00Z</date><start>16:56</start><language>en</language><room>Main</room><subtitle></subtitle><type>Talk</type><track>Main</track><slug>emacsconf-2021-talk-day2-close</slug><duration>0:10</duration><title>Closing remarks day 2</title><abstract></abstract><description>Times are approximate and will probably change.
</description><url>https://emacsconf.org/2021/talks/day2-close</url><persons><person>EmacsConf</person></persons></event></room></day></schedule> \ No newline at end of file
diff --git a/2021/emacsconf.ics b/2021/emacsconf.ics
index f219cbf5..cad9dcfb 100644
--- a/2021/emacsconf.ics
+++ b/2021/emacsconf.ics
@@ -13,7 +13,7 @@ UID:dc07efcd-6d79-cfd4-fed3-59c885fe2922
URL:https://emacsconf.org/2021/talks/day1-open
DTSTART:20211127T140000Z
DTEND:20211127T141800Z
-DTSTAMP:20211128T185100Z
+DTSTAMP:20211128T193241Z
DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs
conf.org/2021/talks/day1-open\n
END:VEVENT
@@ -25,7 +25,7 @@ UID:393ba3c2-b2a6-6a84-44eb-872aa333d08d
URL:https://emacsconf.org/2021/talks/news
DTSTART:20211127T141900Z
DTEND:20211127T142400Z
-DTSTAMP:20211128T185100Z
+DTSTAMP:20211128T193241Z
ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Sacha Chua":invalid:nomail
DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs
conf.org/2021/talks/news\n
@@ -39,7 +39,7 @@ UID:06df8309-bd04-eb24-d443-a780c56adc0a
URL:https://emacsconf.org/2021/talks/frownies
DTSTART:20211127T142500Z
DTEND:20211127T144500Z
-DTSTAMP:20211128T185100Z
+DTSTAMP:20211128T193241Z
ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Case Duckworth":invalid:nomail
DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs
conf.org/2021/talks/frownies\n
@@ -52,7 +52,7 @@ UID:db4ccb28-867f-df24-c073-eaca6edad438
URL:https://emacsconf.org/2021/talks/omegat
DTSTART:20211127T145900Z
DTEND:20211127T150900Z
-DTSTAMP:20211128T185100Z
+DTSTAMP:20211128T193241Z
ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Jean-Christophe Helary":invalid:nomail
DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs
conf.org/2021/talks/omegat\n
@@ -66,7 +66,7 @@ UID:ea5bab3c-f31e-68a4-fa23-81ca67fa1990
URL:https://emacsconf.org/2021/talks/unix
DTSTART:20211127T151300Z
DTEND:20211127T152000Z
-DTSTAMP:20211128T185100Z
+DTSTAMP:20211128T193241Z
ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Daniel Rose":invalid:nomail
DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs
conf.org/2021/talks/unix\n
@@ -79,7 +79,7 @@ UID:6fccae45-04b5-5524-662b-fdba87754d06
URL:https://emacsconf.org/2021/talks/montessori
DTSTART:20211127T152500Z
DTEND:20211127T153600Z
-DTSTAMP:20211128T185100Z
+DTSTAMP:20211128T193241Z
ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Grant Shangreaux":invalid:nomail
DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs
conf.org/2021/talks/montessori\n
@@ -92,7 +92,7 @@ UID:fe959e43-441b-ed34-854b-87f6f481f55a
URL:https://emacsconf.org/2021/talks/pattern
DTSTART:20211127T154000Z
DTEND:20211127T160400Z
-DTSTAMP:20211128T185100Z
+DTSTAMP:20211128T193241Z
ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Greta Goetz":invalid:nomail
DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs
conf.org/2021/talks/pattern\n
@@ -105,7 +105,7 @@ UID:48a8580f-52ce-cc84-6a23-1eddf720ae02
URL:https://emacsconf.org/2021/talks/freedom
DTSTART:20211127T160700Z
DTEND:20211127T164600Z
-DTSTAMP:20211128T185100Z
+DTSTAMP:20211128T193241Z
ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Protesilaos Stavrou":invalid:nomail
DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs
conf.org/2021/talks/freedom\n
@@ -118,7 +118,7 @@ UID:525d972d-1e34-bcb4-e9c3-861942549357
URL:https://emacsconf.org/2021/talks/nongnu
DTSTART:20211127T164600Z
DTEND:20211127T165300Z
-DTSTAMP:20211128T185100Z
+DTSTAMP:20211128T193241Z
ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Philip Kaludercic":invalid:nomail
DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs
conf.org/2021/talks/nongnu\n
@@ -132,7 +132,7 @@ UID:245a575a-965a-caa4-8d3b-75f8519c2f3e
URL:https://emacsconf.org/2021/talks/borg
DTSTART:20211127T165500Z
DTEND:20211127T170300Z
-DTSTAMP:20211128T185100Z
+DTSTAMP:20211128T193241Z
ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Dhavan (codingquark)":invalid:nomail
DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs
conf.org/2021/talks/borg\n
@@ -145,7 +145,7 @@ UID:e4bdc2c1-e4b6-67e4-aafb-87ec9aaf846b
URL:https://emacsconf.org/2021/talks/nangulator
DTSTART:20211127T170300Z
DTEND:20211127T171300Z
-DTSTAMP:20211128T185100Z
+DTSTAMP:20211128T193241Z
ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Kevin Haddock":invalid:nomail
DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs
conf.org/2021/talks/nangulator\n
@@ -158,7 +158,7 @@ UID:716d913f-de8b-91a4-5f33-e04ba0905fa5
URL:https://emacsconf.org/2021/talks/gregorian
DTSTART:20211127T171400Z
DTEND:20211127T172300Z
-DTSTAMP:20211128T185100Z
+DTSTAMP:20211128T193241Z
ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Spencer King":invalid:nomail
DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs
conf.org/2021/talks/gregorian\n
@@ -171,7 +171,7 @@ UID:86158391-53a2-7cb4-d7d3-020afbf6d8d9
URL:https://emacsconf.org/2021/talks/telega
DTSTART:20211127T180100Z
DTEND:20211127T180900Z
-DTSTAMP:20211128T185100Z
+DTSTAMP:20211128T193241Z
ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Gabriele Bozzola":invalid:nomail
DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs
conf.org/2021/talks/telega\n
@@ -184,7 +184,7 @@ UID:14ab7a54-d75d-45e4-85ab-8fd2e391ea41
URL:https://emacsconf.org/2021/talks/janitor
DTSTART:20211127T181000Z
DTEND:20211127T183600Z
-DTSTAMP:20211128T185100Z
+DTSTAMP:20211128T193241Z
ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Stefan Monnier":invalid:nomail
DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs
conf.org/2021/talks/janitor\n
@@ -199,7 +199,7 @@ UID:9cee7e43-bcb1-7f64-c40b-5f9ea938d11a
URL:https://emacsconf.org/2021/talks/erg
DTSTART:20211127T185100Z
DTEND:20211127T190200Z
-DTSTAMP:20211128T185100Z
+DTSTAMP:20211128T193241Z
ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Noorah Alhasan":invalid:nomail
ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Joe Corneli":invalid:nomail
ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Raymond Puzio":invalid:nomail
@@ -215,7 +215,7 @@ UID:0f98a5bb-53ce-fb74-1003-0b1f320d414e
URL:https://emacsconf.org/2021/talks/cs
DTSTART:20211127T190300Z
DTEND:20211127T191300Z
-DTSTAMP:20211128T185100Z
+DTSTAMP:20211128T193241Z
ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Greg Coladonato":invalid:nomail
DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs
conf.org/2021/talks/cs\n
@@ -229,7 +229,7 @@ UID:43cc5db4-e26f-fb44-9aeb-b16c38d8cef3
URL:https://emacsconf.org/2021/talks/professional
DTSTART:20211127T191500Z
DTEND:20211127T192600Z
-DTSTAMP:20211128T185100Z
+DTSTAMP:20211128T193241Z
ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Philip Beadling":invalid:nomail
DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs
conf.org/2021/talks/professional\n
@@ -243,7 +243,7 @@ UID:a10ce62e-6454-d784-21bb-f6a0488e883c
URL:https://emacsconf.org/2021/talks/tech
DTSTART:20211127T192600Z
DTEND:20211127T193700Z
-DTSTAMP:20211128T185100Z
+DTSTAMP:20211128T193241Z
ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Jan Ypma":invalid:nomail
DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs
conf.org/2021/talks/tech\n
@@ -256,7 +256,7 @@ UID:b092bc88-e74c-a9c4-611b-d47c99ef578c
URL:https://emacsconf.org/2021/talks/exec
DTSTART:20211127T193800Z
DTEND:20211127T194600Z
-DTSTAMP:20211128T185100Z
+DTSTAMP:20211128T193241Z
ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Tom Gillespie":invalid:nomail
DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs
conf.org/2021/talks/exec\n
@@ -269,7 +269,7 @@ UID:69763d57-be4e-7e74-509b-92e48a0e7ba6
URL:https://emacsconf.org/2021/talks/org-outside
DTSTART:20211127T194600Z
DTEND:20211127T195900Z
-DTSTAMP:20211128T185100Z
+DTSTAMP:20211128T193241Z
ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Karl Voit":invalid:nomail
DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs
conf.org/2021/talks/org-outside\n
@@ -282,7 +282,7 @@ UID:aed5e190-66a0-3dd4-e5eb-be09be94e6c3
URL:https://emacsconf.org/2021/talks/teach
DTSTART:20211127T200000Z
DTEND:20211127T202100Z
-DTSTAMP:20211128T185100Z
+DTSTAMP:20211128T193241Z
ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Daniel German":invalid:nomail
DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs
conf.org/2021/talks/teach\n
@@ -295,7 +295,7 @@ UID:db5821ed-fef4-4934-8fb3-87a0282714de
URL:https://emacsconf.org/2021/talks/babel
DTSTART:20211127T202100Z
DTEND:20211127T203100Z
-DTSTAMP:20211128T185100Z
+DTSTAMP:20211128T193241Z
ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Asilata Bapat":invalid:nomail
DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs
conf.org/2021/talks/babel\n
@@ -309,7 +309,7 @@ UID:fd246cee-b5d6-7cc4-2b63-20e87bb7d750
URL:https://emacsconf.org/2021/talks/research
DTSTART:20211127T203300Z
DTEND:20211127T204200Z
-DTSTAMP:20211128T185100Z
+DTSTAMP:20211128T193241Z
ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Ahmed Khaled":invalid:nomail
DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs
conf.org/2021/talks/research\n
@@ -322,7 +322,7 @@ UID:1fc4917c-aab4-1924-2983-e78f8bca6af9
URL:https://emacsconf.org/2021/talks/molecular
DTSTART:20211127T204200Z
DTEND:20211127T205100Z
-DTSTAMP:20211128T185100Z
+DTSTAMP:20211128T193241Z
ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Blaine Mooers":invalid:nomail
DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs
conf.org/2021/talks/molecular\n
@@ -335,7 +335,7 @@ UID:c9870e10-2600-85a4-24fb-793dfc51164e
URL:https://emacsconf.org/2021/talks/invoice
DTSTART:20211127T205300Z
DTEND:20211127T210300Z
-DTSTAMP:20211128T185100Z
+DTSTAMP:20211128T193241Z
ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Bala Ramadurai":invalid:nomail
DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs
conf.org/2021/talks/invoice\n
@@ -349,7 +349,7 @@ UID:c54c7930-51cc-5184-9dfb-5033e577b95e
URL:https://emacsconf.org/2021/talks/project
DTSTART:20211127T210300Z
DTEND:20211127T211300Z
-DTSTAMP:20211128T185100Z
+DTSTAMP:20211128T193241Z
ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Adolfo Villafiorita":invalid:nomail
DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs
conf.org/2021/talks/project\n
@@ -362,7 +362,7 @@ UID:e4e995c0-6e06-8544-a8c3-5f9a06c856fb
URL:https://emacsconf.org/2021/talks/dashboard
DTSTART:20211127T211400Z
DTEND:20211127T212300Z
-DTSTAMP:20211128T185100Z
+DTSTAMP:20211128T193241Z
ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Mehmet Tekman":invalid:nomail
DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs
conf.org/2021/talks/dashboard\n
@@ -376,7 +376,7 @@ UID:33776e08-e815-db94-971b-a151236e11be
URL:https://emacsconf.org/2021/talks/nyxt
DTSTART:20211127T212600Z
DTEND:20211127T213500Z
-DTSTAMP:20211128T185100Z
+DTSTAMP:20211128T193241Z
ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Andrea":invalid:nomail
DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs
conf.org/2021/talks/nyxt\n
@@ -389,7 +389,7 @@ UID:59e4daca-1e46-9054-9573-9c91966d6987
URL:https://emacsconf.org/2021/talks/dev-update
DTSTART:20211127T214100Z
DTEND:20211127T214900Z
-DTSTAMP:20211128T185100Z
+DTSTAMP:20211128T193241Z
ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="John Wiegley":invalid:nomail
DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs
conf.org/2021/talks/dev-update\n
@@ -402,7 +402,7 @@ UID:86d4470a-8d19-7bd4-0c53-6aba1b49baef
URL:https://emacsconf.org/2021/talks/design
DTSTART:20211127T214900Z
DTEND:20211127T215600Z
-DTSTAMP:20211128T185100Z
+DTSTAMP:20211128T193241Z
ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Nicolas P. Rougier":invalid:nomail
DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs
conf.org/2021/talks/design\n
@@ -415,7 +415,7 @@ UID:5287b003-f368-36c4-4f9b-8135734cad39
URL:https://emacsconf.org/2021/talks/day1-close
DTSTART:20211127T220000Z
DTEND:20211127T220500Z
-DTSTAMP:20211128T185100Z
+DTSTAMP:20211128T193241Z
DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs
conf.org/2021/talks/day1-close\n
END:VEVENT
@@ -427,7 +427,7 @@ UID:d877a57a-14cf-a194-99c3-a344ecb24acc
URL:https://emacsconf.org/2021/talks/day2-open
DTSTART:20211128T140000Z
DTEND:20211128T140500Z
-DTSTAMP:20211128T185100Z
+DTSTAMP:20211128T193241Z
DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs
conf.org/2021/talks/day2-open\n
END:VEVENT
@@ -439,7 +439,7 @@ UID:35d1d9e4-dfdf-f254-6aab-7a466fbfaf09
URL:https://emacsconf.org/2021/talks/faster
DTSTART:20211128T140700Z
DTEND:20211128T144300Z
-DTSTAMP:20211128T185100Z
+DTSTAMP:20211128T193241Z
ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Dmitry Gutov":invalid:nomail
DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs
conf.org/2021/talks/faster\n
@@ -453,7 +453,7 @@ UID:599ef3fa-4c73-6c94-4953-75bbc7830681
URL:https://emacsconf.org/2021/talks/structural
DTSTART:20211128T150000Z
DTEND:20211128T151100Z
-DTSTAMP:20211128T185100Z
+DTSTAMP:20211128T193241Z
ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Ethan Leba":invalid:nomail
DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs
conf.org/2021/talks/structural\n
@@ -466,7 +466,7 @@ UID:8f62e571-91da-bd14-e7c3-b445c7b19d23
URL:https://emacsconf.org/2021/talks/ui
DTSTART:20211128T151900Z
DTEND:20211128T152900Z
-DTSTAMP:20211128T185100Z
+DTSTAMP:20211128T193241Z
ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Erik Anderson":invalid:nomail
DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs
conf.org/2021/talks/ui\n
@@ -479,7 +479,7 @@ UID:3364aedb-a496-5c64-5383-b0080afa6d7b
URL:https://emacsconf.org/2021/talks/mold
DTSTART:20211128T153800Z
DTEND:20211128T154800Z
-DTSTAMP:20211128T185100Z
+DTSTAMP:20211128T193241Z
ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Andrea":invalid:nomail
DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs
conf.org/2021/talks/mold\n
@@ -493,7 +493,7 @@ UID:5e1baaaf-56a3-b5b4-31cb-5437cf465cf9
URL:https://emacsconf.org/2021/talks/model
DTSTART:20211128T154900Z
DTEND:20211128T155900Z
-DTSTAMP:20211128T185100Z
+DTSTAMP:20211128T193241Z
ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Laszlo Krajnikovszkij":invalid:nomail
DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs
conf.org/2021/talks/model\n
@@ -507,7 +507,7 @@ UID:1ddbe380-b4f3-2b84-3cc3-9e799536db8e
URL:https://emacsconf.org/2021/talks/native
DTSTART:20211128T160000Z
DTEND:20211128T164000Z
-DTSTAMP:20211128T185100Z
+DTSTAMP:20211128T193241Z
ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Andrea Corallo":invalid:nomail
DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs
conf.org/2021/talks/native\n
@@ -520,7 +520,7 @@ UID:5947c3e9-93c1-1014-7ffb-aa0e0097e3e4
URL:https://emacsconf.org/2021/talks/form
DTSTART:20211128T180100Z
DTEND:20211128T181400Z
-DTSTAMP:20211128T185100Z
+DTSTAMP:20211128T193241Z
ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Ian Eure":invalid:nomail
DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs
conf.org/2021/talks/form\n
@@ -533,7 +533,7 @@ UID:49a35f05-b71f-1d14-2343-a6638bec0d08
URL:https://emacsconf.org/2021/talks/bindat
DTSTART:20211128T181900Z
DTEND:20211128T184900Z
-DTSTAMP:20211128T185100Z
+DTSTAMP:20211128T193241Z
ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Stefan Monnier":invalid:nomail
DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs
conf.org/2021/talks/bindat\n
@@ -544,9 +544,9 @@ ORGANIZER:EmacsConf
LOCATION:https://emacsconf.org/
UID:5e162d34-ea19-8544-b693-dd6da0e885cd
URL:https://emacsconf.org/2021/talks/test
-DTSTART:20211128T185600Z
-DTEND:20211128T190300Z
-DTSTAMP:20211128T185100Z
+DTSTART:20211128T185500Z
+DTEND:20211128T190200Z
+DTSTAMP:20211128T193241Z
ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Eduardo Ochs":invalid:nomail
DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs
conf.org/2021/talks/test\n
@@ -558,9 +558,9 @@ ORGANIZER:EmacsConf
LOCATION:https://emacsconf.org/
UID:1407591a-29fd-3f64-1beb-01dea6e9d7d2
URL:https://emacsconf.org/2021/talks/bidi
-DTSTART:20211128T190500Z
-DTEND:20211128T192500Z
-DTSTAMP:20211128T185100Z
+DTSTART:20211128T190300Z
+DTEND:20211128T192300Z
+DTSTAMP:20211128T193241Z
ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Mohsen BANAN":invalid:nomail
DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs
conf.org/2021/talks/bidi\n
@@ -571,9 +571,9 @@ ORGANIZER:EmacsConf
LOCATION:https://emacsconf.org/
UID:e7981936-6d72-93d4-8783-5ac64a0ae5bb
URL:https://emacsconf.org/2021/talks/eaf
-DTSTART:20211128T193500Z
-DTEND:20211128T194500Z
-DTSTAMP:20211128T185100Z
+DTSTART:20211128T192900Z
+DTEND:20211128T193900Z
+DTSTAMP:20211128T193241Z
ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Matthew Zeng":invalid:nomail
DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs
conf.org/2021/talks/eaf\n
@@ -584,9 +584,9 @@ ORGANIZER:EmacsConf
LOCATION:https://emacsconf.org/
UID:f03ae971-4d2b-ccc4-2643-4ae2391ce1ab
URL:https://emacsconf.org/2021/talks/imaginary
-DTSTART:20211128T194900Z
-DTEND:20211128T200000Z
-DTSTAMP:20211128T185100Z
+DTSTART:20211128T194300Z
+DTEND:20211128T195400Z
+DTSTAMP:20211128T193241Z
ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Shane Mulligan":invalid:nomail
DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs
conf.org/2021/talks/imaginary\n
@@ -597,9 +597,9 @@ ORGANIZER:EmacsConf
LOCATION:https://emacsconf.org/
UID:daf3570b-3df3-9db4-a1f3-ce98d9863717
URL:https://emacsconf.org/2021/talks/clede
-DTSTART:20211128T200500Z
-DTEND:20211128T202400Z
-DTSTAMP:20211128T185100Z
+DTSTART:20211128T195900Z
+DTEND:20211128T201800Z
+DTSTAMP:20211128T193241Z
ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Fermin MF":invalid:nomail
DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs
conf.org/2021/talks/clede\n
@@ -610,9 +610,9 @@ ORGANIZER:EmacsConf
LOCATION:https://emacsconf.org/
UID:51c360e6-188f-9a34-05bb-0a8d2eb09cdc
URL:https://emacsconf.org/2021/talks/maintainers
-DTSTART:20211128T203100Z
-DTEND:20211128T204100Z
-DTSTAMP:20211128T185100Z
+DTSTART:20211128T202500Z
+DTEND:20211128T203500Z
+DTSTAMP:20211128T193241Z
ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Bastien Guerry":invalid:nomail
DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs
conf.org/2021/talks/maintainers\n
@@ -623,9 +623,9 @@ ORGANIZER:EmacsConf
LOCATION:https://emacsconf.org/
UID:27595637-b6b9-f764-805b-ff1b7f009006
URL:https://emacsconf.org/2021/talks/build
-DTSTART:20211128T205300Z
-DTEND:20211128T211000Z
-DTSTAMP:20211128T185100Z
+DTSTART:20211128T204700Z
+DTEND:20211128T210400Z
+DTSTAMP:20211128T193241Z
ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Fermin MF":invalid:nomail
DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs
conf.org/2021/talks/build\n
@@ -637,9 +637,9 @@ ORGANIZER:EmacsConf
LOCATION:https://emacsconf.org/
UID:80d1ad02-5fe4-03b4-c573-17ea6cdb61aa
URL:https://emacsconf.org/2021/talks/forever
-DTSTART:20211128T211700Z
-DTEND:20211128T214200Z
-DTSTAMP:20211128T185100Z
+DTSTART:20211128T211100Z
+DTEND:20211128T213600Z
+DTSTAMP:20211128T193241Z
ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="David Wilson (System Crafters)":invalid:nomail
DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs
conf.org/2021/talks/forever\n
@@ -650,9 +650,9 @@ ORGANIZER:EmacsConf
LOCATION:https://emacsconf.org/
UID:828e7c62-8430-f1a4-431b-63c308d58688
URL:https://emacsconf.org/2021/talks/day2-close
-DTSTART:20211128T220200Z
-DTEND:20211128T221200Z
-DTSTAMP:20211128T185100Z
+DTSTART:20211128T215600Z
+DTEND:20211128T220600Z
+DTSTAMP:20211128T193241Z
DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs
conf.org/2021/talks/day2-close\n
END:VEVENT
diff --git a/2021/info/build-schedule.md b/2021/info/build-schedule.md
index cbf553a6..7414c060 100644
--- a/2021/info/build-schedule.md
+++ b/2021/info/build-schedule.md
@@ -3,7 +3,7 @@
Q&A: live
Status: Prerecorded video received, waiting for captions
Duration: 16:54
-<div class="times" start="2021-11-28T20:53:00Z" end="2021-11-28T21:10:00Z">Sunday, Nov 28 2021, ~ 3:53 PM - 4:10 PM EST<br />Sunday, Nov 28 2021, ~12:53 PM - 1:10 PM PST<br />Sunday, Nov 28 2021, ~ 8:53 PM - 9:10 PM UTC<br />Sunday, Nov 28 2021, ~ 9:53 PM - 10:10 PM CET<br />Sunday, Nov 28 2021, ~10:53 PM - 11:10 PM EET<br />Monday, Nov 29 2021, ~ 2:23 AM - 2:40 AM IST<br />Monday, Nov 29 2021, ~ 4:53 AM - 5:10 AM +08<br />Monday, Nov 29 2021, ~ 5:53 AM - 6:10 AM JST<br /><a href="/2021/">Find out how to watch and participate</a></div>
+<div class="times" start="2021-11-28T20:47:00Z" end="2021-11-28T21:04:00Z">Sunday, Nov 28 2021, ~ 3:47 PM - 4:04 PM EST<br />Sunday, Nov 28 2021, ~12:47 PM - 1:04 PM PST<br />Sunday, Nov 28 2021, ~ 8:47 PM - 9:04 PM UTC<br />Sunday, Nov 28 2021, ~ 9:47 PM - 10:04 PM CET<br />Sunday, Nov 28 2021, ~10:47 PM - 11:04 PM EET<br />Monday, Nov 29 2021, ~ 2:17 AM - 2:34 AM IST<br />Monday, Nov 29 2021, ~ 4:47 AM - 5:04 AM +08<br />Monday, Nov 29 2021, ~ 5:47 AM - 6:04 AM JST<br /><a href="/2021/">Find out how to watch and participate</a></div>
If you have questions and the speaker has not indicated public contact information on this page, please feel free to e-mail us at <emacsconf-submit@gnu.org> and we'll forward your question to the speaker.
diff --git a/2021/info/clede-schedule.md b/2021/info/clede-schedule.md
index 8123abaf..4460c6ef 100644
--- a/2021/info/clede-schedule.md
+++ b/2021/info/clede-schedule.md
@@ -3,7 +3,7 @@
Q&A: live
Status: Prerecorded video received, waiting for captions
Duration: 18:55
-<div class="times" start="2021-11-28T20:05:00Z" end="2021-11-28T20:24:00Z">Sunday, Nov 28 2021, ~ 3:05 PM - 3:24 PM EST<br />Sunday, Nov 28 2021, ~12:05 PM - 12:24 PM PST<br />Sunday, Nov 28 2021, ~ 8:05 PM - 8:24 PM UTC<br />Sunday, Nov 28 2021, ~ 9:05 PM - 9:24 PM CET<br />Sunday, Nov 28 2021, ~10:05 PM - 10:24 PM EET<br />Monday, Nov 29 2021, ~ 1:35 AM - 1:54 AM IST<br />Monday, Nov 29 2021, ~ 4:05 AM - 4:24 AM +08<br />Monday, Nov 29 2021, ~ 5:05 AM - 5:24 AM JST<br /><a href="/2021/">Find out how to watch and participate</a></div>
+<div class="times" start="2021-11-28T19:59:00Z" end="2021-11-28T20:18:00Z">Sunday, Nov 28 2021, ~ 2:59 PM - 3:18 PM EST<br />Sunday, Nov 28 2021, ~11:59 AM - 12:18 PM PST<br />Sunday, Nov 28 2021, ~ 7:59 PM - 8:18 PM UTC<br />Sunday, Nov 28 2021, ~ 8:59 PM - 9:18 PM CET<br />Sunday, Nov 28 2021, ~ 9:59 PM - 10:18 PM EET<br />Monday, Nov 29 2021, ~ 1:29 AM - 1:48 AM IST<br />Monday, Nov 29 2021, ~ 3:59 AM - 4:18 AM +08<br />Monday, Nov 29 2021, ~ 4:59 AM - 5:18 AM JST<br /><a href="/2021/">Find out how to watch and participate</a></div>
If you have questions and the speaker has not indicated public contact information on this page, please feel free to e-mail us at <emacsconf-submit@gnu.org> and we'll forward your question to the speaker.
diff --git a/2021/info/day2-close-schedule.md b/2021/info/day2-close-schedule.md
index c0f98e64..c39d4c6e 100644
--- a/2021/info/day2-close-schedule.md
+++ b/2021/info/day2-close-schedule.md
@@ -2,7 +2,7 @@
Status: Will be live
Duration: 10 minutes
-<div class="times" start="2021-11-28T22:02:00Z" end="2021-11-28T22:12:00Z">Sunday, Nov 28 2021, ~ 5:02 PM - 5:12 PM EST<br />Sunday, Nov 28 2021, ~ 2:02 PM - 2:12 PM PST<br />Sunday, Nov 28 2021, ~10:02 PM - 10:12 PM UTC<br />Sunday, Nov 28 2021, ~11:02 PM - 11:12 PM CET<br />Monday, Nov 29 2021, ~12:02 AM - 12:12 AM EET<br />Monday, Nov 29 2021, ~ 3:32 AM - 3:42 AM IST<br />Monday, Nov 29 2021, ~ 6:02 AM - 6:12 AM +08<br />Monday, Nov 29 2021, ~ 7:02 AM - 7:12 AM JST<br /><a href="/2021/">Find out how to watch and participate</a></div>
+<div class="times" start="2021-11-28T21:56:00Z" end="2021-11-28T22:06:00Z">Sunday, Nov 28 2021, ~ 4:56 PM - 5:06 PM EST<br />Sunday, Nov 28 2021, ~ 1:56 PM - 2:06 PM PST<br />Sunday, Nov 28 2021, ~ 9:56 PM - 10:06 PM UTC<br />Sunday, Nov 28 2021, ~10:56 PM - 11:06 PM CET<br />Sunday, Nov 28 2021, ~11:56 PM - 12:06 AM EET<br />Monday, Nov 29 2021, ~ 3:26 AM - 3:36 AM IST<br />Monday, Nov 29 2021, ~ 5:56 AM - 6:06 AM +08<br />Monday, Nov 29 2021, ~ 6:56 AM - 7:06 AM JST<br /><a href="/2021/">Find out how to watch and participate</a></div>
If you have questions and the speaker has not indicated public contact information on this page, please feel free to e-mail us at <emacsconf-submit@gnu.org> and we'll forward your question to the speaker.
diff --git a/2021/info/eaf-schedule.md b/2021/info/eaf-schedule.md
index 215e3390..317bfa3f 100644
--- a/2021/info/eaf-schedule.md
+++ b/2021/info/eaf-schedule.md
@@ -1,7 +1,7 @@
<!-- Automatically generated by conf-create-info-pages -->
Q&A: IRC or Etherpad
-Status: Now playing
+Status: Finished
Duration: 9:15
diff --git a/2021/info/forever-schedule.md b/2021/info/forever-schedule.md
index d3552275..69c8c7c8 100644
--- a/2021/info/forever-schedule.md
+++ b/2021/info/forever-schedule.md
@@ -3,7 +3,7 @@
Q&A: live
Status: Captions added to video
Duration: 24:52
-<div class="times" start="2021-11-28T21:17:00Z" end="2021-11-28T21:42:00Z">Sunday, Nov 28 2021, ~ 4:17 PM - 4:42 PM EST<br />Sunday, Nov 28 2021, ~ 1:17 PM - 1:42 PM PST<br />Sunday, Nov 28 2021, ~ 9:17 PM - 9:42 PM UTC<br />Sunday, Nov 28 2021, ~10:17 PM - 10:42 PM CET<br />Sunday, Nov 28 2021, ~11:17 PM - 11:42 PM EET<br />Monday, Nov 29 2021, ~ 2:47 AM - 3:12 AM IST<br />Monday, Nov 29 2021, ~ 5:17 AM - 5:42 AM +08<br />Monday, Nov 29 2021, ~ 6:17 AM - 6:42 AM JST<br /><a href="/2021/">Find out how to watch and participate</a></div>
+<div class="times" start="2021-11-28T21:11:00Z" end="2021-11-28T21:36:00Z">Sunday, Nov 28 2021, ~ 4:11 PM - 4:36 PM EST<br />Sunday, Nov 28 2021, ~ 1:11 PM - 1:36 PM PST<br />Sunday, Nov 28 2021, ~ 9:11 PM - 9:36 PM UTC<br />Sunday, Nov 28 2021, ~10:11 PM - 10:36 PM CET<br />Sunday, Nov 28 2021, ~11:11 PM - 11:36 PM EET<br />Monday, Nov 29 2021, ~ 2:41 AM - 3:06 AM IST<br />Monday, Nov 29 2021, ~ 5:11 AM - 5:36 AM +08<br />Monday, Nov 29 2021, ~ 6:11 AM - 6:36 AM JST<br /><a href="/2021/">Find out how to watch and participate</a></div>
If you have questions and the speaker has not indicated public contact information on this page, please feel free to e-mail us at <emacsconf-submit@gnu.org> and we'll forward your question to the speaker.
diff --git a/2021/info/imaginary-schedule.md b/2021/info/imaginary-schedule.md
index dec7171d..b34f8425 100644
--- a/2021/info/imaginary-schedule.md
+++ b/2021/info/imaginary-schedule.md
@@ -1,13 +1,17 @@
<!-- Automatically generated by conf-create-info-pages -->
Q&A: live Q&A or IRC
-Status: Captions added to video
+Status: Now playing
Duration: 10:17
-<div class="times" start="2021-11-28T19:49:00Z" end="2021-11-28T20:00:00Z">Sunday, Nov 28 2021, ~ 2:49 PM - 3:00 PM EST<br />Sunday, Nov 28 2021, ~11:49 AM - 12:00 PM PST<br />Sunday, Nov 28 2021, ~ 7:49 PM - 8:00 PM UTC<br />Sunday, Nov 28 2021, ~ 8:49 PM - 9:00 PM CET<br />Sunday, Nov 28 2021, ~ 9:49 PM - 10:00 PM EET<br />Monday, Nov 29 2021, ~ 1:19 AM - 1:30 AM IST<br />Monday, Nov 29 2021, ~ 3:49 AM - 4:00 AM +08<br />Monday, Nov 29 2021, ~ 4:49 AM - 5:00 AM JST<br /><a href="/2021/">Find out how to watch and participate</a></div>
-If you have questions and the speaker has not indicated public contact information on this page, please feel free to e-mail us at <emacsconf-submit@gnu.org> and we'll forward your question to the speaker.
+If you have questions and the speaker has not indicated public contact information on this page, please feel free to e-mail us at <emacsconf-submit@gnu.org> and we'll forward your question to the speaker.
+<div class="mainVideo"><div class="video-card vid" data-id="mainVideo"><figure><video controls preload="metadata" id="mainVideo">
+<source src="https://media.emacsconf.org/2021/emacsconf-2021-imaginary--imaginary-programming--shane-mulligan--main.webm"><track label="English" kind="captions" srclang="en" src="/2021/captions/emacsconf-2021-imaginary--imaginary-programming--shane-mulligan--main.vtt" default>
+</video></figure>
+<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2021/emacsconf-2021-imaginary--imaginary-programming--shane-mulligan--main.webm">Download .webm video (10:17, 19.5MB)</a></li><li><a href="https://media.emacsconf.org/2021/emacsconf-2021-imaginary--imaginary-programming--shane-mulligan.pdf">Download .pdf</a></li><li><a href="https://media.emacsconf.org/2021/emacsconf-2021-imaginary--imaginary-programming--shane-mulligan--main.vtt">Download --main.vtt</a></li><li><a href="https://toobnix.org/w/3ydn2davFQZPoiwB78KZWm">View on Toobnix</a></li></ul></div></div>
+</div>
# Description
diff --git a/2021/info/maintainers-schedule.md b/2021/info/maintainers-schedule.md
index ddd6b672..9d188f6b 100644
--- a/2021/info/maintainers-schedule.md
+++ b/2021/info/maintainers-schedule.md
@@ -3,7 +3,7 @@
Q&A: live
Status: Captions added to video
Duration: 10 minutes
-<div class="times" start="2021-11-28T20:31:00Z" end="2021-11-28T20:41:00Z">Sunday, Nov 28 2021, ~ 3:31 PM - 3:41 PM EST<br />Sunday, Nov 28 2021, ~12:31 PM - 12:41 PM PST<br />Sunday, Nov 28 2021, ~ 8:31 PM - 8:41 PM UTC<br />Sunday, Nov 28 2021, ~ 9:31 PM - 9:41 PM CET<br />Sunday, Nov 28 2021, ~10:31 PM - 10:41 PM EET<br />Monday, Nov 29 2021, ~ 2:01 AM - 2:11 AM IST<br />Monday, Nov 29 2021, ~ 4:31 AM - 4:41 AM +08<br />Monday, Nov 29 2021, ~ 5:31 AM - 5:41 AM JST<br /><a href="/2021/">Find out how to watch and participate</a></div>
+<div class="times" start="2021-11-28T20:25:00Z" end="2021-11-28T20:35:00Z">Sunday, Nov 28 2021, ~ 3:25 PM - 3:35 PM EST<br />Sunday, Nov 28 2021, ~12:25 PM - 12:35 PM PST<br />Sunday, Nov 28 2021, ~ 8:25 PM - 8:35 PM UTC<br />Sunday, Nov 28 2021, ~ 9:25 PM - 9:35 PM CET<br />Sunday, Nov 28 2021, ~10:25 PM - 10:35 PM EET<br />Monday, Nov 29 2021, ~ 1:55 AM - 2:05 AM IST<br />Monday, Nov 29 2021, ~ 4:25 AM - 4:35 AM +08<br />Monday, Nov 29 2021, ~ 5:25 AM - 5:35 AM JST<br /><a href="/2021/">Find out how to watch and participate</a></div>
If you have questions and the speaker has not indicated public contact information on this page, please feel free to e-mail us at <emacsconf-submit@gnu.org> and we'll forward your question to the speaker.
diff --git a/2021/schedule-details.md b/2021/schedule-details.md
index 731db3c4..402f40ec 100644
--- a/2021/schedule-details.md
+++ b/2021/schedule-details.md
@@ -46,13 +46,13 @@
<tr><td>done</td><td width=100>~ 1:19 PM</td><td><a href="/2021/talks/bindat">Turbo Bindat</a></td><td>Stefan Monnier</td></tr>
<tr><td>done</td><td width=100>~ 1:55 PM</td><td><a href="/2021/talks/test">Test blocks</a></td><td>Eduardo Ochs</td></tr>
<tr><td>done</td><td width=100>~ 2:03 PM</td><td><a href="/2021/talks/bidi">Perso-Arabic Input Methods And Making More Emacs Apps BIDI Aware</a></td><td>Mohsen BANAN</td></tr>
-<tr><td>now playing</td><td width=100>~ 2:29 PM</td><td><a href="/2021/talks/eaf">Emacs Application Framework: A 2021 Update</a></td><td>Matthew Zeng</td></tr>
-<tr><td>captioned</td><td width=100>~ 2:49 PM</td><td><a href="/2021/talks/imaginary">Imaginary Programming</a></td><td>Shane Mulligan</td></tr>
-<tr><td>received</td><td width=100>~ 3:05 PM</td><td><a href="/2021/talks/clede">CLEDE: the Common Lisp Emacs Development Environment</a></td><td>Fermin MF</td></tr>
-<tr><td>captioned</td><td width=100>~ 3:31 PM</td><td><a href="/2021/talks/maintainers">How to help Emacs maintainers?</a></td><td>Bastien Guerry</td></tr>
-<tr><td>received</td><td width=100>~ 3:53 PM</td><td><a href="/2021/talks/build">How to build an Emacs</a></td><td>Fermin MF</td></tr>
-<tr><td>captioned</td><td width=100>~ 4:17 PM</td><td><a href="/2021/talks/forever">M-x Forever: Why Emacs will outlast text editor trends</a></td><td>David Wilson (System Crafters)</td></tr>
-<tr><td></td><td width=100>~ 5:02 PM</td><td><a href="/2021/talks/day2-close">Closing remarks day 2</a></td><td></td></tr></table><div class="cancelled">Cancelled:<ul><li><a href="/2021/talks/dsl">Self-Describing Smart DSL's: The Next Magits</a> - Psionic</li>
+<tr><td>done</td><td width=100>~ 2:29 PM</td><td><a href="/2021/talks/eaf">Emacs Application Framework: A 2021 Update</a></td><td>Matthew Zeng</td></tr>
+<tr><td>now playing</td><td width=100>~ 2:39 PM</td><td><a href="/2021/talks/imaginary">Imaginary Programming</a></td><td>Shane Mulligan</td></tr>
+<tr><td>received</td><td width=100>~ 2:59 PM</td><td><a href="/2021/talks/clede">CLEDE: the Common Lisp Emacs Development Environment</a></td><td>Fermin MF</td></tr>
+<tr><td>captioned</td><td width=100>~ 3:25 PM</td><td><a href="/2021/talks/maintainers">How to help Emacs maintainers?</a></td><td>Bastien Guerry</td></tr>
+<tr><td>received</td><td width=100>~ 3:47 PM</td><td><a href="/2021/talks/build">How to build an Emacs</a></td><td>Fermin MF</td></tr>
+<tr><td>captioned</td><td width=100>~ 4:11 PM</td><td><a href="/2021/talks/forever">M-x Forever: Why Emacs will outlast text editor trends</a></td><td>David Wilson (System Crafters)</td></tr>
+<tr><td></td><td width=100>~ 4:56 PM</td><td><a href="/2021/talks/day2-close">Closing remarks day 2</a></td><td></td></tr></table><div class="cancelled">Cancelled:<ul><li><a href="/2021/talks/dsl">Self-Describing Smart DSL's: The Next Magits</a> - Psionic</li>
<li><a href="/2021/talks/devel">Don't write that package! or: How I learned to stop worrying and love emacs-devel</a> - Stefan Kangas</li>
<li><a href="/2021/talks/rust">Extending Emacs in Rust with Dynamic Modules</a> - Tuấn-Anh Nguyễn</li>
<li><a href="/2021/talks/bug">Let's talk about bug trackers</a> - Bastien Guerry</li></ul></div> \ No newline at end of file