summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--2021/captions/emacsconf-2021-teach--using-org-mode-to-teach-programming--daniel-german--main.vtt1663
-rw-r--r--2021/emacsconf-pentabarf.xml26
-rw-r--r--2021/emacsconf.ics166
-rw-r--r--2021/info/babel-nav.md4
-rw-r--r--2021/info/babel-schedule.md2
-rw-r--r--2021/info/dashboard-schedule.md2
-rw-r--r--2021/info/day1-close-schedule.md2
-rw-r--r--2021/info/design-schedule.md2
-rw-r--r--2021/info/dev-update-schedule.md2
-rw-r--r--2021/info/invoice-schedule.md2
-rw-r--r--2021/info/molecular-nav.md2
-rw-r--r--2021/info/molecular-schedule.md2
-rw-r--r--2021/info/nyxt-schedule.md2
-rw-r--r--2021/info/org-outside-schedule.md2
-rw-r--r--2021/info/project-schedule.md2
-rw-r--r--2021/info/research-nav.md4
-rw-r--r--2021/info/research-schedule.md2
-rw-r--r--2021/info/teach-nav.md2
-rw-r--r--2021/info/teach-schedule.md10
-rw-r--r--2021/schedule-details.md24
20 files changed, 1795 insertions, 128 deletions
diff --git a/2021/captions/emacsconf-2021-teach--using-org-mode-to-teach-programming--daniel-german--main.vtt b/2021/captions/emacsconf-2021-teach--using-org-mode-to-teach-programming--daniel-german--main.vtt
new file mode 100644
index 00000000..aee8f7ba
--- /dev/null
+++ b/2021/captions/emacsconf-2021-teach--using-org-mode-to-teach-programming--daniel-german--main.vtt
@@ -0,0 +1,1663 @@
+WEBVTT
+
+00:01.040 --> 00:03.520
+Hello, everybody. My name is Daniel German.
+
+00:03.520 --> 00:00:04.799
+I'm a professor of computer science
+
+00:00:04.799 --> 00:00:06.080
+at the University of Victoria,
+
+00:00:06.080 --> 00:00:07.680
+and I have been teaching programming
+
+00:00:07.680 --> 00:00:12.080
+for more than 10 years.
+
+00:12.080 --> 00:00:14.639
+I want to tell you today
+
+00:00:14.639 --> 00:00:15.759
+about how I have been
+
+00:00:15.759 --> 00:00:17.680
+using Emacs effectively
+
+00:00:17.680 --> 00:00:20.000
+during the last 10 years,
+
+00:00:20.000 --> 00:00:22.880
+and to try to improve how I not only
+
+00:00:22.880 --> 00:00:24.720
+create content for my students,
+
+00:24.720 --> 00:00:26.480
+but also how I deliver it,
+
+00:00:26.480 --> 00:00:27.680
+and particularly how,
+
+00:00:27.680 --> 00:00:29.119
+within the last five years,
+
+00:00:29.119 --> 00:00:31.599
+I have been using Org mode
+
+00:00:31.599 --> 00:00:33.200
+in a very effective way
+
+00:33.200 --> 00:00:35.600
+that benefits both
+
+00:00:35.600 --> 00:00:38.239
+my students and myself
+
+00:38.239 --> 00:00:40.480
+in the creation and the delivery
+
+00:00:40.480 --> 00:00:42.399
+of content.
+
+00:42.399 --> 00:00:45.200
+Let me switch to my computer.
+
+00:00:45.200 --> 00:00:46.480
+I'm going to remove myself
+
+00:00:46.480 --> 00:00:47.840
+because I can use
+
+00:00:47.840 --> 00:00:50.800
+all the real-estate screen.
+
+00:51.840 --> 00:54.079
+The goal of my presentation today
+
+00:54.079 --> 00:00:55.600
+is really to give you
+
+00:00:55.600 --> 00:00:59.280
+a little bit of an overview
+
+00:00:59.280 --> 00:01:03.440
+of how I have been able to
+
+01:03.440 --> 00:01:06.240
+combine the use of Org mode
+
+00:01:06.240 --> 00:01:08.560
+and with some other tools.
+
+00:01:08.560 --> 00:01:10.880
+I'll talk about specifically about them
+
+00:01:10.880 --> 00:01:13.680
+and then also offer some suggestions
+
+00:01:13.680 --> 00:01:14.640
+and recommendations
+
+00:01:14.640 --> 00:01:16.240
+in how to get it started.
+
+01:16.240 --> 00:01:18.799
+I have created a configuration,
+
+00:01:18.799 --> 00:01:20.080
+a set of configuration files
+
+00:01:20.080 --> 00:01:20.799
+that you can use.
+
+00:01:20.799 --> 00:01:22.880
+I will describe them towards the end.
+
+01:22.880 --> 00:01:28.240
+Hopefully, it will make it easy
+
+00:01:28.240 --> 00:01:31.439
+for all of you to get started on using it.
+
+01:31.439 --> 01:33.200
+So we start talking a little bit
+
+01:33.200 --> 00:01:34.079
+about the challenges
+
+00:01:34.079 --> 00:01:35.119
+of teaching programming.
+
+00:01:35.119 --> 00:01:37.200
+I think that the fundamental one
+
+00:01:37.200 --> 00:01:41.680
+is that keeping the content
+
+00:01:41.680 --> 00:01:45.280
+and the slides up to date is hard,
+
+00:01:45.280 --> 00:01:46.960
+because the content is programs.
+
+00:01:46.960 --> 00:01:47.840
+There are programs
+
+00:01:47.840 --> 00:01:50.399
+that sometimes have errors,
+
+00:01:50.399 --> 00:01:53.759
+and sometimes the slides are
+
+00:01:53.759 --> 00:01:58.079
+incomplete snippets of code, and that
+
+00:01:58.079 --> 00:02:00.240
+once they go into the slides software,
+
+00:02:00.240 --> 00:02:01.840
+like Google Slides or PowerPoint,
+
+00:02:01.840 --> 00:02:04.159
+they're essentially static objects.
+
+02:05.520 --> 00:02:07.439
+If we need to update them,
+
+00:02:07.439 --> 00:02:09.920
+we basically don't know
+
+00:02:09.920 --> 00:02:12.160
+whether the update code actually works,
+
+00:02:12.160 --> 00:02:13.440
+or does it work?
+
+00:02:13.440 --> 00:02:16.000
+Also, we cannot insert automatically
+
+00:02:16.000 --> 00:02:16.400
+the output.
+
+00:02:16.400 --> 00:02:18.480
+We'll have to run the snippet outside,
+
+00:02:18.480 --> 00:02:20.560
+and run it, and then insert that code.
+
+00:02:20.560 --> 00:02:22.080
+So that's very cumbersome.
+
+00:02:22.080 --> 00:02:23.200
+It's really, really one of the
+
+00:02:23.200 --> 00:02:26.080
+major challenges of using a slide software
+
+00:02:26.080 --> 00:02:29.360
+to teach programming.
+
+02:29.360 --> 00:02:30.879
+The other thing is that
+
+00:02:30.879 --> 00:02:32.000
+during the presentation,
+
+00:02:32.000 --> 00:02:33.440
+there's nothing you can do with the code.
+
+00:02:33.440 --> 00:02:34.480
+You might be able to edit it,
+
+00:02:34.480 --> 00:02:35.440
+but you cannot run it.
+
+00:02:35.440 --> 00:02:37.360
+You have to move outside of the
+
+00:02:37.360 --> 00:02:38.640
+presentation software
+
+00:02:38.640 --> 00:02:41.200
+to be able to execute the code.
+
+02:42.800 --> 00:02:44.640
+The last one is kind of related to
+
+00:02:44.640 --> 00:02:46.959
+the previous two.
+
+02:46.959 --> 00:02:48.800
+You don't have a single file
+
+00:02:48.800 --> 00:02:51.121
+and your information is spread across
+
+00:02:51.121 --> 00:02:52.879
+many, many different files,
+
+00:02:52.879 --> 00:02:54.080
+especially if you have lots of
+
+00:02:54.080 --> 00:02:55.760
+different snippets in your slides.
+
+00:02:55.760 --> 00:02:56.959
+You probably have a lot of
+
+00:02:56.959 --> 00:02:59.440
+different small files, each of them
+
+02:59.440 --> 03:01.599
+contributing something to your slides,
+
+03:01.599 --> 03:06.239
+and so it becomes a pain to manage.
+
+03:07.280 --> 00:03:10.080
+All of this is where Org mode
+
+00:03:10.080 --> 00:03:12.640
+really excels. Org mode is capable of
+
+00:03:12.640 --> 00:03:15.840
+doing everything, and it needs
+
+00:03:15.840 --> 00:03:18.400
+a little bit of help from some friends.
+
+00:03:18.400 --> 00:03:22.159
+I will describe what I mean by that.
+
+00:03:22.159 --> 00:03:23.040
+But the other thing
+
+00:03:23.040 --> 00:03:24.480
+that is also very valuable
+
+03:24.480 --> 00:03:27.440
+is that it's within the magic of Emacs.
+
+00:03:27.440 --> 00:03:30.480
+I absolutely love to be able to
+
+03:30.480 --> 00:03:32.879
+work with text within Emacs.
+
+00:03:32.879 --> 00:03:34.799
+I enjoy actually creating my notes
+
+00:03:34.799 --> 00:03:36.640
+in Org mode way more than if I was
+
+00:03:36.640 --> 00:03:39.360
+making them in Google Slides.
+
+03:39.360 --> 00:03:42.400
+Let me start by giving you a short demo.
+
+00:03:42.400 --> 00:03:46.400
+I have been teaching programming in C++
+
+00:03:46.400 --> 00:03:47.519
+for around five years,
+
+00:03:47.519 --> 00:03:50.159
+and this was really the trigger towards
+
+03:50.159 --> 00:03:53.280
+trying to do everything within Org mode.
+
+00:03:53.280 --> 00:03:58.159
+So I have a repository in GitHub,
+
+00:03:58.159 --> 00:03:59.439
+and I think that GitHub
+
+00:03:59.439 --> 00:04:00.560
+is an excellent tool
+
+00:04:00.560 --> 00:04:04.480
+that works collaboration with Org mode.
+
+04:04.480 --> 00:04:05.439
+I'll describe actually
+
+00:04:05.439 --> 00:04:07.680
+what I mean by that.
+
+00:04:07.680 --> 00:04:09.680
+My lectures are essentially Org files.
+
+00:04:09.680 --> 00:04:12.480
+So, for example, let's go into
+
+00:04:12.480 --> 00:04:15.040
+one of these files.
+
+04:15.040 --> 00:04:16.799
+This is a an Org file.
+
+00:04:16.799 --> 00:04:21.199
+You can actually see it in the extension.
+
+04:21.199 --> 04:26.160
+I get a table of contents.
+
+04:26.160 --> 00:04:28.000
+GitHub creates or give us actually
+
+00:04:28.000 --> 00:04:31.280
+the ability to quickly jump, and it creates
+
+00:04:31.280 --> 00:04:32.880
+a dynamic table of contents,
+
+00:04:32.880 --> 00:04:33.759
+but I also can actually
+
+00:04:33.759 --> 00:04:35.280
+create it automatically,
+
+00:04:35.280 --> 00:04:36.800
+and then here it goes.
+
+00:04:36.800 --> 00:04:38.479
+This is the code that i have.
+
+00:04:38.479 --> 00:04:41.440
+This is a snippet
+
+00:04:41.440 --> 00:04:44.240
+that I present in the class.
+
+04:44.240 --> 00:04:45.680
+Let me actually show you
+
+00:04:45.680 --> 00:04:48.400
+how I do it within Emacs.
+
+04:48.400 --> 00:04:52.160
+So what I will do is the following.
+
+00:04:52.160 --> 00:04:55.440
+Let me try to open that file.
+
+04:57.919 --> 04:59.440
+Here's the file,
+
+04:59.440 --> 00:05:00.880
+and it's exactly the same
+
+00:05:00.880 --> 00:05:03.759
+that we were browsing in GitHub.
+
+00:05:03.759 --> 00:05:08.720
+What I do is I simply just scroll through
+
+05:08.720 --> 00:05:10.160
+the document. It's almost like
+
+00:05:10.160 --> 00:05:13.440
+movie credits at the end of the movie.
+
+00:05:13.440 --> 00:05:15.360
+I don't break them into chunks
+
+00:05:15.360 --> 00:05:16.639
+that I show in the screen.
+
+00:05:16.639 --> 00:05:18.320
+I see no point in doing that.
+
+00:05:18.320 --> 00:05:20.880
+What I do is I simply scroll through
+
+00:05:20.880 --> 00:05:24.160
+the text. The students are able to see
+
+00:05:24.160 --> 00:05:26.560
+the same information in GitHub
+
+00:05:26.560 --> 00:05:27.759
+on their computer,
+
+05:27.759 --> 00:05:29.680
+or they can print it if they want,
+
+00:05:29.680 --> 00:05:31.039
+and they are able to actually
+
+00:05:31.039 --> 00:05:32.560
+follow with me, and then having
+
+00:05:32.560 --> 00:05:33.759
+a much bigger picture
+
+05:33.759 --> 05:36.320
+than if i just show a very small snippet.
+
+05:36.320 --> 00:05:38.800
+In the case that the snippet is too big,
+
+00:05:38.800 --> 00:05:40.800
+for example, let's say this one
+
+00:05:40.800 --> 00:05:42.240
+actually doesn't cover the...
+
+00:05:42.240 --> 00:05:43.759
+covers more than full screen,
+
+00:05:43.759 --> 00:05:45.360
+I actually reduce the size
+
+00:05:45.360 --> 00:05:48.000
+and then give a little bit of
+
+00:05:48.000 --> 00:05:49.759
+an explanation of the whole thing,
+
+00:05:49.759 --> 00:05:51.600
+and then focus and say this is the line
+
+00:05:51.600 --> 00:05:53.600
+where we have to pay attention.
+
+05:53.600 --> 00:05:55.600
+Notice actually how I use color for that.
+
+00:05:55.600 --> 00:05:57.759
+I think that the ability to use color
+
+00:05:57.759 --> 00:05:59.759
+and typesetting is fundamental
+
+00:05:59.759 --> 00:06:01.520
+to be able to do this effectively,
+
+00:06:01.520 --> 00:06:02.720
+and the nice thing is that
+
+00:06:02.720 --> 00:06:04.160
+we can configure Org mode
+
+00:06:04.160 --> 00:06:05.840
+to be able to do most of this
+
+06:05.840 --> 06:08.160
+automatically.
+
+06:08.160 --> 00:06:09.360
+As I said before,
+
+00:06:09.360 --> 00:06:10.960
+one of the great advantages is that
+
+00:06:10.960 --> 00:06:13.600
+I can actually run the code dynamically.
+
+00:06:13.600 --> 00:06:15.360
+So let's say that the student says,
+
+00:06:15.360 --> 00:06:17.360
+"But what if I change that value to 10?"
+
+00:06:17.360 --> 00:06:18.560
+Well, let's try it.
+
+00:06:18.560 --> 00:06:20.560
+Let's change it, run it,
+
+06:20.560 --> 00:06:21.840
+and then you can see here
+
+00:06:21.840 --> 00:06:24.720
+that it has a 10.
+
+00:06:24.720 --> 00:06:26.960
+That's really powerful because
+
+00:06:26.960 --> 00:06:29.280
+you're not tied to
+
+00:06:29.280 --> 00:06:30.560
+what is the content you have
+
+00:06:30.560 --> 00:06:33.120
+on the slides. If you find an error
+
+00:06:33.120 --> 00:06:34.880
+or an omission, or you want to talk about
+
+06:34.880 --> 00:06:36.880
+something else, you can very quickly
+
+00:06:36.880 --> 00:06:40.720
+do it. You can add comments
+
+00:06:40.720 --> 00:06:42.080
+and then make some suggestions
+
+00:06:42.080 --> 00:06:43.840
+specifically to that,
+
+06:43.840 --> 00:06:45.680
+or worst-case scenario,
+
+00:06:45.680 --> 00:06:48.880
+if you really, really, need it,
+
+06:48.880 --> 00:06:55.440
+you can say, "Let's load it into..."
+
+00:06:55.440 --> 00:06:58.400
+Let's actually do some hand annotation.
+
+00:06:58.400 --> 00:07:00.319
+Let's actually say, "look at this thing,
+
+00:07:00.319 --> 00:07:01.840
+this is the value that I want you to
+
+07:01.840 --> 00:07:02.800
+concentrate on."
+
+00:07:02.800 --> 00:07:03.599
+It's not perfect.
+
+00:07:03.599 --> 00:07:04.960
+I'm not doing it with an Emacs.
+
+00:07:04.960 --> 00:07:06.960
+I wish there was a way to do it,
+
+00:07:06.960 --> 00:07:09.120
+but it is absolutely effective
+
+00:07:09.120 --> 00:07:10.720
+because I'm actually able to
+
+00:07:10.720 --> 00:07:12.800
+use the power. Notice that all that is
+
+07:12.800 --> 07:15.520
+exported is just the block, and also
+
+07:15.520 --> 07:22.400
+the color and typesetting,
+
+07:22.400 --> 00:07:24.560
+the typesetting of the content.
+
+00:07:24.560 --> 00:07:25.759
+So this is actually great.
+
+00:07:25.759 --> 00:07:30.639
+I have the colors red, purple, etc. etc.
+
+00:07:30.639 --> 00:07:34.160
+I love being able to do that.
+
+07:34.160 --> 00:07:35.919
+This is just a temporary file.
+
+00:07:35.919 --> 00:07:36.880
+I can actually discard it,
+
+00:07:36.880 --> 00:07:39.680
+and it doesn't really matter.
+
+07:39.680 --> 07:41.919
+Let me go back to the presentation.
+
+07:41.919 --> 00:07:43.360
+So that's the delivery.
+
+00:07:43.360 --> 00:07:44.639
+So the delivery is great,
+
+00:07:44.639 --> 00:07:46.400
+and I can tell the students
+
+00:07:46.400 --> 00:07:48.080
+now you're actually in GitHub,
+
+00:07:48.080 --> 00:07:50.160
+if you want to test the code,
+
+07:50.160 --> 00:07:51.360
+just cut and paste.
+
+00:07:51.360 --> 00:07:54.240
+Notice that I clicked on the little icon.
+
+00:07:54.240 --> 00:07:56.639
+Now it's copied. It's now part of
+
+00:07:56.639 --> 00:07:57.440
+the kill buffer ([kill-ring]),
+
+00:07:57.440 --> 00:07:59.520
+so if I want to actually create a file
+
+00:07:59.520 --> 00:08:00.560
+that has that content,
+
+00:08:00.560 --> 00:08:02.560
+I can very quickly do it.
+
+08:02.560 --> 00:08:05.840
+Try that with PowerPoint.
+
+00:08:05.840 --> 00:08:08.160
+You will have to have the text
+
+00:08:08.160 --> 00:08:10.000
+without any nice typesetting,
+
+00:08:10.000 --> 00:08:11.280
+or you will have to have a picture
+
+00:08:11.280 --> 00:08:13.120
+that is impossible to cut and paste.
+
+00:08:13.120 --> 00:08:14.400
+So that's something that the students
+
+00:08:14.400 --> 00:08:17.440
+really, really appreciate of this.
+
+00:08:17.440 --> 00:08:18.879
+They can try it on the computer.
+
+00:08:18.879 --> 00:08:19.919
+They can load it into
+
+00:08:19.919 --> 00:08:22.319
+their favorite editor.
+
+00:08:22.319 --> 00:08:24.720
+I don't force them to use Emacs,
+
+00:08:24.720 --> 00:08:26.879
+but I have to say that some of them
+
+00:08:26.879 --> 00:08:28.479
+really get intrigued by this power
+
+00:08:28.479 --> 00:08:30.000
+that they want to try Emacs
+
+08:30.000 --> 08:31.440
+because they see that they can do things,
+
+08:31.440 --> 08:33.760
+that I can do things that they cannot do
+
+08:33.760 --> 08:35.919
+with other tools.
+
+08:35.919 --> 08:39.039
+Okay, so let's go back to presentation.
+
+08:39.039 --> 00:08:40.080
+The other half of it is
+
+00:08:40.080 --> 00:08:41.039
+preparing the notes.
+
+00:08:41.039 --> 00:08:44.640
+I think the preparatory notes
+
+08:44.640 --> 00:08:46.320
+is something that I want to do
+
+00:08:46.320 --> 00:08:48.240
+as easy as possible.
+
+00:08:48.240 --> 00:08:52.560
+I want to be able to reduce the time
+
+00:08:52.560 --> 00:08:53.760
+that I waste on things,
+
+00:08:53.760 --> 00:08:55.120
+that they are done.
+
+08:55.120 --> 08:57.519
+They're not part of the actual thinking
+
+08:57.519 --> 00:09:01.760
+or the delivery of the presentation.
+
+00:09:01.760 --> 00:09:03.440
+So let me create a file.
+
+09:03.440 --> 00:09:05.720
+Let's call it rip2.org.
+
+00:09:05.720 --> 00:09:07.839
+Well, I have this one,
+
+00:09:07.839 --> 00:09:09.519
+so let's call it rip.org.
+
+00:09:09.519 --> 00:09:10.480
+Oh, I have this one too,
+
+00:09:10.480 --> 00:09:12.800
+so let's call it rip4.org.
+
+09:12.800 --> 09:15.040
+So it's empty.
+
+09:15.040 --> 00:09:17.200
+I use yasnippets. I think yasnippets
+
+00:09:17.200 --> 00:09:17.920
+are very important,
+
+00:09:17.920 --> 00:09:19.040
+and I'll go through this
+
+00:09:19.040 --> 00:09:19.760
+in a little bit later.
+
+00:09:19.760 --> 00:09:21.200
+It's important to set up
+
+00:09:21.200 --> 00:09:23.440
+the properties for each language
+
+00:09:23.440 --> 00:09:24.399
+that I use properly.
+
+09:24.399 --> 09:26.320
+I'll describe this a little bit later.
+
+09:26.320 --> 00:09:28.000
+Unfortunately, the properties
+
+00:09:28.000 --> 00:09:30.080
+have to be evaluated one at a time,
+
+00:09:30.080 --> 00:09:33.839
+and so I'm just going to
+
+00:09:33.839 --> 00:09:35.040
+kill the buffer and open it again.
+
+00:09:35.040 --> 00:09:36.480
+So now all of these properties
+
+00:09:36.480 --> 00:09:38.000
+are properly set.
+
+09:40.560 --> 00:09:43.760
+As I said before, I have some yasnippets,
+
+00:09:43.760 --> 00:09:46.560
+so I can actually do very quickly...
+
+00:09:46.560 --> 00:09:55.200
+This is C++, cout << "hello world",
+
+09:55.200 --> 09:58.080
+std::endl.
+
+09:58.080 --> 00:10:00.080
+And then I run it,
+
+00:10:00.080 --> 00:10:02.720
+and then it's inserted down here,
+
+00:10:02.720 --> 00:10:04.000
+so nothing special.
+
+10:04.000 --> 10:06.160
+Let's assume that I make a mistake
+
+10:06.160 --> 00:10:08.480
+and I type a double l here.
+
+00:10:08.480 --> 00:10:10.720
+I will get an error.
+
+10:10.720 --> 00:10:12.399
+These line numbers unfortunately
+
+00:10:12.399 --> 00:10:13.600
+don't perfectly match
+
+00:10:13.600 --> 00:10:15.040
+with the line numbers
+
+10:15.040 --> 10:17.839
+in the little snippet
+
+10:17.839 --> 00:10:18.959
+because there's some code
+
+00:10:18.959 --> 00:10:22.160
+that org-babel inserts,
+
+00:10:22.160 --> 00:10:23.040
+so that shifts them.
+
+00:10:23.040 --> 00:10:25.440
+So that's something to be aware of.
+
+10:25.440 --> 00:10:27.680
+I can correct it, run it,
+
+00:10:27.680 --> 00:10:30.160
+and then it inserts the result.
+
+10:30.160 --> 00:10:36.079
+Let's do one in C.
+
+10:36.079 --> 00:10:37.680
+I'll explain the exports both
+
+00:10:37.680 --> 00:10:38.640
+a little bit.
+
+00:10:38.640 --> 00:10:40.079
+So let's assume that I don't want to
+
+10:40.079 --> 00:10:41.519
+have a full main program.
+
+00:10:41.519 --> 00:10:42.560
+Let's assume that i just want to
+
+00:10:42.560 --> 00:10:45.200
+demonstrate how to use a printf
+
+00:10:45.200 --> 00:10:54.959
+"hello world %s\n", "my friend".
+
+10:54.959 --> 10:56.800
+Let's run it.
+
+10:56.800 --> 00:10:58.800
+I get a bunch of errors. Why?
+
+00:10:58.800 --> 00:11:00.480
+Because I don't have a main program,
+
+00:11:00.480 --> 00:11:03.279
+so I have to actually tell org-babel
+
+00:11:03.279 --> 00:11:05.200
+that I want a main product,
+
+00:11:05.200 --> 00:11:07.360
+so yes put a main around it.
+
+00:11:07.360 --> 00:11:09.040
+So now I run it and it says, oh,
+
+11:09.040 --> 00:11:09.760
+in the function main,
+
+00:11:09.760 --> 00:11:10.959
+we have an implicit declaration
+
+00:11:10.959 --> 00:11:12.640
+for function printf.
+
+00:11:12.640 --> 00:11:14.000
+I'm very, very stringent
+
+00:11:14.000 --> 00:11:16.959
+on my compilation options,
+
+00:11:16.959 --> 00:11:18.959
+so I want to have every single
+
+11:18.959 --> 00:11:21.279
+potential error displayed ,
+
+00:11:21.279 --> 00:11:22.959
+so that's actually why.
+
+00:11:22.959 --> 00:11:24.640
+In this case, I actually need include,
+
+00:11:24.640 --> 00:11:29.040
+so I can say :includes <stdio.h>,
+
+11:29.040 --> 00:11:31.040
+and I'll run it and it runs perfectly.
+
+00:11:31.040 --> 00:11:32.480
+So why is this important?
+
+00:11:32.480 --> 00:11:35.440
+Well, it allows me to just have
+
+00:11:35.440 --> 00:11:37.600
+the snippet that I'm concerned about.
+
+00:11:37.600 --> 00:11:39.920
+I don't have to have all the overhead
+
+00:11:39.920 --> 00:11:43.279
+of having to have the include, main, etc.,
+
+00:11:43.279 --> 00:11:44.000
+if I want to show
+
+00:11:44.000 --> 00:11:45.440
+just one specific concept
+
+00:11:45.440 --> 00:11:46.560
+and I can do it
+
+00:11:46.560 --> 00:11:48.079
+in very few lines of code.
+
+00:11:48.079 --> 00:11:50.240
+I can do that immediately, of course.
+
+00:11:50.240 --> 00:11:51.279
+The students will not be able to
+
+00:11:51.279 --> 00:11:53.600
+cut and paste it without the main file,
+
+00:11:53.600 --> 00:11:54.320
+but that's something
+
+00:11:54.320 --> 00:11:56.800
+that we can explain to them.
+
+11:57.600 --> 00:11:59.440
+We can do all the languages.
+
+00:11:59.440 --> 00:12:02.079
+So I can say print,
+
+12:02.079 --> 12:07.680
+let's print just a list,
+
+12:07.680 --> 12:10.000
+or let's actually keep updating it,
+
+12:10.000 --> 00:12:16.000
+and let's do a map of a lambda x,
+
+00:12:16.000 --> 00:12:19.279
+x multiplied by x,
+
+12:19.279 --> 00:12:22.079
+and then we run it. Okay.
+
+00:12:22.079 --> 00:12:23.200
+The thing that is important
+
+00:12:23.200 --> 00:12:25.120
+is that if we also have
+
+00:12:25.120 --> 00:12:26.720
+the full power of the environment,
+
+00:12:26.720 --> 00:12:28.320
+right, so we can actually edit it
+
+00:12:28.320 --> 00:12:31.519
+in the native mode of the language,
+
+00:12:31.519 --> 00:12:34.560
+and wherever we actually want to use
+
+00:12:34.560 --> 00:12:36.720
+specific features, that they are available
+
+00:12:36.720 --> 00:12:38.800
+in the particular mode.
+
+12:38.800 --> 00:12:40.720
+But for most of the cases,
+
+00:12:40.720 --> 00:12:41.519
+I don't need that,
+
+00:12:41.519 --> 00:12:44.160
+because my examples are relatively simple.
+
+12:44.160 --> 12:46.720
+Let's do one more.
+
+12:46.720 --> 00:12:48.399
+This is a little bit different: SQLite.
+
+00:12:48.399 --> 00:12:49.760
+In the previous examples,
+
+00:12:49.760 --> 00:12:51.200
+the output that is inserted
+
+00:12:51.200 --> 00:12:52.720
+is a standard output.
+
+00:12:52.720 --> 00:12:54.320
+In SQLite, I want to actually see
+
+00:12:54.320 --> 00:12:55.279
+the tables. I want to see
+
+00:12:55.279 --> 00:12:56.720
+how the tables are,
+
+00:12:56.720 --> 00:12:58.880
+what the results are.
+
+00:12:58.880 --> 00:13:04.000
+So let's create table s.
+
+13:04.000 --> 00:13:08.399
+Let's call it r, a int, b int,
+
+13:08.399 --> 00:13:09.200
+and let's run it.
+
+00:13:09.200 --> 00:13:10.639
+This is-- oh, the table already exists.
+
+00:13:10.639 --> 00:13:16.240
+Okay. So drop table if exists r,
+
+13:16.240 --> 00:13:17.440
+and then we run it. Okay.
+
+00:13:17.440 --> 00:13:21.120
+So now it's created. sqlite...
+
+00:13:21.120 --> 00:13:25.920
+So we can say create a table,
+
+00:13:25.920 --> 00:13:27.760
+and let's actually add SQL,
+
+00:13:27.760 --> 00:13:32.079
+and here we're actually going to add...
+
+13:32.079 --> 00:13:34.240
+This is an example in C,
+
+00:13:34.240 --> 00:13:38.240
+and here we're going to have C++.
+
+00:13:38.240 --> 00:13:42.160
+Okay. So, SQL,
+
+00:13:42.160 --> 00:13:43.920
+and then we create a table,
+
+00:13:43.920 --> 00:13:47.839
+and then we populate
+
+00:13:47.839 --> 00:13:51.360
+and then insert into R
+
+00:13:51.360 --> 00:13:57.839
+values 1,2 2,3 3,4.
+
+13:57.839 --> 00:13:59.519
+Okay. So now I have a table,
+
+00:13:59.519 --> 00:14:01.600
+I have values,
+
+00:14:01.600 --> 00:14:04.560
+and I can do "select * from here,"
+
+14:04.560 --> 14:07.040
+and then I get the result. Okay.
+
+14:07.040 --> 00:14:07.920
+It's almost magic
+
+00:14:07.920 --> 00:14:10.399
+because I can actually get, formatted,
+
+00:14:10.399 --> 00:14:13.040
+the output in the way that I expected.
+
+14:13.040 --> 14:15.279
+Obviously, if my result is too big,
+
+14:15.279 --> 00:14:18.399
+then it will basically just create
+
+00:14:18.399 --> 00:14:20.880
+a huge, huge buffer, or Org will say
+
+00:14:20.880 --> 00:14:21.920
+the output is too big.
+
+00:14:21.920 --> 00:14:24.079
+So often with databases,
+
+00:14:24.079 --> 00:14:26.480
+I actually narrow my output, right,
+
+00:14:26.480 --> 00:14:28.639
+or I might do it with a clause,
+
+00:14:28.639 --> 00:14:32.800
+"where a > 1".
+
+14:34.959 --> 00:14:36.959
+If the language is supported by Org Babel,
+
+00:14:36.959 --> 00:14:39.920
+then you can do all of this.
+
+14:39.920 --> 00:14:42.079
+Let me go back to the presentation.
+
+00:14:42.079 --> 00:14:43.760
+I'm running out of time.
+
+00:14:43.760 --> 00:14:45.680
+Let me give you a short tour
+
+00:14:45.680 --> 00:14:47.279
+of how this is done.
+
+14:47.279 --> 00:14:53.279
+I have created a repository that has
+
+00:14:53.279 --> 00:14:54.800
+all the configuration that I have.
+
+00:14:54.800 --> 00:14:56.639
+Everything is self-contained.
+
+14:56.639 --> 14:59.600
+You can just download it and run it.
+
+14:59.600 --> 00:15:01.360
+You will have to replace
+
+00:15:01.360 --> 00:15:03.760
+your ~/.emacs.d directory,
+
+00:15:03.760 --> 00:15:07.440
+and then you can explore it, test it,
+
+00:15:07.440 --> 00:15:11.039
+and then pick things out of it,
+
+00:15:11.039 --> 00:15:14.639
+choose, etc.
+
+15:14.639 --> 00:15:16.800
+Let me go through the README.
+
+00:15:16.800 --> 00:15:17.920
+I think that the README
+
+00:15:17.920 --> 00:15:19.600
+is actually useful.
+
+00:15:19.600 --> 00:15:21.760
+I have a function called actually start.
+
+00:15:21.760 --> 00:15:22.480
+That is the one
+
+00:15:22.480 --> 00:15:24.000
+that creates indentation
+
+00:15:24.000 --> 00:15:28.399
+and sets up the mode, etc.
+
+15:28.399 --> 00:15:29.440
+Let me talk about GitHub.
+
+00:15:29.440 --> 00:15:31.839
+So GitHub is a great resource. Why?
+
+00:15:31.839 --> 00:15:32.880
+Well its publishing,
+
+00:15:32.880 --> 00:15:34.240
+as i mentioned before,
+
+00:15:34.240 --> 00:15:35.519
+is very simple.
+
+00:15:35.519 --> 00:15:37.120
+To publish, you basically just
+
+00:15:37.120 --> 00:15:37.920
+push your changes
+
+00:15:37.920 --> 00:15:43.199
+and it automatically renders the code.
+
+15:43.199 --> 00:15:46.800
+It's something that is quite useful.
+
+15:46.800 --> 00:15:48.720
+But it is not perfect,
+
+00:15:48.720 --> 00:15:50.399
+and it's not able to understand
+
+00:15:50.399 --> 00:15:52.880
+the full Org. But for most of the things
+
+00:15:52.880 --> 00:15:53.680
+that I use for teaching,
+
+00:15:53.680 --> 00:15:55.600
+it's sufficiently good.
+
+00:15:55.600 --> 00:15:57.360
+It would be better if it was full
+
+00:15:57.360 --> 00:16:00.720
+at compliance, but it's not bad as it is.
+
+16:00.720 --> 00:16:02.463
+Version control. I think
+
+00:16:02.463 --> 00:16:03.839
+it's extremely valuable
+
+00:16:03.839 --> 00:16:05.199
+to have version control.
+
+00:16:05.199 --> 00:16:08.079
+It allows to actually use
+
+00:16:08.079 --> 00:16:08.959
+different computers
+
+00:16:08.959 --> 00:16:10.560
+or keep track of my changes,
+
+00:16:10.560 --> 00:16:11.920
+collaborate with authors,
+
+00:16:11.920 --> 00:16:13.040
+even have pull requests
+
+00:16:13.040 --> 00:16:13.759
+from the students.
+
+16:13.759 --> 16:16.320
+Actually it's very empowering
+
+16:16.320 --> 16:18.800
+for the students.
+
+16:18.800 --> 00:16:20.480
+Navigation, links, cut and paste
+
+00:16:20.480 --> 00:16:21.920
+between code blocks,
+
+00:16:21.920 --> 00:16:23.199
+you can even edit in place
+
+16:23.199 --> 16:26.160
+if you want to.
+
+16:26.160 --> 16:27.920
+In a pinch, you can actually use GitHub
+
+16:27.920 --> 00:16:30.000
+to do the editing of your file.
+
+00:16:30.000 --> 00:16:33.199
+Of course, it will not update your buffers.
+
+16:33.199 --> 00:16:35.199
+:exports both. This is very important.
+
+00:16:35.199 --> 00:16:40.160
+If we have a block, by default,
+
+16:40.160 --> 16:43.199
+GitHub will not typeset
+
+16:43.199 --> 00:16:44.399
+the output of that block.
+
+00:16:44.399 --> 00:16:45.839
+It will only put the source code,
+
+00:16:45.839 --> 00:16:47.199
+but not its output.
+
+16:47.199 --> 00:16:50.079
+In this case, if I actually showed this
+
+00:16:50.079 --> 00:16:52.720
+in GitHub, "hello world" will not appear.
+
+00:16:52.720 --> 00:16:55.120
+So what we need to do is for every block,
+
+00:16:55.120 --> 00:16:57.040
+we have to do :exports both.
+
+16:57.040 --> 00:16:58.720
+okay that's unfortunate,
+
+00:16:58.720 --> 00:17:01.120
+but we can deal with that.
+
+17:01.120 --> 00:17:03.920
+Once it's done, then the output
+
+00:17:03.920 --> 00:17:06.079
+is actually typeset.
+
+17:06.079 --> 00:17:07.520
+I mentioned that header args
+
+00:17:07.520 --> 00:17:09.039
+are very important,
+
+00:17:09.039 --> 00:17:10.079
+because those are the ones
+
+00:17:10.079 --> 00:17:12.799
+that set the parameters
+
+00:17:12.799 --> 00:17:14.640
+for each one of the blocks that you have.
+
+17:14.640 --> 17:16.000
+You don't want to have to type every
+
+17:16.000 --> 00:17:19.120
+single one of them at once.
+
+00:17:19.120 --> 00:17:20.880
+For example, let me go back to
+
+00:17:20.880 --> 00:17:22.880
+my presentation.
+
+17:23.839 --> 17:26.160
+Here's actually the parameters for C.
+
+17:26.160 --> 00:17:28.880
+C, I say, I don't want you to
+
+00:17:28.880 --> 00:17:30.000
+automatically add a main.
+
+00:17:30.000 --> 00:17:31.120
+I want to provide my main,
+
+00:17:31.120 --> 00:17:34.160
+and these are the flags to the compiler.
+
+17:34.160 --> 00:17:37.280
+With C++, similar. With SQLite,
+
+00:17:37.280 --> 00:17:38.720
+I said this is my database,
+
+17:38.720 --> 00:17:39.600
+this is the data,
+
+00:17:39.600 --> 00:17:41.360
+the file where the database lives,
+
+00:17:41.360 --> 00:17:44.559
+and for the results, I want you to insert
+
+17:44.559 --> 00:17:46.160
+the column names. I want to see
+
+00:17:46.160 --> 00:17:48.400
+the names of the columns in the result.
+
+17:48.400 --> 17:50.960
+So those are actually why
+
+17:50.960 --> 17:53.840
+the headers are important.
+
+17:53.840 --> 00:17:55.520
+There's one in general.
+
+00:17:55.520 --> 00:17:56.880
+That's :results output.
+
+00:17:56.880 --> 00:17:59.039
+If you're interested on showing
+
+00:17:59.039 --> 00:18:01.760
+the standard output of your snippet,
+
+00:18:01.760 --> 00:18:03.600
+then you have to use :results output.
+
+00:18:03.600 --> 00:18:04.799
+Otherwise, it will insert
+
+00:18:04.799 --> 00:18:06.720
+the result of the last expression.
+
+00:18:06.720 --> 00:18:08.000
+It just depends on what you want to show,
+
+18:08.000 --> 00:18:08.720
+but it's important
+
+00:18:08.720 --> 00:18:11.200
+that you are aware of that.
+
+18:11.200 --> 18:13.440
+I'm almost running out of time.
+
+18:13.440 --> 00:18:15.919
+There are some things that are C-specific
+
+00:18:15.919 --> 00:18:18.400
+and that I sort of covered
+
+00:18:18.400 --> 00:18:23.919
+during the demo.
+
+18:23.919 --> 00:18:26.000
+You can use advanced Org features,
+
+00:18:26.000 --> 00:18:29.039
+and you can actually use noweb.
+
+00:18:29.039 --> 00:18:30.640
+Now that's confusing for students,
+
+00:18:30.640 --> 00:18:33.600
+so i will suggest that you actually do it
+
+18:33.600 --> 00:18:34.880
+but then inform the students
+
+00:18:34.880 --> 00:18:37.760
+very clearly of that.
+
+18:37.760 --> 00:18:39.280
+Some potential issues:
+
+00:18:39.280 --> 00:18:42.400
+_ (underscore). _ is used everywhere.
+
+00:18:42.400 --> 00:18:44.640
+By default, it will try to export it--
+
+00:18:44.640 --> 00:18:46.960
+Org will try to export it as circumflex,
+
+00:18:46.960 --> 00:18:48.400
+the same as with GitHub.
+
+00:18:48.400 --> 00:18:52.480
+So we want to inform Org and GitHub
+
+00:18:52.480 --> 00:18:53.840
+not to do anything with them,
+
+00:18:53.840 --> 00:18:55.520
+and this is via the circumflex.
+
+00:18:55.520 --> 00:18:57.440
+So we said in #+OPTIONS: ^:nil ,
+
+00:18:57.440 --> 00:18:58.720
+and that actually takes care
+
+00:18:58.720 --> 00:19:01.679
+of the circumflex and also the underscore.
+
+00:19:01.679 --> 00:19:02.720
+It's kind of confusing
+
+00:19:02.720 --> 00:19:04.080
+because it's both,
+
+00:19:04.080 --> 00:19:05.120
+but it's actually named
+
+00:19:05.120 --> 00:19:06.720
+after the circumflex.
+
+19:06.720 --> 00:19:07.840
+The pipe character
+
+00:19:07.840 --> 00:19:08.880
+is one of those characters
+
+00:19:08.880 --> 00:19:10.640
+that is actually very, very common
+
+00:19:10.640 --> 00:19:12.799
+in programming, but if you put in a table,
+
+00:19:12.799 --> 00:19:14.480
+there's no way to do it. Like, okay,
+
+00:19:14.480 --> 00:19:16.559
+I wish I had this table nicely
+
+19:16.559 --> 00:19:19.520
+where I can say || here,
+
+00:19:19.520 --> 00:19:21.280
+but if I put this ||,
+
+00:19:21.280 --> 00:19:22.799
+it will actually interpret it
+
+00:19:22.799 --> 00:19:23.919
+as the separator.
+
+00:19:23.919 --> 00:19:25.760
+So that's one of the few things
+
+00:19:25.760 --> 00:19:27.679
+that's kind of annoying.
+
+19:27.679 --> 00:19:31.679
+Final words. See my configuration file,
+
+19:31.679 --> 00:19:35.520
+and try to typeset the code,
+
+00:19:35.520 --> 00:19:37.520
+the buffer as close as possible
+
+00:19:37.520 --> 00:19:38.720
+to what you want to present.
+
+00:19:38.720 --> 00:19:40.000
+As you can see here,
+
+00:19:40.000 --> 00:19:42.240
+I'm actually using colors to highlight
+
+00:19:42.240 --> 00:19:44.320
+by using the current line.
+
+19:44.320 --> 19:46.960
+Use yasnippets.
+
+19:46.960 --> 19:48.480
+They're amazing, and they will actually
+
+19:48.480 --> 19:51.440
+make your life much more useful.
+
+19:51.440 --> 19:53.280
+Experiment.
+
+19:53.280 --> 19:56.720
+Just a conclusion.
+
+19:56.720 --> 00:19:58.400
+Org mode and Emacs really make
+
+00:19:58.400 --> 00:20:01.039
+a wonderful, amazing environment
+
+00:20:01.039 --> 00:20:03.360
+for teaching programming.
+
+20:03.360 --> 20:06.640
+I just want to end by saying that
+
+20:06.640 --> 00:20:10.320
+I'm very grateful to all the Emacs community
+
+20:10.320 --> 00:20:14.159
+because I have benefited tremendously
+
+00:20:14.159 --> 00:20:16.080
+over the years. I have been using Emacs
+
+00:20:16.080 --> 00:20:18.960
+since 1991, so this is essentially
+
+00:20:18.960 --> 00:20:22.240
+my 30th year that have been using Emacs.
+
+00:20:22.240 --> 00:20:24.640
+I think that is the most important,
+
+00:20:24.640 --> 00:20:26.980
+most fundamental tool that I use
+
+00:20:26.980 --> 00:20:29.760
+day-to-day, from reading email,
+
+00:20:29.760 --> 00:20:32.480
+to doing my teaching, doing my papers,
+
+00:20:32.480 --> 00:20:34.960
+my research... it's everything.
+
+00:20:34.960 --> 00:20:37.039
+So thank you all
+
+20:37.039 --> 20:40.799
+and I hope that you find this useful.
+
+20:40.799 --> 00:20:42.799
+Bye.
+
+00:20:42.799 --> 00:20:43.799
+[captions by sachac]
diff --git a/2021/emacsconf-pentabarf.xml b/2021/emacsconf-pentabarf.xml
index 2025a492..544a2558 100644
--- a/2021/emacsconf-pentabarf.xml
+++ b/2021/emacsconf-pentabarf.xml
@@ -1,4 +1,4 @@
-<schedule><generator name="EmacsConf" version="0.1"></generator><version>20211127144215</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:20: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>20211127145910</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:17: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.
@@ -36,29 +36,29 @@
</description><url>https://emacsconf.org/2021/talks/tech</url><persons><person>Jan Ypma</person></persons></event><event id="18" guid="b092bc88-e74c-a9c4-611b-d47c99ef578c"><date>2021-11-27T19:38:00Z</date><start>14:38</start><language>en</language><room>Main</room><subtitle></subtitle><type>Talk</type><track>Main</track><slug>emacsconf-2021-talk-exec</slug><duration>0:08</duration><title>Org as an executable format</title><abstract></abstract><description>Times are approximate and will probably change.
-</description><url>https://emacsconf.org/2021/talks/exec</url><persons><person>Tom Gillespie</person></persons></event><event id="17" guid="69763d57-be4e-7e74-509b-92e48a0e7ba6"><date>2021-11-27T19: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-org-outside</slug><duration>0:13</duration><title>The use of Org mode syntax outside of GNU/Emacs</title><abstract></abstract><description>Times are approximate and will probably change.
+</description><url>https://emacsconf.org/2021/talks/exec</url><persons><person>Tom Gillespie</person></persons></event><event id="17" guid="69763d57-be4e-7e74-509b-92e48a0e7ba6"><date>2021-11-27T19:46:00Z</date><start>14:46</start><language>en</language><room>Main</room><subtitle></subtitle><type>Talk</type><track>Main</track><slug>emacsconf-2021-talk-org-outside</slug><duration>0:13</duration><title>The use of Org mode syntax outside of GNU/Emacs</title><abstract></abstract><description>Times are approximate and will probably change.
-</description><url>https://emacsconf.org/2021/talks/org-outside</url><persons><person>Karl Voit</person></persons></event><event id="22" guid="aed5e190-66a0-3dd4-e5eb-be09be94e6c3"><date>2021-11-27T20:03:00Z</date><start>15:03</start><language>en</language><room>Main</room><subtitle></subtitle><type>Talk</type><track>Main</track><slug>emacsconf-2021-talk-teach</slug><duration>0:21</duration><title>Using Org-mode to teach programming</title><abstract></abstract><description>Times are approximate and will probably change.
+</description><url>https://emacsconf.org/2021/talks/org-outside</url><persons><person>Karl Voit</person></persons></event><event id="22" guid="aed5e190-66a0-3dd4-e5eb-be09be94e6c3"><date>2021-11-27T20:00:00Z</date><start>15:00</start><language>en</language><room>Main</room><subtitle></subtitle><type>Talk</type><track>Main</track><slug>emacsconf-2021-talk-teach</slug><duration>0:21</duration><title>Using Org-mode to teach programming</title><abstract></abstract><description>Times are approximate and will probably change.
-</description><url>https://emacsconf.org/2021/talks/teach</url><persons><person>Daniel German</person></persons></event><event id="20" guid="fd246cee-b5d6-7cc4-2b63-20e87bb7d750"><date>2021-11-27T20:27:00Z</date><start>15:27</start><language>en</language><room>Main</room><subtitle></subtitle><type>Talk</type><track>Main</track><slug>emacsconf-2021-talk-research</slug><duration>0:09</duration><title>Managing a research workflow (bibliographies, note-taking, and arXiv)</title><abstract></abstract><description>Times are approximate and will probably change.
+</description><url>https://emacsconf.org/2021/talks/teach</url><persons><person>Daniel German</person></persons></event><event id="19" guid="db5821ed-fef4-4934-8fb3-87a0282714de"><date>2021-11-27T20:24:00Z</date><start>15:24</start><language>en</language><room>Main</room><subtitle></subtitle><type>Talk</type><track>Main</track><slug>emacsconf-2021-talk-babel</slug><duration>0:10</duration><title>Babel for academics</title><abstract></abstract><description>Times are approximate and will probably change.
-</description><url>https://emacsconf.org/2021/talks/research</url><persons><person>Ahmed Khaled</person></persons></event><event id="19" guid="db5821ed-fef4-4934-8fb3-87a0282714de"><date>2021-11-27T20:39:00Z</date><start>15:39</start><language>en</language><room>Main</room><subtitle></subtitle><type>Talk</type><track>Main</track><slug>emacsconf-2021-talk-babel</slug><duration>0:10</duration><title>Babel for academics</title><abstract></abstract><description>Times are approximate and will probably change.
+</description><url>https://emacsconf.org/2021/talks/babel</url><persons><person>Asilata Bapat</person></persons></event><event id="20" guid="fd246cee-b5d6-7cc4-2b63-20e87bb7d750"><date>2021-11-27T20:36:00Z</date><start>15:36</start><language>en</language><room>Main</room><subtitle></subtitle><type>Talk</type><track>Main</track><slug>emacsconf-2021-talk-research</slug><duration>0:09</duration><title>Managing a research workflow (bibliographies, note-taking, and arXiv)</title><abstract></abstract><description>Times are approximate and will probably change.
-</description><url>https://emacsconf.org/2021/talks/babel</url><persons><person>Asilata Bapat</person></persons></event><event id="21" guid="1fc4917c-aab4-1924-2983-e78f8bca6af9"><date>2021-11-27T20:51:00Z</date><start>15:51</start><language>en</language><room>Main</room><subtitle></subtitle><type>Talk</type><track>Main</track><slug>emacsconf-2021-talk-molecular</slug><duration>0:09</duration><title>Reproducible molecular graphics with Org-mode</title><abstract></abstract><description>Times are approximate and will probably change.
+</description><url>https://emacsconf.org/2021/talks/research</url><persons><person>Ahmed Khaled</person></persons></event><event id="21" guid="1fc4917c-aab4-1924-2983-e78f8bca6af9"><date>2021-11-27T20:48:00Z</date><start>15:48</start><language>en</language><room>Main</room><subtitle></subtitle><type>Talk</type><track>Main</track><slug>emacsconf-2021-talk-molecular</slug><duration>0:09</duration><title>Reproducible molecular graphics with Org-mode</title><abstract></abstract><description>Times are approximate and will probably change.
-</description><url>https://emacsconf.org/2021/talks/molecular</url><persons><person>Blaine Mooers</person></persons></event><event id="14" guid="c54c7930-51cc-5184-9dfb-5033e577b95e"><date>2021-11-27T21:03:00Z</date><start>16:03</start><language>en</language><room>Main</room><subtitle></subtitle><type>Talk</type><track>Main</track><slug>emacsconf-2021-talk-project</slug><duration>0:10</duration><title>Budgeting, Project Monitoring and Invoicing with Org Mode</title><abstract></abstract><description>Times are approximate and will probably change.
+</description><url>https://emacsconf.org/2021/talks/molecular</url><persons><person>Blaine Mooers</person></persons></event><event id="14" guid="c54c7930-51cc-5184-9dfb-5033e577b95e"><date>2021-11-27T21:00:00Z</date><start>16:00</start><language>en</language><room>Main</room><subtitle></subtitle><type>Talk</type><track>Main</track><slug>emacsconf-2021-talk-project</slug><duration>0:10</duration><title>Budgeting, Project Monitoring and Invoicing with Org Mode</title><abstract></abstract><description>Times are approximate and will probably change.
-</description><url>https://emacsconf.org/2021/talks/project</url><persons><person>Adolfo Villafiorita</person></persons></event><event id="15" guid="c9870e10-2600-85a4-24fb-793dfc51164e"><date>2021-11-27T21:16:00Z</date><start>16:16</start><language>en</language><room>Main</room><subtitle></subtitle><type>Talk</type><track>Main</track><slug>emacsconf-2021-talk-invoice</slug><duration>0:10</duration><title>Finding Your (In)voice: Emacs for Invoicing</title><abstract></abstract><description>Times are approximate and will probably change.
+</description><url>https://emacsconf.org/2021/talks/project</url><persons><person>Adolfo Villafiorita</person></persons></event><event id="15" guid="c9870e10-2600-85a4-24fb-793dfc51164e"><date>2021-11-27T21:13:00Z</date><start>16:13</start><language>en</language><room>Main</room><subtitle></subtitle><type>Talk</type><track>Main</track><slug>emacsconf-2021-talk-invoice</slug><duration>0:10</duration><title>Finding Your (In)voice: Emacs for Invoicing</title><abstract></abstract><description>Times are approximate and will probably change.
-</description><url>https://emacsconf.org/2021/talks/invoice</url><persons><person>Bala Ramadurai</person></persons></event><event id="24" guid="e4e995c0-6e06-8544-a8c3-5f9a06c856fb"><date>2021-11-27T21:29:00Z</date><start>16:29</start><language>en</language><room>Main</room><subtitle></subtitle><type>Talk</type><track>Main</track><slug>emacsconf-2021-talk-dashboard</slug><duration>0:09</duration><title>Productivity Dashboards with Emacs and Kindle</title><abstract></abstract><description>Times are approximate and will probably change.
+</description><url>https://emacsconf.org/2021/talks/invoice</url><persons><person>Bala Ramadurai</person></persons></event><event id="24" guid="e4e995c0-6e06-8544-a8c3-5f9a06c856fb"><date>2021-11-27T21:26:00Z</date><start>16:26</start><language>en</language><room>Main</room><subtitle></subtitle><type>Talk</type><track>Main</track><slug>emacsconf-2021-talk-dashboard</slug><duration>0:09</duration><title>Productivity Dashboards with Emacs and Kindle</title><abstract></abstract><description>Times are approximate and will probably change.
-</description><url>https://emacsconf.org/2021/talks/dashboard</url><persons><person>Mehmet Tekman</person></persons></event><event id="25" guid="33776e08-e815-db94-971b-a151236e11be"><date>2021-11-27T21:41:00Z</date><start>16:41</start><language>en</language><room>Main</room><subtitle></subtitle><type>Talk</type><track>Main</track><slug>emacsconf-2021-talk-nyxt</slug><duration>0:09</duration><title>Emacs with Nyxt: extend your editor with the power of a Lisp browser</title><abstract></abstract><description>Times are approximate and will probably change.
+</description><url>https://emacsconf.org/2021/talks/dashboard</url><persons><person>Mehmet Tekman</person></persons></event><event id="25" guid="33776e08-e815-db94-971b-a151236e11be"><date>2021-11-27T21:38:00Z</date><start>16:38</start><language>en</language><room>Main</room><subtitle></subtitle><type>Talk</type><track>Main</track><slug>emacsconf-2021-talk-nyxt</slug><duration>0:09</duration><title>Emacs with Nyxt: extend your editor with the power of a Lisp browser</title><abstract></abstract><description>Times are approximate and will probably change.
-</description><url>https://emacsconf.org/2021/talks/nyxt</url><persons><person>Andrea</person></persons></event><event id="53" guid="59e4daca-1e46-9054-9573-9c91966d6987"><date>2021-11-27T21:53:00Z</date><start>16:53</start><language>en</language><room>Main</room><subtitle></subtitle><type>Talk</type><track>Main</track><slug>emacsconf-2021-talk-dev-update</slug><duration>0:08</duration><title>Emacs development updates</title><abstract></abstract><description>Times are approximate and will probably change.
+</description><url>https://emacsconf.org/2021/talks/nyxt</url><persons><person>Andrea</person></persons></event><event id="53" guid="59e4daca-1e46-9054-9573-9c91966d6987"><date>2021-11-27T21:50:00Z</date><start>16:50</start><language>en</language><room>Main</room><subtitle></subtitle><type>Talk</type><track>Main</track><slug>emacsconf-2021-talk-dev-update</slug><duration>0:08</duration><title>Emacs development updates</title><abstract></abstract><description>Times are approximate and will probably change.
-</description><url>https://emacsconf.org/2021/talks/dev-update</url><persons><person>John Wiegley</person></persons></event><event id="26" guid="86d4470a-8d19-7bd4-0c53-6aba1b49baef"><date>2021-11-27T22:04:00Z</date><start>17:04</start><language>en</language><room>Main</room><subtitle></subtitle><type>Talk</type><track>Main</track><slug>emacsconf-2021-talk-design</slug><duration>0:07</duration><title>On the design of text editors</title><abstract></abstract><description>Times are approximate and will probably change.
+</description><url>https://emacsconf.org/2021/talks/dev-update</url><persons><person>John Wiegley</person></persons></event><event id="26" guid="86d4470a-8d19-7bd4-0c53-6aba1b49baef"><date>2021-11-27T22:01:00Z</date><start>17:01</start><language>en</language><room>Main</room><subtitle></subtitle><type>Talk</type><track>Main</track><slug>emacsconf-2021-talk-design</slug><duration>0:07</duration><title>On the design of text editors</title><abstract></abstract><description>Times are approximate and will probably change.
-</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:15:00Z</date><start>17:15</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/design</url><persons><person>Nicolas P. Rougier</person></persons></event><event id="28" guid="5287b003-f368-36c4-4f9b-8135734cad39"><date>2021-11-27T22:12:00Z</date><start>17:12</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:09: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.
diff --git a/2021/emacsconf.ics b/2021/emacsconf.ics
index 3a6bba59..66b68fe2 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:20211127T194213Z
+DTSTAMP:20211127T195908Z
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:20211127T194213Z
+DTSTAMP:20211127T195908Z
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:20211127T194213Z
+DTSTAMP:20211127T195908Z
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:20211127T194213Z
+DTSTAMP:20211127T195908Z
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:20211127T194213Z
+DTSTAMP:20211127T195908Z
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:20211127T194213Z
+DTSTAMP:20211127T195908Z
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:20211127T194213Z
+DTSTAMP:20211127T195908Z
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:20211127T194213Z
+DTSTAMP:20211127T195908Z
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:20211127T194213Z
+DTSTAMP:20211127T195908Z
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:20211127T194213Z
+DTSTAMP:20211127T195908Z
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:20211127T194213Z
+DTSTAMP:20211127T195908Z
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:20211127T194213Z
+DTSTAMP:20211127T195908Z
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:20211127T194213Z
+DTSTAMP:20211127T195908Z
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:20211127T194213Z
+DTSTAMP:20211127T195908Z
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:20211127T194213Z
+DTSTAMP:20211127T195908Z
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:20211127T194213Z
+DTSTAMP:20211127T195908Z
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:20211127T194213Z
+DTSTAMP:20211127T195908Z
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:20211127T194213Z
+DTSTAMP:20211127T195908Z
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:20211127T194213Z
+DTSTAMP:20211127T195908Z
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
@@ -267,9 +267,9 @@ ORGANIZER:EmacsConf
LOCATION:https://emacsconf.org/
UID:69763d57-be4e-7e74-509b-92e48a0e7ba6
URL:https://emacsconf.org/2021/talks/org-outside
-DTSTART:20211127T194900Z
-DTEND:20211127T200200Z
-DTSTAMP:20211127T194213Z
+DTSTART:20211127T194600Z
+DTEND:20211127T195900Z
+DTSTAMP:20211127T195908Z
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
@@ -280,49 +280,49 @@ ORGANIZER:EmacsConf
LOCATION:https://emacsconf.org/
UID:aed5e190-66a0-3dd4-e5eb-be09be94e6c3
URL:https://emacsconf.org/2021/talks/teach
-DTSTART:20211127T200300Z
-DTEND:20211127T202400Z
-DTSTAMP:20211127T194213Z
+DTSTART:20211127T200000Z
+DTEND:20211127T202100Z
+DTSTAMP:20211127T195908Z
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
END:VEVENT
BEGIN:VEVENT
+SUMMARY:Babel for academics - Asilata Bapat
+ORGANIZER:EmacsConf
+LOCATION:https://emacsconf.org/
+UID:db5821ed-fef4-4934-8fb3-87a0282714de
+URL:https://emacsconf.org/2021/talks/babel
+DTSTART:20211127T202400Z
+DTEND:20211127T203400Z
+DTSTAMP:20211127T195908Z
+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
+END:VEVENT
+BEGIN:VEVENT
SUMMARY:Managing a research workflow (bibliographies\, note-taking\, and ar
Xiv) - Ahmed Khaled
ORGANIZER:EmacsConf
LOCATION:https://emacsconf.org/
UID:fd246cee-b5d6-7cc4-2b63-20e87bb7d750
URL:https://emacsconf.org/2021/talks/research
-DTSTART:20211127T202700Z
-DTEND:20211127T203600Z
-DTSTAMP:20211127T194213Z
+DTSTART:20211127T203600Z
+DTEND:20211127T204500Z
+DTSTAMP:20211127T195908Z
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
END:VEVENT
BEGIN:VEVENT
-SUMMARY:Babel for academics - Asilata Bapat
-ORGANIZER:EmacsConf
-LOCATION:https://emacsconf.org/
-UID:db5821ed-fef4-4934-8fb3-87a0282714de
-URL:https://emacsconf.org/2021/talks/babel
-DTSTART:20211127T203900Z
-DTEND:20211127T204900Z
-DTSTAMP:20211127T194213Z
-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
-END:VEVENT
-BEGIN:VEVENT
SUMMARY:Reproducible molecular graphics with Org-mode - Blaine Mooers
ORGANIZER:EmacsConf
LOCATION:https://emacsconf.org/
UID:1fc4917c-aab4-1924-2983-e78f8bca6af9
URL:https://emacsconf.org/2021/talks/molecular
-DTSTART:20211127T205100Z
-DTEND:20211127T210000Z
-DTSTAMP:20211127T194213Z
+DTSTART:20211127T204800Z
+DTEND:20211127T205700Z
+DTSTAMP:20211127T195908Z
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
@@ -334,9 +334,9 @@ ORGANIZER:EmacsConf
LOCATION:https://emacsconf.org/
UID:c54c7930-51cc-5184-9dfb-5033e577b95e
URL:https://emacsconf.org/2021/talks/project
-DTSTART:20211127T210300Z
-DTEND:20211127T211300Z
-DTSTAMP:20211127T194213Z
+DTSTART:20211127T210000Z
+DTEND:20211127T211000Z
+DTSTAMP:20211127T195908Z
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
@@ -347,9 +347,9 @@ ORGANIZER:EmacsConf
LOCATION:https://emacsconf.org/
UID:c9870e10-2600-85a4-24fb-793dfc51164e
URL:https://emacsconf.org/2021/talks/invoice
-DTSTART:20211127T211600Z
-DTEND:20211127T212600Z
-DTSTAMP:20211127T194213Z
+DTSTART:20211127T211300Z
+DTEND:20211127T212300Z
+DTSTAMP:20211127T195908Z
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
@@ -360,9 +360,9 @@ ORGANIZER:EmacsConf
LOCATION:https://emacsconf.org/
UID:e4e995c0-6e06-8544-a8c3-5f9a06c856fb
URL:https://emacsconf.org/2021/talks/dashboard
-DTSTART:20211127T212900Z
-DTEND:20211127T213800Z
-DTSTAMP:20211127T194213Z
+DTSTART:20211127T212600Z
+DTEND:20211127T213500Z
+DTSTAMP:20211127T195908Z
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
@@ -374,9 +374,9 @@ ORGANIZER:EmacsConf
LOCATION:https://emacsconf.org/
UID:33776e08-e815-db94-971b-a151236e11be
URL:https://emacsconf.org/2021/talks/nyxt
-DTSTART:20211127T214100Z
-DTEND:20211127T215000Z
-DTSTAMP:20211127T194213Z
+DTSTART:20211127T213800Z
+DTEND:20211127T214700Z
+DTSTAMP:20211127T195908Z
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
@@ -387,9 +387,9 @@ ORGANIZER:EmacsConf
LOCATION:https://emacsconf.org/
UID:59e4daca-1e46-9054-9573-9c91966d6987
URL:https://emacsconf.org/2021/talks/dev-update
-DTSTART:20211127T215300Z
-DTEND:20211127T220100Z
-DTSTAMP:20211127T194213Z
+DTSTART:20211127T215000Z
+DTEND:20211127T215800Z
+DTSTAMP:20211127T195908Z
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
@@ -400,9 +400,9 @@ ORGANIZER:EmacsConf
LOCATION:https://emacsconf.org/
UID:86d4470a-8d19-7bd4-0c53-6aba1b49baef
URL:https://emacsconf.org/2021/talks/design
-DTSTART:20211127T220400Z
-DTEND:20211127T221100Z
-DTSTAMP:20211127T194213Z
+DTSTART:20211127T220100Z
+DTEND:20211127T220800Z
+DTSTAMP:20211127T195908Z
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
@@ -413,9 +413,9 @@ ORGANIZER:EmacsConf
LOCATION:https://emacsconf.org/
UID:5287b003-f368-36c4-4f9b-8135734cad39
URL:https://emacsconf.org/2021/talks/day1-close
-DTSTART:20211127T221500Z
-DTEND:20211127T222000Z
-DTSTAMP:20211127T194213Z
+DTSTART:20211127T221200Z
+DTEND:20211127T221700Z
+DTSTAMP:20211127T195908Z
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:20211127T194213Z
+DTSTAMP:20211127T195908Z
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:20211128T140500Z
DTEND:20211128T144100Z
-DTSTAMP:20211127T194213Z
+DTSTAMP:20211127T195908Z
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:20211128T145600Z
DTEND:20211128T150700Z
-DTSTAMP:20211127T194213Z
+DTSTAMP:20211127T195908Z
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:20211128T151300Z
DTEND:20211128T152300Z
-DTSTAMP:20211127T194213Z
+DTSTAMP:20211127T195908Z
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:20211128T153300Z
DTEND:20211128T154300Z
-DTSTAMP:20211127T194213Z
+DTSTAMP:20211127T195908Z
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:20211128T154700Z
DTEND:20211128T155700Z
-DTSTAMP:20211127T194213Z
+DTSTAMP:20211127T195908Z
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:20211127T194213Z
+DTSTAMP:20211127T195908Z
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:20211128T180000Z
DTEND:20211128T181300Z
-DTSTAMP:20211127T194213Z
+DTSTAMP:20211127T195908Z
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:20211128T181600Z
DTEND:20211128T184600Z
-DTSTAMP:20211127T194213Z
+DTSTAMP:20211127T195908Z
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
@@ -546,7 +546,7 @@ UID:5e162d34-ea19-8544-b693-dd6da0e885cd
URL:https://emacsconf.org/2021/talks/test
DTSTART:20211128T185300Z
DTEND:20211128T190000Z
-DTSTAMP:20211127T194213Z
+DTSTAMP:20211127T195908Z
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
@@ -560,7 +560,7 @@ UID:1407591a-29fd-3f64-1beb-01dea6e9d7d2
URL:https://emacsconf.org/2021/talks/bidi
DTSTART:20211128T190200Z
DTEND:20211128T192200Z
-DTSTAMP:20211127T194213Z
+DTSTAMP:20211127T195908Z
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
@@ -573,7 +573,7 @@ UID:e7981936-6d72-93d4-8783-5ac64a0ae5bb
URL:https://emacsconf.org/2021/talks/eaf
DTSTART:20211128T193200Z
DTEND:20211128T194200Z
-DTSTAMP:20211127T194213Z
+DTSTAMP:20211127T195908Z
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
@@ -586,7 +586,7 @@ UID:f03ae971-4d2b-ccc4-2643-4ae2391ce1ab
URL:https://emacsconf.org/2021/talks/imaginary
DTSTART:20211128T194600Z
DTEND:20211128T195700Z
-DTSTAMP:20211127T194213Z
+DTSTAMP:20211127T195908Z
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
@@ -599,7 +599,7 @@ UID:daf3570b-3df3-9db4-a1f3-ce98d9863717
URL:https://emacsconf.org/2021/talks/clede
DTSTART:20211128T200200Z
DTEND:20211128T202100Z
-DTSTAMP:20211127T194213Z
+DTSTAMP:20211127T195908Z
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
@@ -612,7 +612,7 @@ UID:51c360e6-188f-9a34-05bb-0a8d2eb09cdc
URL:https://emacsconf.org/2021/talks/maintainers
DTSTART:20211128T202800Z
DTEND:20211128T203800Z
-DTSTAMP:20211127T194213Z
+DTSTAMP:20211127T195908Z
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
@@ -625,7 +625,7 @@ UID:27595637-b6b9-f764-805b-ff1b7f009006
URL:https://emacsconf.org/2021/talks/build
DTSTART:20211128T205000Z
DTEND:20211128T210700Z
-DTSTAMP:20211127T194213Z
+DTSTAMP:20211127T195908Z
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
@@ -639,7 +639,7 @@ UID:80d1ad02-5fe4-03b4-c573-17ea6cdb61aa
URL:https://emacsconf.org/2021/talks/forever
DTSTART:20211128T211400Z
DTEND:20211128T213900Z
-DTSTAMP:20211127T194213Z
+DTSTAMP:20211127T195908Z
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
@@ -652,7 +652,7 @@ UID:828e7c62-8430-f1a4-431b-63c308d58688
URL:https://emacsconf.org/2021/talks/day2-close
DTSTART:20211128T215900Z
DTEND:20211128T220900Z
-DTSTAMP:20211127T194213Z
+DTSTAMP:20211127T195908Z
DESCRIPTION: Times are approximate and will probably change.\nhttps://emacs
conf.org/2021/talks/day2-close\n
END:VEVENT
diff --git a/2021/info/babel-nav.md b/2021/info/babel-nav.md
index fd1e6590..e3acd3aa 100644
--- a/2021/info/babel-nav.md
+++ b/2021/info/babel-nav.md
@@ -1,3 +1,3 @@
Back to the [[schedule]]
-Previous: <a href="/2021/talks/research">Managing a research workflow (bibliographies, note-taking, and arXiv)</a>
-Next: <a href="/2021/talks/molecular">Reproducible molecular graphics with Org-mode</a>
+Previous: <a href="/2021/talks/teach">Using Org-mode to teach programming</a>
+Next: <a href="/2021/talks/research">Managing a research workflow (bibliographies, note-taking, and arXiv)</a>
diff --git a/2021/info/babel-schedule.md b/2021/info/babel-schedule.md
index f0ccd899..a97cb46f 100644
--- a/2021/info/babel-schedule.md
+++ b/2021/info/babel-schedule.md
@@ -3,7 +3,7 @@
Q&A: maybe live (early morning in Australia)
Status: Captions added to video
Duration: 9:58
-<div class="times" start="2021-11-27T20:39:00Z" end="2021-11-27T20:49:00Z">Saturday, Nov 27 2021, ~ 3:39 PM - 3:49 PM EST<br />Saturday, Nov 27 2021, ~12:39 PM - 12:49 PM PST<br />Saturday, Nov 27 2021, ~ 8:39 PM - 8:49 PM UTC<br />Saturday, Nov 27 2021, ~ 9:39 PM - 9:49 PM CET<br />Saturday, Nov 27 2021, ~10:39 PM - 10:49 PM EET<br />Sunday, Nov 28 2021, ~ 2:09 AM - 2:19 AM IST<br />Sunday, Nov 28 2021, ~ 4:39 AM - 4:49 AM +08<br />Sunday, Nov 28 2021, ~ 5:39 AM - 5:49 AM JST<br /><a href="/2021/">Find out how to watch and participate</a></div>
+<div class="times" start="2021-11-27T20:24:00Z" end="2021-11-27T20:34:00Z">Saturday, Nov 27 2021, ~ 3:24 PM - 3:34 PM EST<br />Saturday, Nov 27 2021, ~12:24 PM - 12:34 PM PST<br />Saturday, Nov 27 2021, ~ 8:24 PM - 8:34 PM UTC<br />Saturday, Nov 27 2021, ~ 9:24 PM - 9:34 PM CET<br />Saturday, Nov 27 2021, ~10:24 PM - 10:34 PM EET<br />Sunday, Nov 28 2021, ~ 1:54 AM - 2:04 AM IST<br />Sunday, Nov 28 2021, ~ 4:24 AM - 4:34 AM +08<br />Sunday, Nov 28 2021, ~ 5:24 AM - 5:34 AM JST<br /><a href="/2021/">Find out how to watch and participate</a></div>
[[!inline pages="internal(2021/inline-alternate)" raw="yes"]]
# Description
diff --git a/2021/info/dashboard-schedule.md b/2021/info/dashboard-schedule.md
index d93aa426..55ed62cb 100644
--- a/2021/info/dashboard-schedule.md
+++ b/2021/info/dashboard-schedule.md
@@ -3,7 +3,7 @@
Q&A: live Q&A and Matrix Chat (@mtekman:matrix.org)
Status: Captions added to video
Duration: 8:31
-<div class="times" start="2021-11-27T21:29:00Z" end="2021-11-27T21:38:00Z">Saturday, Nov 27 2021, ~ 4:29 PM - 4:38 PM EST<br />Saturday, Nov 27 2021, ~ 1:29 PM - 1:38 PM PST<br />Saturday, Nov 27 2021, ~ 9:29 PM - 9:38 PM UTC<br />Saturday, Nov 27 2021, ~10:29 PM - 10:38 PM CET<br />Saturday, Nov 27 2021, ~11:29 PM - 11:38 PM EET<br />Sunday, Nov 28 2021, ~ 2:59 AM - 3:08 AM IST<br />Sunday, Nov 28 2021, ~ 5:29 AM - 5:38 AM +08<br />Sunday, Nov 28 2021, ~ 6:29 AM - 6:38 AM JST<br /><a href="/2021/">Find out how to watch and participate</a></div>
+<div class="times" start="2021-11-27T21:26:00Z" end="2021-11-27T21:35:00Z">Saturday, Nov 27 2021, ~ 4:26 PM - 4:35 PM EST<br />Saturday, Nov 27 2021, ~ 1:26 PM - 1:35 PM PST<br />Saturday, Nov 27 2021, ~ 9:26 PM - 9:35 PM UTC<br />Saturday, Nov 27 2021, ~10:26 PM - 10:35 PM CET<br />Saturday, Nov 27 2021, ~11:26 PM - 11:35 PM EET<br />Sunday, Nov 28 2021, ~ 2:56 AM - 3:05 AM IST<br />Sunday, Nov 28 2021, ~ 5:26 AM - 5:35 AM +08<br />Sunday, Nov 28 2021, ~ 6:26 AM - 6:35 AM JST<br /><a href="/2021/">Find out how to watch and participate</a></div>
# Description
diff --git a/2021/info/day1-close-schedule.md b/2021/info/day1-close-schedule.md
index b045540e..770eebf4 100644
--- a/2021/info/day1-close-schedule.md
+++ b/2021/info/day1-close-schedule.md
@@ -2,7 +2,7 @@
Status: Will be live
Duration: 5 minutes
-<div class="times" start="2021-11-27T22:15:00Z" end="2021-11-27T22:20:00Z">Saturday, Nov 27 2021, ~ 5:15 PM - 5:20 PM EST<br />Saturday, Nov 27 2021, ~ 2:15 PM - 2:20 PM PST<br />Saturday, Nov 27 2021, ~10:15 PM - 10:20 PM UTC<br />Saturday, Nov 27 2021, ~11:15 PM - 11:20 PM CET<br />Sunday, Nov 28 2021, ~12:15 AM - 12:20 AM EET<br />Sunday, Nov 28 2021, ~ 3:45 AM - 3:50 AM IST<br />Sunday, Nov 28 2021, ~ 6:15 AM - 6:20 AM +08<br />Sunday, Nov 28 2021, ~ 7:15 AM - 7:20 AM JST<br /><a href="/2021/">Find out how to watch and participate</a></div>
+<div class="times" start="2021-11-27T22:12:00Z" end="2021-11-27T22:17:00Z">Saturday, Nov 27 2021, ~ 5:12 PM - 5:17 PM EST<br />Saturday, Nov 27 2021, ~ 2:12 PM - 2:17 PM PST<br />Saturday, Nov 27 2021, ~10:12 PM - 10:17 PM UTC<br />Saturday, Nov 27 2021, ~11:12 PM - 11:17 PM CET<br />Sunday, Nov 28 2021, ~12:12 AM - 12:17 AM EET<br />Sunday, Nov 28 2021, ~ 3:42 AM - 3:47 AM IST<br />Sunday, Nov 28 2021, ~ 6:12 AM - 6:17 AM +08<br />Sunday, Nov 28 2021, ~ 7:12 AM - 7:17 AM JST<br /><a href="/2021/">Find out how to watch and participate</a></div>
# Description
diff --git a/2021/info/design-schedule.md b/2021/info/design-schedule.md
index 8d3d1ae6..7da3a3df 100644
--- a/2021/info/design-schedule.md
+++ b/2021/info/design-schedule.md
@@ -3,7 +3,7 @@
Q&A: maybe live
Status: Captions added to video
Duration: 6:39
-<div class="times" start="2021-11-27T22:04:00Z" end="2021-11-27T22:11:00Z">Saturday, Nov 27 2021, ~ 5:04 PM - 5:11 PM EST<br />Saturday, Nov 27 2021, ~ 2:04 PM - 2:11 PM PST<br />Saturday, Nov 27 2021, ~10:04 PM - 10:11 PM UTC<br />Saturday, Nov 27 2021, ~11:04 PM - 11:11 PM CET<br />Sunday, Nov 28 2021, ~12:04 AM - 12:11 AM EET<br />Sunday, Nov 28 2021, ~ 3:34 AM - 3:41 AM IST<br />Sunday, Nov 28 2021, ~ 6:04 AM - 6:11 AM +08<br />Sunday, Nov 28 2021, ~ 7:04 AM - 7:11 AM JST<br /><a href="/2021/">Find out how to watch and participate</a></div>
+<div class="times" start="2021-11-27T22:01:00Z" end="2021-11-27T22:08:00Z">Saturday, Nov 27 2021, ~ 5:01 PM - 5:08 PM EST<br />Saturday, Nov 27 2021, ~ 2:01 PM - 2:08 PM PST<br />Saturday, Nov 27 2021, ~10:01 PM - 10:08 PM UTC<br />Saturday, Nov 27 2021, ~11:01 PM - 11:08 PM CET<br />Sunday, Nov 28 2021, ~12:01 AM - 12:08 AM EET<br />Sunday, Nov 28 2021, ~ 3:31 AM - 3:38 AM IST<br />Sunday, Nov 28 2021, ~ 6:01 AM - 6:08 AM +08<br />Sunday, Nov 28 2021, ~ 7:01 AM - 7:08 AM JST<br /><a href="/2021/">Find out how to watch and participate</a></div>
[[!inline pages="internal(2021/inline-alternate)" raw="yes"]]
# Description
diff --git a/2021/info/dev-update-schedule.md b/2021/info/dev-update-schedule.md
index 482d3a04..ed656706 100644
--- a/2021/info/dev-update-schedule.md
+++ b/2021/info/dev-update-schedule.md
@@ -3,7 +3,7 @@
Q&A: maybe after the conference; will try to attend
Status: Captions added to video
Duration: 7:17
-<div class="times" start="2021-11-27T21:53:00Z" end="2021-11-27T22:01:00Z">Saturday, Nov 27 2021, ~ 4:53 PM - 5:01 PM EST<br />Saturday, Nov 27 2021, ~ 1:53 PM - 2:01 PM PST<br />Saturday, Nov 27 2021, ~ 9:53 PM - 10:01 PM UTC<br />Saturday, Nov 27 2021, ~10:53 PM - 11:01 PM CET<br />Saturday, Nov 27 2021, ~11:53 PM - 12:01 AM EET<br />Sunday, Nov 28 2021, ~ 3:23 AM - 3:31 AM IST<br />Sunday, Nov 28 2021, ~ 5:53 AM - 6:01 AM +08<br />Sunday, Nov 28 2021, ~ 6:53 AM - 7:01 AM JST<br /><a href="/2021/">Find out how to watch and participate</a></div>
+<div class="times" start="2021-11-27T21:50:00Z" end="2021-11-27T21:58:00Z">Saturday, Nov 27 2021, ~ 4:50 PM - 4:58 PM EST<br />Saturday, Nov 27 2021, ~ 1:50 PM - 1:58 PM PST<br />Saturday, Nov 27 2021, ~ 9:50 PM - 9:58 PM UTC<br />Saturday, Nov 27 2021, ~10:50 PM - 10:58 PM CET<br />Saturday, Nov 27 2021, ~11:50 PM - 11:58 PM EET<br />Sunday, Nov 28 2021, ~ 3:20 AM - 3:28 AM IST<br />Sunday, Nov 28 2021, ~ 5:50 AM - 5:58 AM +08<br />Sunday, Nov 28 2021, ~ 6:50 AM - 6:58 AM JST<br /><a href="/2021/">Find out how to watch and participate</a></div>
[[!inline pages="internal(2021/inline-alternate)" raw="yes"]]
# Description
diff --git a/2021/info/invoice-schedule.md b/2021/info/invoice-schedule.md
index f51f319a..0196cd4c 100644
--- a/2021/info/invoice-schedule.md
+++ b/2021/info/invoice-schedule.md
@@ -3,7 +3,7 @@
Q&A: answering after the conference
Status: Captions added to video
Duration: 9:59
-<div class="times" start="2021-11-27T21:16:00Z" end="2021-11-27T21:26:00Z">Saturday, Nov 27 2021, ~ 4:16 PM - 4:26 PM EST<br />Saturday, Nov 27 2021, ~ 1:16 PM - 1:26 PM PST<br />Saturday, Nov 27 2021, ~ 9:16 PM - 9:26 PM UTC<br />Saturday, Nov 27 2021, ~10:16 PM - 10:26 PM CET<br />Saturday, Nov 27 2021, ~11:16 PM - 11:26 PM EET<br />Sunday, Nov 28 2021, ~ 2:46 AM - 2:56 AM IST<br />Sunday, Nov 28 2021, ~ 5:16 AM - 5:26 AM +08<br />Sunday, Nov 28 2021, ~ 6:16 AM - 6:26 AM JST<br /><a href="/2021/">Find out how to watch and participate</a></div>
+<div class="times" start="2021-11-27T21:13:00Z" end="2021-11-27T21:23:00Z">Saturday, Nov 27 2021, ~ 4:13 PM - 4:23 PM EST<br />Saturday, Nov 27 2021, ~ 1:13 PM - 1:23 PM PST<br />Saturday, Nov 27 2021, ~ 9:13 PM - 9:23 PM UTC<br />Saturday, Nov 27 2021, ~10:13 PM - 10:23 PM CET<br />Saturday, Nov 27 2021, ~11:13 PM - 11:23 PM EET<br />Sunday, Nov 28 2021, ~ 2:43 AM - 2:53 AM IST<br />Sunday, Nov 28 2021, ~ 5:13 AM - 5:23 AM +08<br />Sunday, Nov 28 2021, ~ 6:13 AM - 6:23 AM JST<br /><a href="/2021/">Find out how to watch and participate</a></div>
[[!inline pages="internal(2021/inline-alternate)" raw="yes"]]
# Description
diff --git a/2021/info/molecular-nav.md b/2021/info/molecular-nav.md
index 24447c94..7e5e9229 100644
--- a/2021/info/molecular-nav.md
+++ b/2021/info/molecular-nav.md
@@ -1,3 +1,3 @@
Back to the [[schedule]]
-Previous: <a href="/2021/talks/babel">Babel for academics</a>
+Previous: <a href="/2021/talks/research">Managing a research workflow (bibliographies, note-taking, and arXiv)</a>
Next: <a href="/2021/talks/project">Budgeting, Project Monitoring and Invoicing with Org Mode</a>
diff --git a/2021/info/molecular-schedule.md b/2021/info/molecular-schedule.md
index 23662693..a5153447 100644
--- a/2021/info/molecular-schedule.md
+++ b/2021/info/molecular-schedule.md
@@ -3,7 +3,7 @@
Q&A: live Q&A or Etherpad
Status: Captions added to video
Duration: 8:04
-<div class="times" start="2021-11-27T20:51:00Z" end="2021-11-27T21:00:00Z">Saturday, Nov 27 2021, ~ 3:51 PM - 4:00 PM EST<br />Saturday, Nov 27 2021, ~12:51 PM - 1:00 PM PST<br />Saturday, Nov 27 2021, ~ 8:51 PM - 9:00 PM UTC<br />Saturday, Nov 27 2021, ~ 9:51 PM - 10:00 PM CET<br />Saturday, Nov 27 2021, ~10:51 PM - 11:00 PM EET<br />Sunday, Nov 28 2021, ~ 2:21 AM - 2:30 AM IST<br />Sunday, Nov 28 2021, ~ 4:51 AM - 5:00 AM +08<br />Sunday, Nov 28 2021, ~ 5:51 AM - 6:00 AM JST<br /><a href="/2021/">Find out how to watch and participate</a></div>
+<div class="times" start="2021-11-27T20:48:00Z" end="2021-11-27T20:57:00Z">Saturday, Nov 27 2021, ~ 3:48 PM - 3:57 PM EST<br />Saturday, Nov 27 2021, ~12:48 PM - 12:57 PM PST<br />Saturday, Nov 27 2021, ~ 8:48 PM - 8:57 PM UTC<br />Saturday, Nov 27 2021, ~ 9:48 PM - 9:57 PM CET<br />Saturday, Nov 27 2021, ~10:48 PM - 10:57 PM EET<br />Sunday, Nov 28 2021, ~ 2:18 AM - 2:27 AM IST<br />Sunday, Nov 28 2021, ~ 4:48 AM - 4:57 AM +08<br />Sunday, Nov 28 2021, ~ 5:48 AM - 5:57 AM JST<br /><a href="/2021/">Find out how to watch and participate</a></div>
# Description
diff --git a/2021/info/nyxt-schedule.md b/2021/info/nyxt-schedule.md
index 9f5a7549..303968f9 100644
--- a/2021/info/nyxt-schedule.md
+++ b/2021/info/nyxt-schedule.md
@@ -3,7 +3,7 @@
Q&A: IRC or Etherpad
Status: Captions added to video
Duration: 8:26
-<div class="times" start="2021-11-27T21:41:00Z" end="2021-11-27T21:50:00Z">Saturday, Nov 27 2021, ~ 4:41 PM - 4:50 PM EST<br />Saturday, Nov 27 2021, ~ 1:41 PM - 1:50 PM PST<br />Saturday, Nov 27 2021, ~ 9:41 PM - 9:50 PM UTC<br />Saturday, Nov 27 2021, ~10:41 PM - 10:50 PM CET<br />Saturday, Nov 27 2021, ~11:41 PM - 11:50 PM EET<br />Sunday, Nov 28 2021, ~ 3:11 AM - 3:20 AM IST<br />Sunday, Nov 28 2021, ~ 5:41 AM - 5:50 AM +08<br />Sunday, Nov 28 2021, ~ 6:41 AM - 6:50 AM JST<br /><a href="/2021/">Find out how to watch and participate</a></div>
+<div class="times" start="2021-11-27T21:38:00Z" end="2021-11-27T21:47:00Z">Saturday, Nov 27 2021, ~ 4:38 PM - 4:47 PM EST<br />Saturday, Nov 27 2021, ~ 1:38 PM - 1:47 PM PST<br />Saturday, Nov 27 2021, ~ 9:38 PM - 9:47 PM UTC<br />Saturday, Nov 27 2021, ~10:38 PM - 10:47 PM CET<br />Saturday, Nov 27 2021, ~11:38 PM - 11:47 PM EET<br />Sunday, Nov 28 2021, ~ 3:08 AM - 3:17 AM IST<br />Sunday, Nov 28 2021, ~ 5:38 AM - 5:47 AM +08<br />Sunday, Nov 28 2021, ~ 6:38 AM - 6:47 AM JST<br /><a href="/2021/">Find out how to watch and participate</a></div>
[[!inline pages="internal(2021/inline-alternate)" raw="yes"]]
# Description
diff --git a/2021/info/org-outside-schedule.md b/2021/info/org-outside-schedule.md
index 63c0219a..06288f25 100644
--- a/2021/info/org-outside-schedule.md
+++ b/2021/info/org-outside-schedule.md
@@ -1,7 +1,7 @@
<!-- Automatically generated by conf-create-info-pages -->
Q&A: live Q&A or IRC
-Status: Now playing
+Status: Finished
Duration: 12:09
diff --git a/2021/info/project-schedule.md b/2021/info/project-schedule.md
index 144a8e01..6727cbf9 100644
--- a/2021/info/project-schedule.md
+++ b/2021/info/project-schedule.md
@@ -2,7 +2,7 @@
Status: Captions added to video
Duration: 9:35
-<div class="times" start="2021-11-27T21:03:00Z" end="2021-11-27T21:13:00Z">Saturday, Nov 27 2021, ~ 4:03 PM - 4:13 PM EST<br />Saturday, Nov 27 2021, ~ 1:03 PM - 1:13 PM PST<br />Saturday, Nov 27 2021, ~ 9:03 PM - 9:13 PM UTC<br />Saturday, Nov 27 2021, ~10:03 PM - 10:13 PM CET<br />Saturday, Nov 27 2021, ~11:03 PM - 11:13 PM EET<br />Sunday, Nov 28 2021, ~ 2:33 AM - 2:43 AM IST<br />Sunday, Nov 28 2021, ~ 5:03 AM - 5:13 AM +08<br />Sunday, Nov 28 2021, ~ 6:03 AM - 6:13 AM JST<br /><a href="/2021/">Find out how to watch and participate</a></div>
+<div class="times" start="2021-11-27T21:00:00Z" end="2021-11-27T21:10:00Z">Saturday, Nov 27 2021, ~ 4:00 PM - 4:10 PM EST<br />Saturday, Nov 27 2021, ~ 1:00 PM - 1:10 PM PST<br />Saturday, Nov 27 2021, ~ 9:00 PM - 9:10 PM UTC<br />Saturday, Nov 27 2021, ~10:00 PM - 10:10 PM CET<br />Saturday, Nov 27 2021, ~11:00 PM - 11:10 PM EET<br />Sunday, Nov 28 2021, ~ 2:30 AM - 2:40 AM IST<br />Sunday, Nov 28 2021, ~ 5:00 AM - 5:10 AM +08<br />Sunday, Nov 28 2021, ~ 6:00 AM - 6:10 AM JST<br /><a href="/2021/">Find out how to watch and participate</a></div>
[[!inline pages="internal(2021/inline-alternate)" raw="yes"]]
# Description
diff --git a/2021/info/research-nav.md b/2021/info/research-nav.md
index 7ed45ce5..b33750bc 100644
--- a/2021/info/research-nav.md
+++ b/2021/info/research-nav.md
@@ -1,3 +1,3 @@
Back to the [[schedule]]
-Previous: <a href="/2021/talks/teach">Using Org-mode to teach programming</a>
-Next: <a href="/2021/talks/babel">Babel for academics</a>
+Previous: <a href="/2021/talks/babel">Babel for academics</a>
+Next: <a href="/2021/talks/molecular">Reproducible molecular graphics with Org-mode</a>
diff --git a/2021/info/research-schedule.md b/2021/info/research-schedule.md
index 380a4822..34f5d350 100644
--- a/2021/info/research-schedule.md
+++ b/2021/info/research-schedule.md
@@ -3,7 +3,7 @@
Q&A: maybe live
Status: Captions added to video
Duration: 8:46
-<div class="times" start="2021-11-27T20:27:00Z" end="2021-11-27T20:36:00Z">Saturday, Nov 27 2021, ~ 3:27 PM - 3:36 PM EST<br />Saturday, Nov 27 2021, ~12:27 PM - 12:36 PM PST<br />Saturday, Nov 27 2021, ~ 8:27 PM - 8:36 PM UTC<br />Saturday, Nov 27 2021, ~ 9:27 PM - 9:36 PM CET<br />Saturday, Nov 27 2021, ~10:27 PM - 10:36 PM EET<br />Sunday, Nov 28 2021, ~ 1:57 AM - 2:06 AM IST<br />Sunday, Nov 28 2021, ~ 4:27 AM - 4:36 AM +08<br />Sunday, Nov 28 2021, ~ 5:27 AM - 5:36 AM JST<br /><a href="/2021/">Find out how to watch and participate</a></div>
+<div class="times" start="2021-11-27T20:36:00Z" end="2021-11-27T20:45:00Z">Saturday, Nov 27 2021, ~ 3:36 PM - 3:45 PM EST<br />Saturday, Nov 27 2021, ~12:36 PM - 12:45 PM PST<br />Saturday, Nov 27 2021, ~ 8:36 PM - 8:45 PM UTC<br />Saturday, Nov 27 2021, ~ 9:36 PM - 9:45 PM CET<br />Saturday, Nov 27 2021, ~10:36 PM - 10:45 PM EET<br />Sunday, Nov 28 2021, ~ 2:06 AM - 2:15 AM IST<br />Sunday, Nov 28 2021, ~ 4:36 AM - 4:45 AM +08<br />Sunday, Nov 28 2021, ~ 5:36 AM - 5:45 AM JST<br /><a href="/2021/">Find out how to watch and participate</a></div>
[[!inline pages="internal(2021/inline-alternate)" raw="yes"]]
# Description
diff --git a/2021/info/teach-nav.md b/2021/info/teach-nav.md
index 2be2135c..6f69846e 100644
--- a/2021/info/teach-nav.md
+++ b/2021/info/teach-nav.md
@@ -1,3 +1,3 @@
Back to the [[schedule]]
Previous: <a href="/2021/talks/org-outside">The use of Org mode syntax outside of GNU/Emacs</a>
-Next: <a href="/2021/talks/research">Managing a research workflow (bibliographies, note-taking, and arXiv)</a>
+Next: <a href="/2021/talks/babel">Babel for academics</a>
diff --git a/2021/info/teach-schedule.md b/2021/info/teach-schedule.md
index b8c32343..7296f5f7 100644
--- a/2021/info/teach-schedule.md
+++ b/2021/info/teach-schedule.md
@@ -1,10 +1,14 @@
<!-- Automatically generated by conf-create-info-pages -->
Q&A: live Q&A or IRC
-Status: Captions added to video
+Status: Now playing
Duration: 20:49
-<div class="times" start="2021-11-27T20:03:00Z" end="2021-11-27T20:24:00Z">Saturday, Nov 27 2021, ~ 3:03 PM - 3:24 PM EST<br />Saturday, Nov 27 2021, ~12:03 PM - 12:24 PM PST<br />Saturday, Nov 27 2021, ~ 8:03 PM - 8:24 PM UTC<br />Saturday, Nov 27 2021, ~ 9:03 PM - 9:24 PM CET<br />Saturday, Nov 27 2021, ~10:03 PM - 10:24 PM EET<br />Sunday, Nov 28 2021, ~ 1:33 AM - 1:54 AM IST<br />Sunday, Nov 28 2021, ~ 4:03 AM - 4:24 AM +08<br />Sunday, Nov 28 2021, ~ 5:03 AM - 5:24 AM JST<br /><a href="/2021/">Find out how to watch and participate</a></div>
-# Description
+
+<div class="mainVideo"><div class="video-card vid" id="mainVideo" data-id="mainVideo"><figure><video controls preload="metadata">
+<source src="https://media.emacsconf.org/2021/emacsconf-2021-teach--using-org-mode-to-teach-programming--daniel-german--main.webm"><track label="English" kind="captions" srclang="en" src="/2021/captions/emacsconf-2021-teach--using-org-mode-to-teach-programming--daniel-german--main.vtt" default>
+</video></figure>
+<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2021/emacsconf-2021-teach--using-org-mode-to-teach-programming--daniel-german--main.webm">Download .webm video (20:49, 26.5MB)</a></li><li><a href="https://media.emacsconf.org/2021/emacsconf-2021-teach--using-org-mode-to-teach-programming--daniel-german--main.vtt">Download --main.vtt</a></li></ul></div></div>
+</div># Description
diff --git a/2021/schedule-details.md b/2021/schedule-details.md
index 32e27964..742b5b58 100644
--- a/2021/schedule-details.md
+++ b/2021/schedule-details.md
@@ -20,18 +20,18 @@
<tr><td>done</td><td width=100>~ 2:15 PM</td><td><a href="/2021/talks/professional">Using Org-Mode For Recording Continuous Professional Development</a></td><td>Philip Beadling</td></tr>
<tr><td>done</td><td width=100>~ 2:26 PM</td><td><a href="/2021/talks/tech">Creating technical API documentation and presentations using org-babel, restclient, and org-treeslide</a></td><td>Jan Ypma</td></tr>
<tr><td>done</td><td width=100>~ 2:38 PM</td><td><a href="/2021/talks/exec">Org as an executable format</a></td><td>Tom Gillespie</td></tr>
-<tr><td>now playing</td><td width=100>~ 2:46 PM</td><td><a href="/2021/talks/org-outside">The use of Org mode syntax outside of GNU/Emacs</a></td><td>Karl Voit</td></tr>
-<tr><td>captioned</td><td width=100>~ 3:03 PM</td><td><a href="/2021/talks/teach">Using Org-mode to teach programming</a></td><td>Daniel German</td></tr>
-<tr><td>captioned</td><td width=100>~ 3:27 PM</td><td><a href="/2021/talks/research">Managing a research workflow (bibliographies, note-taking, and arXiv)</a></td><td>Ahmed Khaled</td></tr>
-<tr><td>captioned</td><td width=100>~ 3:39 PM</td><td><a href="/2021/talks/babel">Babel for academics</a></td><td>Asilata Bapat</td></tr>
-<tr><td>captioned</td><td width=100>~ 3:51 PM</td><td><a href="/2021/talks/molecular">Reproducible molecular graphics with Org-mode</a></td><td>Blaine Mooers</td></tr>
-<tr><td>captioned</td><td width=100>~ 4:03 PM</td><td><a href="/2021/talks/project">Budgeting, Project Monitoring and Invoicing with Org Mode</a></td><td>Adolfo Villafiorita</td></tr>
-<tr><td>captioned</td><td width=100>~ 4:16 PM</td><td><a href="/2021/talks/invoice">Finding Your (In)voice: Emacs for Invoicing</a></td><td>Bala Ramadurai</td></tr>
-<tr><td>captioned</td><td width=100>~ 4:29 PM</td><td><a href="/2021/talks/dashboard">Productivity Dashboards with Emacs and Kindle</a></td><td>Mehmet Tekman</td></tr>
-<tr><td>captioned</td><td width=100>~ 4:41 PM</td><td><a href="/2021/talks/nyxt">Emacs with Nyxt: extend your editor with the power of a Lisp browser</a></td><td>Andrea</td></tr>
-<tr><td>captioned</td><td width=100>~ 4:53 PM</td><td><a href="/2021/talks/dev-update">Emacs development updates</a></td><td>John Wiegley</td></tr>
-<tr><td>captioned</td><td width=100>~ 5:04 PM</td><td><a href="/2021/talks/design">On the design of text editors</a></td><td>Nicolas P. Rougier</td></tr>
-<tr><td></td><td width=100>~ 5:15 PM</td><td><a href="/2021/talks/day1-close">Closing remarks day 1</a></td><td></td></tr>
+<tr><td>done</td><td width=100>~ 2:46 PM</td><td><a href="/2021/talks/org-outside">The use of Org mode syntax outside of GNU/Emacs</a></td><td>Karl Voit</td></tr>
+<tr><td>now playing</td><td width=100>~ 3:00 PM</td><td><a href="/2021/talks/teach">Using Org-mode to teach programming</a></td><td>Daniel German</td></tr>
+<tr><td>captioned</td><td width=100>~ 3:24 PM</td><td><a href="/2021/talks/babel">Babel for academics</a></td><td>Asilata Bapat</td></tr>
+<tr><td>captioned</td><td width=100>~ 3:36 PM</td><td><a href="/2021/talks/research">Managing a research workflow (bibliographies, note-taking, and arXiv)</a></td><td>Ahmed Khaled</td></tr>
+<tr><td>captioned</td><td width=100>~ 3:48 PM</td><td><a href="/2021/talks/molecular">Reproducible molecular graphics with Org-mode</a></td><td>Blaine Mooers</td></tr>
+<tr><td>captioned</td><td width=100>~ 4:00 PM</td><td><a href="/2021/talks/project">Budgeting, Project Monitoring and Invoicing with Org Mode</a></td><td>Adolfo Villafiorita</td></tr>
+<tr><td>captioned</td><td width=100>~ 4:13 PM</td><td><a href="/2021/talks/invoice">Finding Your (In)voice: Emacs for Invoicing</a></td><td>Bala Ramadurai</td></tr>
+<tr><td>captioned</td><td width=100>~ 4:26 PM</td><td><a href="/2021/talks/dashboard">Productivity Dashboards with Emacs and Kindle</a></td><td>Mehmet Tekman</td></tr>
+<tr><td>captioned</td><td width=100>~ 4:38 PM</td><td><a href="/2021/talks/nyxt">Emacs with Nyxt: extend your editor with the power of a Lisp browser</a></td><td>Andrea</td></tr>
+<tr><td>captioned</td><td width=100>~ 4:50 PM</td><td><a href="/2021/talks/dev-update">Emacs development updates</a></td><td>John Wiegley</td></tr>
+<tr><td>captioned</td><td width=100>~ 5:01 PM</td><td><a href="/2021/talks/design">On the design of text editors</a></td><td>Nicolas P. Rougier</td></tr>
+<tr><td></td><td width=100>~ 5:12 PM</td><td><a href="/2021/talks/day1-close">Closing remarks day 1</a></td><td></td></tr>
<tr><td colspan="4"><strong>Sunday, Nov 28, 2021: Development talks<strong></td></tr>
<tr><td colspan="4"><strong>Sunday morning<strong></td></tr>
<tr><td></td><td width=100>~ 9:00 AM</td><td><a href="/2021/talks/day2-open">Opening remarks day 2</a></td><td></td></tr>