summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSacha Chua <sacha@sachachua.com>2021-11-27 14:28:46 -0500
committerSacha Chua <sacha@sachachua.com>2021-11-27 14:28:46 -0500
commit3fedfa454b6d679c83a40ab776611e9f10933d63 (patch)
treeb70b8c2edf2b93bee366f4e3e6f69b3d24a74acb
parent14a0ed19f21c91bc42c26942fb1156d9deb70c70 (diff)
downloademacsconf-wiki-3fedfa454b6d679c83a40ab776611e9f10933d63.tar.xz
emacsconf-wiki-3fedfa454b6d679c83a40ab776611e9f10933d63.zip
Update
-rw-r--r--2021/captions/emacsconf-2021-tech--creating-technical-documentation-and-presentations-using-org-babel-restclient-and-org-treeslide--jan-ypma--main.vtt829
-rw-r--r--2021/captions/tech.md279
-rw-r--r--2021/emacsconf-pentabarf.xml30
-rw-r--r--2021/emacsconf.ics154
-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/exec-schedule.md2
-rw-r--r--2021/info/invoice-schedule.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/professional-schedule.md2
-rw-r--r--2021/info/project-schedule.md2
-rw-r--r--2021/info/research-schedule.md2
-rw-r--r--2021/info/teach-schedule.md2
-rw-r--r--2021/info/tech-schedule.md10
-rw-r--r--2021/schedule-details.md30
20 files changed, 1236 insertions, 124 deletions
diff --git a/2021/captions/emacsconf-2021-tech--creating-technical-documentation-and-presentations-using-org-babel-restclient-and-org-treeslide--jan-ypma--main.vtt b/2021/captions/emacsconf-2021-tech--creating-technical-documentation-and-presentations-using-org-babel-restclient-and-org-treeslide--jan-ypma--main.vtt
new file mode 100644
index 00000000..8e5b49fb
--- /dev/null
+++ b/2021/captions/emacsconf-2021-tech--creating-technical-documentation-and-presentations-using-org-babel-restclient-and-org-treeslide--jan-ypma--main.vtt
@@ -0,0 +1,829 @@
+WEBVTT
+
+00:02.560 --> 00:05.040
+Hi! My name is Jan, and I'll be talking
+
+00:05.040 --> 00:07.680
+about using Emacs for technical writing.
+
+00:07.680 --> 00:09.519
+Let's first define what we mean by
+
+00:09.519 --> 00:12.080
+technical writing.
+
+00:12.080 --> 00:13.679
+At least, I mean with that, any kind of
+
+00:13.679 --> 00:15.759
+writing that involves computer systems.
+
+00:15.759 --> 00:19.700
+So, maybe a developer guide for a system,
+
+00:19.700 --> 00:21.680
+or a library you've been creating,
+
+00:21.680 --> 00:23.433
+maybe reference documentation
+
+00:23.433 --> 00:25.833
+or a user guide for a REST API
+
+00:25.833 --> 00:27.934
+that you offer as a cloud service,
+
+00:27.934 --> 00:29.767
+or doing a technical presentation
+
+00:29.767 --> 00:30.700
+exactly like this one
+
+00:30.700 --> 00:32.239
+that may actually include some live
+
+00:32.239 --> 00:34.000
+coding as well that you may want to do
+
+00:34.000 --> 00:36.000
+while you're showing the presentation
+
+00:36.000 --> 00:39.040
+without too much context switching.
+
+00:39.040 --> 00:40.399
+I've been doing a variety of these
+
+00:40.399 --> 00:43.034
+things in my professional life for a while now,
+
+00:43.034 --> 00:43.840
+and I found Emacs to be a
+
+00:43.840 --> 00:46.879
+really nice tool to help out with that,
+
+00:46.879 --> 00:50.719
+since it actually pulls in different languages.
+
+00:50.719 --> 00:52.800
+The ones I work with is Scala, Java, C++,
+
+00:52.800 --> 00:54.480
+and things like that, and everything
+
+00:54.480 --> 00:56.160
+works in the same way within Emacs,
+
+00:56.160 --> 00:58.300
+so you don't have to learn different tools
+
+00:58.400 --> 00:59.840
+to do the same thing.
+
+00:59.840 --> 01:02.079
+Doing all of this against Java looks the
+
+01:02.079 --> 01:04.720
+same as it would but with C++ except
+
+01:04.720 --> 01:07.119
+the language is different.
+
+01:07.119 --> 01:08.640
+A little refresher for people that might
+
+01:08.640 --> 01:10.666
+be viewing this out of context.
+
+01:10.666 --> 01:13.280
+Emacs is a very customizable text editor
+
+01:13.280 --> 01:15.600
+environment, and Org mode is a
+
+01:15.600 --> 01:17.360
+part of Emacs that allows you to deal
+
+01:17.360 --> 01:18.734
+with structured text.
+
+01:18.734 --> 01:21.920
+So, a plain text file containing headings,
+
+01:21.920 --> 01:25.439
+lists, tables, and even code blocks
+
+01:25.439 --> 01:27.360
+formatted in a particular way, so Org
+
+01:27.360 --> 01:29.866
+mode can help out with that.
+
+01:29.866 --> 01:32.560
+And Org babel is the particular part of Org mode
+
+01:32.560 --> 01:34.400
+that deals with executing those code
+
+01:34.400 --> 01:37.000
+blocks and actually interacting with,
+
+01:37.000 --> 01:38.720
+say, a Java or a Python environment
+
+01:38.720 --> 01:40.720
+underneath, and showing the results of
+
+01:40.720 --> 01:43.840
+that right inside the same Org file.
+
+01:43.840 --> 01:44.966
+Let's look at
+
+01:44.966 --> 01:47.167
+what are a couple of scenarios
+
+01:47.167 --> 01:49.400
+using this might actually look like.
+
+01:49.400 --> 01:52.533
+Let's start with imagining that
+
+01:52.533 --> 01:55.000
+we are writing a developer guide
+
+01:55.000 --> 01:59.439
+for a service or a library,
+
+01:59.439 --> 02:02.560
+or a computer program that we might be writing.
+
+02:02.560 --> 02:04.560
+And, imagine that we have some
+
+02:04.560 --> 02:07.119
+dependencies that the program requires
+
+02:07.119 --> 02:09.520
+that are configured using docker-compose,
+
+02:09.520 --> 02:11.767
+for those who don't know Docker, docker-compose,
+
+02:11.767 --> 02:15.599
+it's a way to quickly describe some Linux
+
+02:15.599 --> 02:17.920
+programs that can be immediately run
+
+02:17.920 --> 02:21.280
+without installing too much dependencies.
+
+02:21.280 --> 02:23.040
+You define these using a YAML file
+
+02:23.040 --> 02:25.040
+called the docker-compose file.
+
+02:25.040 --> 02:26.959
+Now, here inside Emacs we have a block
+
+02:26.959 --> 02:29.280
+that defines a YAML file, and we're
+
+02:29.280 --> 02:30.900
+actually saying this is called
+
+02:30.900 --> 02:33.840
+docker-compose.yaml
+
+02:33.840 --> 02:36.400
+with some content here, and you can see
+
+02:36.400 --> 02:38.200
+that even though we are in Org mode,
+
+02:38.200 --> 02:40.959
+Org mode knows that it can highlight this
+
+02:40.959 --> 02:43.360
+according to YAML and Org mode doesn't
+
+02:43.360 --> 02:45.200
+directly know about YAML, we just said hey
+
+02:45.200 --> 02:47.360
+this block has to do with YAML.
+
+02:47.360 --> 02:51.467
+Because there's a yaml-mode in Emacs,
+
+02:51.467 --> 02:53.280
+it will borrow from that mode to actually
+
+02:53.280 --> 02:55.920
+highlight this block.
+
+02:55.920 --> 02:57.680
+Now, the fun thing is that there's a
+
+02:57.680 --> 03:00.080
+feature in Org called tangling that
+
+03:00.080 --> 03:02.159
+allows you to take these kinds of blocks
+
+03:02.159 --> 03:04.800
+and actually export them to separate files.
+
+03:04.800 --> 03:06.959
+So, if we look at the
+
+03:06.959 --> 03:08.720
+directory that we're in right now, we see
+
+03:08.720 --> 03:10.434
+that we just got the presentation,
+
+03:10.434 --> 03:12.239
+there is no docker-compose file yet.
+
+03:12.239 --> 03:16.000
+If I say Control c Control v t (C-c C-v t)
+
+03:16.000 --> 03:18.080
+and I go back and refresh this directory,
+
+03:18.080 --> 03:20.200
+now we have a docker-compose file as well,
+
+03:20.200 --> 03:22.000
+which has the content in it that we
+
+03:22.000 --> 03:23.334
+just created here.
+
+03:23.334 --> 03:25.200
+That's very nice because
+
+03:25.200 --> 03:26.560
+conceptually we don't actually need to
+
+03:26.560 --> 03:28.080
+leave Org mode, we can say something
+
+03:28.080 --> 03:29.760
+about this file and have the contents of
+
+03:29.760 --> 03:32.480
+the file in the same descriptive document
+
+03:32.480 --> 03:34.966
+while also having some actual side effect
+
+03:34.966 --> 03:36.159
+of the file existing on disk and
+
+03:36.159 --> 03:38.000
+us being able to interact with it.
+
+03:38.000 --> 03:40.000
+For example, we could…, now that the file is
+
+03:40.000 --> 03:42.319
+there, invoke docker-compose and actually
+
+03:42.319 --> 03:44.400
+create the nginx web server that we're
+
+03:44.400 --> 03:46.700
+defining here. Let's do that.
+
+03:46.700 --> 03:47.120
+We have a little block
+
+03:47.120 --> 03:49.599
+here that runs the shell script if I
+
+03:49.599 --> 03:51.920
+invoke that from Org mode, we get the
+
+03:51.920 --> 03:53.439
+results here, we see that now we have a
+
+03:53.439 --> 03:55.867
+web server running on port 8080.
+
+03:55.867 --> 03:56.767
+That's, by the way,
+
+03:56.767 --> 03:58.319
+serving up the contents of
+
+03:58.319 --> 04:00.799
+the directory that we're in here
+
+04:00.799 --> 04:02.799
+on port 8080.
+
+04:02.799 --> 04:06.000
+So, that's already quite nice.
+
+04:06.000 --> 04:08.959
+Let's look at another scenario where we
+
+04:08.959 --> 04:11.760
+may be documenting a REST API.
+
+04:11.760 --> 04:14.720
+REST APIs use a lot of HTTP interactions
+
+04:14.720 --> 04:17.199
+typically describing an XML or JSON
+
+04:17.199 --> 04:20.000
+structure and which HTTP verb GET or PUT
+
+04:20.000 --> 04:22.320
+to use with that and the URL.
+
+04:22.320 --> 04:25.919
+There's actually a nice extension to
+
+04:25.919 --> 04:28.240
+Org babel called rest client that you
+
+04:28.240 --> 04:30.000
+can install, that allows you to describe
+
+04:30.000 --> 04:33.360
+these kind of requests right inside Emacs.
+
+04:33.360 --> 04:35.360
+First, let's make sure that our HTTP
+
+04:35.360 --> 04:36.720
+server has something to respond with,
+
+04:36.720 --> 04:38.080
+that's a little interesting, for example,
+
+04:38.080 --> 04:40.433
+an XML file. We already know how to do that.
+
+04:40.433 --> 04:42.533
+So, let's create a code block type xml
+
+04:42.533 --> 04:43.600
+that we can tangle to file called
+
+04:43.600 --> 04:46.960
+test.xml, Control c Control v t (C-c C-v t).
+
+04:46.960 --> 04:52.067
+Now, if we look at the directory again,
+
+04:52.067 --> 04:55.120
+we have a test.xml file.
+
+04:55.120 --> 04:57.520
+And, now we can have a new type of block
+
+04:57.520 --> 04:59.600
+called the restclient, which will invoke
+
+04:59.600 --> 05:01.199
+REST client, and anything you type into
+
+05:01.199 --> 05:04.160
+here will be sent as an HTTP request to
+
+05:04.160 --> 05:05.600
+the server that you specify.
+
+05:05.600 --> 05:08.880
+Right now it goes to localhost on 8080 and
+
+05:08.880 --> 05:10.720
+let's see if we can get our test.xml
+
+05:10.720 --> 05:11.433
+file back.
+
+05:11.433 --> 05:13.600
+I've just invoked this, and you can see
+
+05:13.600 --> 05:16.479
+we got the spec and the content type of
+
+05:16.479 --> 05:17.680
+the server, if we scroll down a little
+
+05:17.680 --> 05:19.199
+bit I think we see the headers here, yeah,
+
+05:19.199 --> 05:22.080
+so the server said it's text/xml and
+
+05:22.080 --> 05:23.759
+restclient is smart enough to actually
+
+05:23.759 --> 05:27.966
+invoke Emacs's sgml-mode to highlight it.
+
+05:27.966 --> 05:28.639
+I'm not exactly sure
+
+05:28.639 --> 05:31.039
+what's the difference is between sxml
+
+05:31.039 --> 05:33.680
+and xml-mode and there's a nxml-mode,
+
+05:33.680 --> 05:35.600
+they all pretty much know how to deal
+
+05:35.600 --> 05:38.800
+with XML. In this case sgml was
+
+05:38.800 --> 05:41.600
+chosen, which is fine.
+
+05:41.600 --> 05:42.960
+But you can see we just served up that
+
+05:42.960 --> 05:45.680
+test.xml file, and
+
+05:45.680 --> 05:46.880
+we can have some actual text here
+
+05:46.880 --> 05:48.639
+describing "Hey, if you do this request
+
+05:48.639 --> 05:50.734
+you might get a response like that,"
+
+05:50.734 --> 05:53.199
+and the server will actually serve that up
+
+05:53.199 --> 05:56.233
+and insert it right into the Org mode document.
+
+05:56.233 --> 05:57.759
+By the way, we're looking at
+
+05:57.759 --> 06:00.720
+this now inside Emacs rendered somewhat
+
+06:00.720 --> 06:02.479
+interestingly, but obviously you can
+
+06:02.479 --> 06:05.280
+export this to a PDF, or HTML, or in all
+
+06:05.280 --> 06:06.880
+sorts of nice and different ways as well
+
+06:06.880 --> 06:09.759
+depending on what your particular needs are.
+
+06:09.759 --> 06:11.520
+Of course, we can't just send GET
+
+06:11.520 --> 06:14.080
+requests, we can send PUT requests as
+
+06:14.080 --> 06:16.400
+well, and just like in plain HTTP you
+
+06:16.400 --> 06:19.120
+have the PUT method on the first line then
+
+06:19.120 --> 06:20.600
+your headers, and a blank line,
+
+06:20.600 --> 06:22.000
+and then the body.
+
+06:22.000 --> 06:24.720
+If we try and invoke this then
+
+06:24.720 --> 06:27.440
+nginx will say "405 Not Allowed"
+
+06:27.440 --> 06:29.199
+because, obviously, just running a plain
+
+06:29.199 --> 06:30.319
+web server will not allow you to
+
+06:30.319 --> 06:32.080
+actually upload any files,
+
+06:32.080 --> 06:33.440
+but this of course could have been any
+
+06:33.440 --> 06:36.800
+other response as well.
+
+06:36.800 --> 06:39.759
+Now, let's look at doing
+
+06:39.759 --> 06:41.600
+presentations themselves, like the one
+
+06:41.600 --> 06:42.867
+you're looking at.
+
+06:42.867 --> 06:45.766
+There's a package that I like to use a lot,
+
+06:45.766 --> 06:47.520
+which is called org-tree-slide.
+
+06:47.520 --> 06:49.759
+That's the one that's active right now,
+
+06:49.759 --> 06:52.080
+which takes an Org document and allows
+
+06:52.080 --> 06:54.600
+you to show one heading at a time.
+
+06:54.600 --> 06:55.599
+It doesn't matter whether it's the first
+
+06:55.599 --> 06:57.280
+level, second level, third level heading,
+
+06:57.280 --> 07:00.319
+they sort of fold into nice
+
+07:00.319 --> 07:02.720
+things at the top,
+
+07:02.720 --> 07:03.919
+where you can
+
+07:03.919 --> 07:05.366
+sort of go through a document
+
+07:05.366 --> 07:07.680
+one piece at a time.
+
+07:07.680 --> 07:10.367
+I actually do like to use
+
+07:10.367 --> 07:12.319
+Org babel at the same time to
+
+07:12.319 --> 07:14.479
+do some live coding in it as well.
+
+07:14.479 --> 07:16.800
+Actually there are two ways to go to a PDF,
+
+07:16.800 --> 07:20.720
+you can just use the normal Org export
+
+07:20.720 --> 07:22.733
+option to go to a PDF, which is
+
+07:22.733 --> 07:25.120
+Control c Control e, and then l p (C-c C-e l p),
+
+07:25.120 --> 07:27.520
+but if you use restclient, the
+
+07:27.520 --> 07:30.960
+LaTeX file underneath sometimes gets
+
+07:30.960 --> 07:33.280
+a little wonky because those things
+
+07:33.280 --> 07:34.866
+don't directly work together.
+
+07:34.866 --> 07:36.166
+I wrote a little bit of Lisp
+
+07:36.166 --> 07:37.039
+to help out with that,
+
+07:37.039 --> 07:38.880
+which you can look at if you check
+
+07:38.880 --> 07:40.960
+out my presentation later.
+
+07:40.960 --> 07:45.919
+There's another package for Org babel called
+
+07:45.919 --> 07:48.800
+beamer, or ox-beamer it's called,
+
+07:48.800 --> 07:51.680
+which uses a LaTeX style called beamer
+
+07:51.680 --> 07:53.360
+to create a PDF,
+
+07:53.360 --> 07:57.400
+and that one looks sort of…,
+
+07:57.400 --> 07:58.000
+that one tries to actually
+
+07:58.000 --> 07:59.840
+create one page per slide which you
+
+07:59.840 --> 08:01.039
+would actually have a PDF with the
+
+08:01.039 --> 08:03.280
+slides, but that one is a lot more picky
+
+08:03.280 --> 08:06.160
+on what your Org file is
+
+08:06.160 --> 08:07.440
+structured like, so you need to have all
+
+08:07.440 --> 08:08.879
+your leaf headings at the same level,
+
+08:08.879 --> 08:11.360
+which I typically don't do.
+
+08:11.360 --> 08:12.800
+So, I can show you what this one
+
+08:12.800 --> 08:16.639
+looks like.
+
+08:16.639 --> 08:18.240
+For this presentation you get a nice
+
+08:18.240 --> 08:20.067
+title slide, and then you get…,
+
+08:20.067 --> 08:21.167
+it tries to make an outline,
+
+08:21.167 --> 08:23.360
+which is the one level above.
+
+08:23.360 --> 08:26.319
+The slides sort of look okay, but as
+
+08:26.319 --> 08:28.479
+you go further they sort of start
+
+08:28.479 --> 08:31.680
+to run into, you know,
+
+08:31.680 --> 08:34.633
+things not flowing as they should.
+
+08:34.633 --> 08:36.800
+I'm sure with a lot more LaTeX
+
+08:36.800 --> 08:37.919
+knowledge you could make this
+
+08:37.919 --> 08:40.640
+look a lot nicer, but personally I tend
+
+08:40.640 --> 08:44.080
+to just create a normal PDF document
+
+08:44.080 --> 08:46.399
+that's just, you know, text
+
+08:46.399 --> 08:48.560
+with all the actual content of the
+
+08:48.560 --> 08:50.560
+document. Inside the text you can see the
+
+08:50.560 --> 08:52.880
+highlighting of especially restclient
+
+08:52.880 --> 08:55.920
+stuff that works just fine, and
+
+08:55.920 --> 08:57.400
+it's enough for my needs,
+
+08:57.400 --> 09:00.959
+so I just tend to make plain PDFs.
+
+09:00.959 --> 09:02.959
+Since we only have 10 minutes, I will
+
+09:02.959 --> 09:05.200
+not go into the detailed configuration,
+
+09:05.200 --> 09:06.800
+you can check out the presentation
+
+09:06.800 --> 09:09.440
+online to see how all these packages are
+
+09:09.440 --> 09:13.440
+configured and how I use them,
+
+09:13.440 --> 09:18.000
+but for now that's all I have.
+
+09:18.000 --> 09:20.000
+I do recommend you try this out yourself.
+
+09:20.000 --> 09:22.240
+If you have any kind of documentation
+
+09:22.240 --> 09:24.399
+or textual things to do,
+
+09:24.399 --> 09:26.320
+just pick one of these packages at a
+
+09:26.320 --> 09:27.519
+time, integrate them into your
+
+09:27.519 --> 09:29.200
+configuration if you haven't already.
+
+09:29.200 --> 09:31.040
+That's really the best way to go
+
+09:31.040 --> 09:32.959
+about this, and you know, Google is your
+
+09:32.959 --> 09:34.240
+friend, if you think "Hey how I would do
+
+09:34.240 --> 09:35.467
+this with these packages,"
+
+09:35.567 --> 09:37.839
+definitely do that.
+
+09:37.839 --> 09:41.760
+More things I will be looking at is
+
+09:41.760 --> 09:44.000
+using this concept to write unit or
+
+09:44.000 --> 09:45.360
+integration tests, you can imagine if you
+
+09:45.360 --> 09:47.600
+have a documentation in Org mode that
+
+09:47.600 --> 09:50.800
+describes your service as a
+
+09:50.800 --> 09:53.360
+function of its REST API, you may want to
+
+09:53.360 --> 09:55.040
+actually run all those commands as part
+
+09:55.040 --> 09:56.480
+of your build and check if all the
+
+09:56.480 --> 09:58.399
+documentation is still in order.
+
+09:58.399 --> 09:59.680
+I'm not doing that yet, but I'm
+
+09:59.680 --> 10:01.033
+definitely looking into that.
+
+10:01.133 --> 10:03.667
+I'm also writing some extensions
+
+10:03.767 --> 10:06.000
+to use Java and Scala
+
+10:06.000 --> 10:08.720
+in a somewhat higher level with Org mode.
+
+10:08.720 --> 10:11.680
+But that's not entirely working yet,
+
+10:11.680 --> 10:12.959
+and we don't have time to go into that
+
+10:12.959 --> 10:14.240
+today.
+
+10:14.240 --> 10:16.666
+That's it. Thanks a lot for your attention,
+
+10:16.766 --> 10:21.880
+and I'll be there for questions later.
diff --git a/2021/captions/tech.md b/2021/captions/tech.md
new file mode 100644
index 00000000..5131d5b7
--- /dev/null
+++ b/2021/captions/tech.md
@@ -0,0 +1,279 @@
+<a name="transcript"></a>
+# Transcript
+
+[[!template text="Hi! My name is Jan, and I'll be talking" start="00:00:02.560" video="mainVideo" id=subtitle]]
+[[!template text="about using Emacs for technical writing." start="00:00:05.040" video="mainVideo" id=subtitle]]
+[[!template text="Let's first define what we mean by" start="00:00:07.680" video="mainVideo" id=subtitle]]
+[[!template text="technical writing." start="00:00:09.519" video="mainVideo" id=subtitle]]
+[[!template text="At least, I mean with that, any kind of" start="00:00:12.080" video="mainVideo" id=subtitle]]
+[[!template text="writing that involves computer systems." start="00:00:13.679" video="mainVideo" id=subtitle]]
+[[!template text="So, maybe a developer guide for a system," start="00:00:15.759" video="mainVideo" id=subtitle]]
+[[!template text="or a library you've been creating," start="00:00:19.700" video="mainVideo" id=subtitle]]
+[[!template text="maybe reference documentation" start="00:00:21.680" video="mainVideo" id=subtitle]]
+[[!template text="or a user guide for a REST API" start="00:00:23.433" video="mainVideo" id=subtitle]]
+[[!template text="that you offer as a cloud service," start="00:00:25.833" video="mainVideo" id=subtitle]]
+[[!template text="or doing a technical presentation" start="00:00:27.934" video="mainVideo" id=subtitle]]
+[[!template text="exactly like this one" start="00:00:29.767" video="mainVideo" id=subtitle]]
+[[!template text="that may actually include some live" start="00:00:30.700" video="mainVideo" id=subtitle]]
+[[!template text="coding as well that you may want to do" start="00:00:32.239" video="mainVideo" id=subtitle]]
+[[!template text="while you're showing the presentation" start="00:00:34.000" video="mainVideo" id=subtitle]]
+[[!template text="without too much context switching." start="00:00:36.000" video="mainVideo" id=subtitle]]
+[[!template text="I've been doing a variety of these" start="00:00:39.040" video="mainVideo" id=subtitle]]
+[[!template text="things in my professional life for a while now," start="00:00:40.399" video="mainVideo" id=subtitle]]
+[[!template text="and I found Emacs to be a" start="00:00:43.034" video="mainVideo" id=subtitle]]
+[[!template text="really nice tool to help out with that," start="00:00:43.840" video="mainVideo" id=subtitle]]
+[[!template text="since it actually pulls in different languages." start="00:00:46.879" video="mainVideo" id=subtitle]]
+[[!template text="The ones I work with is Scala, Java, C++," start="00:00:50.719" video="mainVideo" id=subtitle]]
+[[!template text="and things like that, and everything" start="00:00:52.800" video="mainVideo" id=subtitle]]
+[[!template text="works in the same way within Emacs," start="00:00:54.480" video="mainVideo" id=subtitle]]
+[[!template text="so you don't have to learn different tools" start="00:00:56.160" video="mainVideo" id=subtitle]]
+[[!template text="to do the same thing." start="00:00:58.400" video="mainVideo" id=subtitle]]
+[[!template text="Doing all of this against Java looks the" start="00:00:59.840" video="mainVideo" id=subtitle]]
+[[!template text="same as it would but with C++ except" start="00:01:02.079" video="mainVideo" id=subtitle]]
+[[!template text="the language is different." start="00:01:04.720" video="mainVideo" id=subtitle]]
+[[!template new="1" text="A little refresher for people that might" start="00:01:07.119" video="mainVideo" id=subtitle]]
+[[!template text="be viewing this out of context." start="00:01:08.640" video="mainVideo" id=subtitle]]
+[[!template text="Emacs is a very customizable text editor" start="00:01:10.666" video="mainVideo" id=subtitle]]
+[[!template text="environment, and Org mode is a" start="00:01:13.280" video="mainVideo" id=subtitle]]
+[[!template text="part of Emacs that allows you to deal" start="00:01:15.600" video="mainVideo" id=subtitle]]
+[[!template text="with structured text." start="00:01:17.360" video="mainVideo" id=subtitle]]
+[[!template text="So, a plain text file containing headings," start="00:01:18.734" video="mainVideo" id=subtitle]]
+[[!template text="lists, tables, and even code blocks" start="00:01:21.920" video="mainVideo" id=subtitle]]
+[[!template text="formatted in a particular way, so Org" start="00:01:25.439" video="mainVideo" id=subtitle]]
+[[!template text="mode can help out with that." start="00:01:27.360" video="mainVideo" id=subtitle]]
+[[!template text="And Org babel is the particular part of Org mode" start="00:01:29.866" video="mainVideo" id=subtitle]]
+[[!template text="that deals with executing those code" start="00:01:32.560" video="mainVideo" id=subtitle]]
+[[!template text="blocks and actually interacting with," start="00:01:34.400" video="mainVideo" id=subtitle]]
+[[!template text="say, a Java or a Python environment" start="00:01:37.000" video="mainVideo" id=subtitle]]
+[[!template text="underneath, and showing the results of" start="00:01:38.720" video="mainVideo" id=subtitle]]
+[[!template text="that right inside the same Org file." start="00:01:40.720" video="mainVideo" id=subtitle]]
+[[!template new="1" text="Let's look at" start="00:01:43.840" video="mainVideo" id=subtitle]]
+[[!template text="what are a couple of scenarios" start="00:01:44.966" video="mainVideo" id=subtitle]]
+[[!template text="using this might actually look like." start="00:01:47.167" video="mainVideo" id=subtitle]]
+[[!template text="Let's start with imagining that" start="00:01:49.400" video="mainVideo" id=subtitle]]
+[[!template text="we are writing a developer guide" start="00:01:52.533" video="mainVideo" id=subtitle]]
+[[!template text="for a service or a library," start="00:01:55.000" video="mainVideo" id=subtitle]]
+[[!template text="or a computer program that we might be writing." start="00:01:59.439" video="mainVideo" id=subtitle]]
+[[!template text="And, imagine that we have some" start="00:02:02.560" video="mainVideo" id=subtitle]]
+[[!template text="dependencies that the program requires" start="00:02:04.560" video="mainVideo" id=subtitle]]
+[[!template text="that are configured using docker-compose," start="00:02:07.119" video="mainVideo" id=subtitle]]
+[[!template text="for those who don't know Docker, docker-compose," start="00:02:09.520" video="mainVideo" id=subtitle]]
+[[!template text="it's a way to quickly describe some Linux" start="00:02:11.767" video="mainVideo" id=subtitle]]
+[[!template text="programs that can be immediately run" start="00:02:15.599" video="mainVideo" id=subtitle]]
+[[!template text="without installing too much dependencies." start="00:02:17.920" video="mainVideo" id=subtitle]]
+[[!template text="You define these using a YAML file" start="00:02:21.280" video="mainVideo" id=subtitle]]
+[[!template text="called the docker-compose file." start="00:02:23.040" video="mainVideo" id=subtitle]]
+[[!template text="Now, here inside Emacs we have a block" start="00:02:25.040" video="mainVideo" id=subtitle]]
+[[!template text="that defines a YAML file, and we're" start="00:02:26.959" video="mainVideo" id=subtitle]]
+[[!template text="actually saying this is called" start="00:02:29.280" video="mainVideo" id=subtitle]]
+[[!template text="docker-compose.yaml" start="00:02:30.900" video="mainVideo" id=subtitle]]
+[[!template text="with some content here, and you can see" start="00:02:33.840" video="mainVideo" id=subtitle]]
+[[!template text="that even though we are in Org mode," start="00:02:36.400" video="mainVideo" id=subtitle]]
+[[!template text="Org mode knows that it can highlight this" start="00:02:38.200" video="mainVideo" id=subtitle]]
+[[!template text="according to YAML and Org mode doesn't" start="00:02:40.959" video="mainVideo" id=subtitle]]
+[[!template text="directly know about YAML, we just said hey" start="00:02:43.360" video="mainVideo" id=subtitle]]
+[[!template text="this block has to do with YAML." start="00:02:45.200" video="mainVideo" id=subtitle]]
+[[!template text="Because there's a yaml-mode in Emacs," start="00:02:47.360" video="mainVideo" id=subtitle]]
+[[!template text="it will borrow from that mode to actually" start="00:02:51.467" video="mainVideo" id=subtitle]]
+[[!template text="highlight this block." start="00:02:53.280" video="mainVideo" id=subtitle]]
+[[!template new="1" text="Now, the fun thing is that there's a" start="00:02:55.920" video="mainVideo" id=subtitle]]
+[[!template text="feature in Org called tangling that" start="00:02:57.680" video="mainVideo" id=subtitle]]
+[[!template text="allows you to take these kinds of blocks" start="00:03:00.080" video="mainVideo" id=subtitle]]
+[[!template text="and actually export them to separate files." start="00:03:02.159" video="mainVideo" id=subtitle]]
+[[!template text="So, if we look at the" start="00:03:04.800" video="mainVideo" id=subtitle]]
+[[!template text="directory that we're in right now, we see" start="00:03:06.959" video="mainVideo" id=subtitle]]
+[[!template text="that we just got the presentation," start="00:03:08.720" video="mainVideo" id=subtitle]]
+[[!template text="there is no docker-compose file yet." start="00:03:10.434" video="mainVideo" id=subtitle]]
+[[!template text="If I say Control c Control v t (C-c C-v t)" start="00:03:12.239" video="mainVideo" id=subtitle]]
+[[!template text="and I go back and refresh this directory," start="00:03:16.000" video="mainVideo" id=subtitle]]
+[[!template text="now we have a docker-compose file as well," start="00:03:18.080" video="mainVideo" id=subtitle]]
+[[!template text="which has the content in it that we" start="00:03:20.200" video="mainVideo" id=subtitle]]
+[[!template text="just created here." start="00:03:22.000" video="mainVideo" id=subtitle]]
+[[!template text="That's very nice because" start="00:03:23.334" video="mainVideo" id=subtitle]]
+[[!template text="conceptually we don't actually need to" start="00:03:25.200" video="mainVideo" id=subtitle]]
+[[!template text="leave Org mode, we can say something" start="00:03:26.560" video="mainVideo" id=subtitle]]
+[[!template text="about this file and have the contents of" start="00:03:28.080" video="mainVideo" id=subtitle]]
+[[!template text="the file in the same descriptive document" start="00:03:29.760" video="mainVideo" id=subtitle]]
+[[!template text="while also having some actual side effect" start="00:03:32.480" video="mainVideo" id=subtitle]]
+[[!template text="of the file existing on disk and" start="00:03:34.966" video="mainVideo" id=subtitle]]
+[[!template text="us being able to interact with it." start="00:03:36.159" video="mainVideo" id=subtitle]]
+[[!template text="For example, we could…, now that the file is" start="00:03:38.000" video="mainVideo" id=subtitle]]
+[[!template text="there, invoke docker-compose and actually" start="00:03:40.000" video="mainVideo" id=subtitle]]
+[[!template text="create the nginx web server that we're" start="00:03:42.319" video="mainVideo" id=subtitle]]
+[[!template text="defining here. Let's do that." start="00:03:44.400" video="mainVideo" id=subtitle]]
+[[!template text="We have a little block" start="00:03:46.700" video="mainVideo" id=subtitle]]
+[[!template text="here that runs the shell script if I" start="00:03:47.120" video="mainVideo" id=subtitle]]
+[[!template text="invoke that from Org mode, we get the" start="00:03:49.599" video="mainVideo" id=subtitle]]
+[[!template text="results here, we see that now we have a" start="00:03:51.920" video="mainVideo" id=subtitle]]
+[[!template text="web server running on port 8080." start="00:03:53.439" video="mainVideo" id=subtitle]]
+[[!template text="That's, by the way," start="00:03:55.867" video="mainVideo" id=subtitle]]
+[[!template text="serving up the contents of" start="00:03:56.767" video="mainVideo" id=subtitle]]
+[[!template text="the directory that we're in here" start="00:03:58.319" video="mainVideo" id=subtitle]]
+[[!template text="on port 8080." start="00:04:00.799" video="mainVideo" id=subtitle]]
+[[!template text="So, that's already quite nice." start="00:04:02.799" video="mainVideo" id=subtitle]]
+[[!template new="1" text="Let's look at another scenario where we" start="00:04:06.000" video="mainVideo" id=subtitle]]
+[[!template text="may be documenting a REST API." start="00:04:08.959" video="mainVideo" id=subtitle]]
+[[!template text="REST APIs use a lot of HTTP interactions" start="00:04:11.760" video="mainVideo" id=subtitle]]
+[[!template text="typically describing an XML or JSON" start="00:04:14.720" video="mainVideo" id=subtitle]]
+[[!template text="structure and which HTTP verb GET or PUT" start="00:04:17.199" video="mainVideo" id=subtitle]]
+[[!template text="to use with that and the URL." start="00:04:20.000" video="mainVideo" id=subtitle]]
+[[!template text="There's actually a nice extension to" start="00:04:22.320" video="mainVideo" id=subtitle]]
+[[!template text="Org babel called rest client that you" start="00:04:25.919" video="mainVideo" id=subtitle]]
+[[!template text="can install, that allows you to describe" start="00:04:28.240" video="mainVideo" id=subtitle]]
+[[!template text="these kind of requests right inside Emacs." start="00:04:30.000" video="mainVideo" id=subtitle]]
+[[!template text="First, let's make sure that our HTTP" start="00:04:33.360" video="mainVideo" id=subtitle]]
+[[!template text="server has something to respond with," start="00:04:35.360" video="mainVideo" id=subtitle]]
+[[!template text="that's a little interesting, for example," start="00:04:36.720" video="mainVideo" id=subtitle]]
+[[!template text="an XML file. We already know how to do that." start="00:04:38.080" video="mainVideo" id=subtitle]]
+[[!template text="So, let's create a code block type xml" start="00:04:40.433" video="mainVideo" id=subtitle]]
+[[!template text="that we can tangle to file called" start="00:04:42.533" video="mainVideo" id=subtitle]]
+[[!template text="test.xml, Control c Control v t (C-c C-v t)." start="00:04:43.600" video="mainVideo" id=subtitle]]
+[[!template text="Now, if we look at the directory again," start="00:04:46.960" video="mainVideo" id=subtitle]]
+[[!template text="we have a test.xml file." start="00:04:52.067" video="mainVideo" id=subtitle]]
+[[!template text="And, now we can have a new type of block" start="00:04:55.120" video="mainVideo" id=subtitle]]
+[[!template text="called the restclient, which will invoke" start="00:04:57.520" video="mainVideo" id=subtitle]]
+[[!template text="REST client, and anything you type into" start="00:04:59.600" video="mainVideo" id=subtitle]]
+[[!template text="here will be sent as an HTTP request to" start="00:05:01.199" video="mainVideo" id=subtitle]]
+[[!template text="the server that you specify." start="00:05:04.160" video="mainVideo" id=subtitle]]
+[[!template text="Right now it goes to localhost on 8080 and" start="00:05:05.600" video="mainVideo" id=subtitle]]
+[[!template text="let's see if we can get our test.xml" start="00:05:08.880" video="mainVideo" id=subtitle]]
+[[!template text="file back." start="00:05:10.720" video="mainVideo" id=subtitle]]
+[[!template text="I've just invoked this, and you can see" start="00:05:11.433" video="mainVideo" id=subtitle]]
+[[!template text="we got the spec and the content type of" start="00:05:13.600" video="mainVideo" id=subtitle]]
+[[!template text="the server, if we scroll down a little" start="00:05:16.479" video="mainVideo" id=subtitle]]
+[[!template text="bit I think we see the headers here, yeah," start="00:05:17.680" video="mainVideo" id=subtitle]]
+[[!template text="so the server said it's text/xml and" start="00:05:19.199" video="mainVideo" id=subtitle]]
+[[!template text="restclient is smart enough to actually" start="00:05:22.080" video="mainVideo" id=subtitle]]
+[[!template text="invoke Emacs's sgml-mode to highlight it." start="00:05:23.759" video="mainVideo" id=subtitle]]
+[[!template text="I'm not exactly sure" start="00:05:27.966" video="mainVideo" id=subtitle]]
+[[!template text="what's the difference is between sxml" start="00:05:28.639" video="mainVideo" id=subtitle]]
+[[!template text="and xml-mode and there's a nxml-mode," start="00:05:31.039" video="mainVideo" id=subtitle]]
+[[!template text="they all pretty much know how to deal" start="00:05:33.680" video="mainVideo" id=subtitle]]
+[[!template text="with XML. In this case sgml was" start="00:05:35.600" video="mainVideo" id=subtitle]]
+[[!template text="chosen, which is fine." start="00:05:38.800" video="mainVideo" id=subtitle]]
+[[!template text="But you can see we just served up that" start="00:05:41.600" video="mainVideo" id=subtitle]]
+[[!template text="test.xml file, and" start="00:05:42.960" video="mainVideo" id=subtitle]]
+[[!template text="we can have some actual text here" start="00:05:45.680" video="mainVideo" id=subtitle]]
+[[!template text="describing &quot;Hey, if you do this request" start="00:05:46.880" video="mainVideo" id=subtitle]]
+[[!template text="you might get a response like that,&quot;" start="00:05:48.639" video="mainVideo" id=subtitle]]
+[[!template text="and the server will actually serve that up" start="00:05:50.734" video="mainVideo" id=subtitle]]
+[[!template text="and insert it right into the Org mode document." start="00:05:53.199" video="mainVideo" id=subtitle]]
+[[!template new="1" text="By the way, we're looking at" start="00:05:56.233" video="mainVideo" id=subtitle]]
+[[!template text="this now inside Emacs rendered somewhat" start="00:05:57.759" video="mainVideo" id=subtitle]]
+[[!template text="interestingly, but obviously you can" start="00:06:00.720" video="mainVideo" id=subtitle]]
+[[!template text="export this to a PDF, or HTML, or in all" start="00:06:02.479" video="mainVideo" id=subtitle]]
+[[!template text="sorts of nice and different ways as well" start="00:06:05.280" video="mainVideo" id=subtitle]]
+[[!template text="depending on what your particular needs are." start="00:06:06.880" video="mainVideo" id=subtitle]]
+[[!template text="Of course, we can't just send GET" start="00:06:09.759" video="mainVideo" id=subtitle]]
+[[!template text="requests, we can send PUT requests as" start="00:06:11.520" video="mainVideo" id=subtitle]]
+[[!template text="well, and just like in plain HTTP you" start="00:06:14.080" video="mainVideo" id=subtitle]]
+[[!template text="have the PUT method on the first line then" start="00:06:16.400" video="mainVideo" id=subtitle]]
+[[!template text="your headers, and a blank line," start="00:06:19.120" video="mainVideo" id=subtitle]]
+[[!template text="and then the body." start="00:06:20.600" video="mainVideo" id=subtitle]]
+[[!template new="1" text="If we try and invoke this then" start="00:06:22.000" video="mainVideo" id=subtitle]]
+[[!template text="nginx will say &quot;405 Not Allowed&quot;" start="00:06:24.720" video="mainVideo" id=subtitle]]
+[[!template text="because, obviously, just running a plain" start="00:06:27.440" video="mainVideo" id=subtitle]]
+[[!template text="web server will not allow you to" start="00:06:29.199" video="mainVideo" id=subtitle]]
+[[!template text="actually upload any files," start="00:06:30.319" video="mainVideo" id=subtitle]]
+[[!template text="but this of course could have been any" start="00:06:32.080" video="mainVideo" id=subtitle]]
+[[!template text="other response as well." start="00:06:33.440" video="mainVideo" id=subtitle]]
+[[!template text="Now, let's look at doing" start="00:06:36.800" video="mainVideo" id=subtitle]]
+[[!template text="presentations themselves, like the one" start="00:06:39.759" video="mainVideo" id=subtitle]]
+[[!template text="you're looking at." start="00:06:41.600" video="mainVideo" id=subtitle]]
+[[!template text="There's a package that I like to use a lot," start="00:06:42.867" video="mainVideo" id=subtitle]]
+[[!template text="which is called org-tree-slide." start="00:06:45.766" video="mainVideo" id=subtitle]]
+[[!template text="That's the one that's active right now," start="00:06:47.520" video="mainVideo" id=subtitle]]
+[[!template text="which takes an Org document and allows" start="00:06:49.759" video="mainVideo" id=subtitle]]
+[[!template text="you to show one heading at a time." start="00:06:52.080" video="mainVideo" id=subtitle]]
+[[!template text="It doesn't matter whether it's the first" start="00:06:54.600" video="mainVideo" id=subtitle]]
+[[!template text="level, second level, third level heading," start="00:06:55.599" video="mainVideo" id=subtitle]]
+[[!template text="they sort of fold into nice" start="00:06:57.280" video="mainVideo" id=subtitle]]
+[[!template text="things at the top," start="00:07:00.319" video="mainVideo" id=subtitle]]
+[[!template text="where you can" start="00:07:02.720" video="mainVideo" id=subtitle]]
+[[!template text="sort of go through a document" start="00:07:03.919" video="mainVideo" id=subtitle]]
+[[!template text="one piece at a time." start="00:07:05.366" video="mainVideo" id=subtitle]]
+[[!template text="I actually do like to use" start="00:07:07.680" video="mainVideo" id=subtitle]]
+[[!template text="Org babel at the same time to" start="00:07:10.367" video="mainVideo" id=subtitle]]
+[[!template text="do some live coding in it as well." start="00:07:12.319" video="mainVideo" id=subtitle]]
+[[!template text="Actually there are two ways to go to a PDF," start="00:07:14.479" video="mainVideo" id=subtitle]]
+[[!template text="you can just use the normal Org export" start="00:07:16.800" video="mainVideo" id=subtitle]]
+[[!template text="option to go to a PDF, which is" start="00:07:20.720" video="mainVideo" id=subtitle]]
+[[!template text="Control c Control e, and then l p (C-c C-e l p)," start="00:07:22.733" video="mainVideo" id=subtitle]]
+[[!template text="but if you use restclient, the" start="00:07:25.120" video="mainVideo" id=subtitle]]
+[[!template text="LaTeX file underneath sometimes gets" start="00:07:27.520" video="mainVideo" id=subtitle]]
+[[!template text="a little wonky because those things" start="00:07:30.960" video="mainVideo" id=subtitle]]
+[[!template text="don't directly work together." start="00:07:33.280" video="mainVideo" id=subtitle]]
+[[!template text="I wrote a little bit of Lisp" start="00:07:34.866" video="mainVideo" id=subtitle]]
+[[!template text="to help out with that," start="00:07:36.166" video="mainVideo" id=subtitle]]
+[[!template text="which you can look at if you check" start="00:07:37.039" video="mainVideo" id=subtitle]]
+[[!template text="out my presentation later." start="00:07:38.880" video="mainVideo" id=subtitle]]
+[[!template new="1" text="There's another package for Org babel called" start="00:07:40.960" video="mainVideo" id=subtitle]]
+[[!template text="beamer, or ox-beamer it's called," start="00:07:45.919" video="mainVideo" id=subtitle]]
+[[!template text="which uses a LaTeX style called beamer" start="00:07:48.800" video="mainVideo" id=subtitle]]
+[[!template text="to create a PDF," start="00:07:51.680" video="mainVideo" id=subtitle]]
+[[!template text="and that one looks sort of…," start="00:07:53.360" video="mainVideo" id=subtitle]]
+[[!template text="that one tries to actually" start="00:07:57.400" video="mainVideo" id=subtitle]]
+[[!template text="create one page per slide which you" start="00:07:58.000" video="mainVideo" id=subtitle]]
+[[!template text="would actually have a PDF with the" start="00:07:59.840" video="mainVideo" id=subtitle]]
+[[!template text="slides, but that one is a lot more picky" start="00:08:01.039" video="mainVideo" id=subtitle]]
+[[!template text="on what your Org file is" start="00:08:03.280" video="mainVideo" id=subtitle]]
+[[!template text="structured like, so you need to have all" start="00:08:06.160" video="mainVideo" id=subtitle]]
+[[!template text="your leaf headings at the same level," start="00:08:07.440" video="mainVideo" id=subtitle]]
+[[!template text="which I typically don't do." start="00:08:08.879" video="mainVideo" id=subtitle]]
+[[!template text="So, I can show you what this one" start="00:08:11.360" video="mainVideo" id=subtitle]]
+[[!template text="looks like." start="00:08:12.800" video="mainVideo" id=subtitle]]
+[[!template text="For this presentation you get a nice" start="00:08:16.639" video="mainVideo" id=subtitle]]
+[[!template text="title slide, and then you get…," start="00:08:18.240" video="mainVideo" id=subtitle]]
+[[!template text="it tries to make an outline," start="00:08:20.067" video="mainVideo" id=subtitle]]
+[[!template text="which is the one level above." start="00:08:21.167" video="mainVideo" id=subtitle]]
+[[!template text="The slides sort of look okay, but as" start="00:08:23.360" video="mainVideo" id=subtitle]]
+[[!template text="you go further they sort of start" start="00:08:26.319" video="mainVideo" id=subtitle]]
+[[!template text="to run into, you know," start="00:08:28.479" video="mainVideo" id=subtitle]]
+[[!template text="things not flowing as they should." start="00:08:31.680" video="mainVideo" id=subtitle]]
+[[!template text="I'm sure with a lot more LaTeX" start="00:08:34.633" video="mainVideo" id=subtitle]]
+[[!template text="knowledge you could make this" start="00:08:36.800" video="mainVideo" id=subtitle]]
+[[!template text="look a lot nicer, but personally I tend" start="00:08:37.919" video="mainVideo" id=subtitle]]
+[[!template text="to just create a normal PDF document" start="00:08:40.640" video="mainVideo" id=subtitle]]
+[[!template text="that's just, you know, text" start="00:08:44.080" video="mainVideo" id=subtitle]]
+[[!template text="with all the actual content of the" start="00:08:46.399" video="mainVideo" id=subtitle]]
+[[!template text="document. Inside the text you can see the" start="00:08:48.560" video="mainVideo" id=subtitle]]
+[[!template text="highlighting of especially restclient" start="00:08:50.560" video="mainVideo" id=subtitle]]
+[[!template text="stuff that works just fine, and" start="00:08:52.880" video="mainVideo" id=subtitle]]
+[[!template text="it's enough for my needs," start="00:08:55.920" video="mainVideo" id=subtitle]]
+[[!template text="so I just tend to make plain PDFs." start="00:08:57.400" video="mainVideo" id=subtitle]]
+[[!template text="Since we only have 10 minutes, I will" start="00:09:00.959" video="mainVideo" id=subtitle]]
+[[!template text="not go into the detailed configuration," start="00:09:02.959" video="mainVideo" id=subtitle]]
+[[!template text="you can check out the presentation" start="00:09:05.200" video="mainVideo" id=subtitle]]
+[[!template text="online to see how all these packages are" start="00:09:06.800" video="mainVideo" id=subtitle]]
+[[!template text="configured and how I use them," start="00:09:09.440" video="mainVideo" id=subtitle]]
+[[!template text="but for now that's all I have." start="00:09:13.440" video="mainVideo" id=subtitle]]
+[[!template text="I do recommend you try this out yourself." start="00:09:18.000" video="mainVideo" id=subtitle]]
+[[!template text="If you have any kind of documentation" start="00:09:20.000" video="mainVideo" id=subtitle]]
+[[!template text="or textual things to do," start="00:09:22.240" video="mainVideo" id=subtitle]]
+[[!template text="just pick one of these packages at a" start="00:09:24.399" video="mainVideo" id=subtitle]]
+[[!template text="time, integrate them into your" start="00:09:26.320" video="mainVideo" id=subtitle]]
+[[!template text="configuration if you haven't already." start="00:09:27.519" video="mainVideo" id=subtitle]]
+[[!template text="That's really the best way to go" start="00:09:29.200" video="mainVideo" id=subtitle]]
+[[!template text="about this, and you know, Google is your" start="00:09:31.040" video="mainVideo" id=subtitle]]
+[[!template text="friend, if you think &quot;Hey how I would do" start="00:09:32.959" video="mainVideo" id=subtitle]]
+[[!template text="this with these packages,&quot;" start="00:09:34.240" video="mainVideo" id=subtitle]]
+[[!template text="definitely do that." start="00:09:35.567" video="mainVideo" id=subtitle]]
+[[!template new="1" text="More things I will be looking at is" start="00:09:37.839" video="mainVideo" id=subtitle]]
+[[!template text="using this concept to write unit or" start="00:09:41.760" video="mainVideo" id=subtitle]]
+[[!template text="integration tests, you can imagine if you" start="00:09:44.000" video="mainVideo" id=subtitle]]
+[[!template text="have a documentation in Org mode that" start="00:09:45.360" video="mainVideo" id=subtitle]]
+[[!template text="describes your service as a" start="00:09:47.600" video="mainVideo" id=subtitle]]
+[[!template text="function of its REST API, you may want to" start="00:09:50.800" video="mainVideo" id=subtitle]]
+[[!template text="actually run all those commands as part" start="00:09:53.360" video="mainVideo" id=subtitle]]
+[[!template text="of your build and check if all the" start="00:09:55.040" video="mainVideo" id=subtitle]]
+[[!template text="documentation is still in order." start="00:09:56.480" video="mainVideo" id=subtitle]]
+[[!template text="I'm not doing that yet, but I'm" start="00:09:58.399" video="mainVideo" id=subtitle]]
+[[!template text="definitely looking into that." start="00:09:59.680" video="mainVideo" id=subtitle]]
+[[!template text="I'm also writing some extensions" start="00:10:01.133" video="mainVideo" id=subtitle]]
+[[!template text="to use Java and Scala" start="00:10:03.767" video="mainVideo" id=subtitle]]
+[[!template text="in a somewhat higher level with Org mode." start="00:10:06.000" video="mainVideo" id=subtitle]]
+[[!template text="But that's not entirely working yet," start="00:10:08.720" video="mainVideo" id=subtitle]]
+[[!template text="and we don't have time to go into that" start="00:10:11.680" video="mainVideo" id=subtitle]]
+[[!template text="today." start="00:10:12.959" video="mainVideo" id=subtitle]]
+[[!template text="That's it. Thanks a lot for your attention," start="00:10:14.240" video="mainVideo" id=subtitle]]
+[[!template text="and I'll be there for questions later." start="00:10:16.766" video="mainVideo" id=subtitle]]
diff --git a/2021/emacsconf-pentabarf.xml b/2021/emacsconf-pentabarf.xml
index 94fcf6e3..03181ffa 100644
--- a/2021/emacsconf-pentabarf.xml
+++ b/2021/emacsconf-pentabarf.xml
@@ -1,4 +1,4 @@
-<schedule><generator name="EmacsConf" version="0.1"></generator><version>20211127141723</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:25: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>20211127142805</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:22: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.
@@ -32,33 +32,33 @@
</description><url>https://emacsconf.org/2021/talks/cs</url><persons><person>Greg Coladonato</person></persons></event><event id="16" guid="43cc5db4-e26f-fb44-9aeb-b16c38d8cef3"><date>2021-11-27T19:15:00Z</date><start>14:15</start><language>en</language><room>Main</room><subtitle></subtitle><type>Talk</type><track>Main</track><slug>emacsconf-2021-talk-professional</slug><duration>0:11</duration><title>Using Org-Mode For Recording Continuous Professional Development</title><abstract></abstract><description>Times are approximate and will probably change.
-</description><url>https://emacsconf.org/2021/talks/professional</url><persons><person>Philip Beadling</person></persons></event><event id="23" guid="a10ce62e-6454-d784-21bb-f6a0488e883c"><date>2021-11-27T19:29:00Z</date><start>14:29</start><language>en</language><room>Main</room><subtitle></subtitle><type>Talk</type><track>Main</track><slug>emacsconf-2021-talk-tech</slug><duration>0:11</duration><title>Creating technical API documentation and presentations using org-babel, restclient, and org-treeslide</title><abstract></abstract><description>Times are approximate and will probably change.
+</description><url>https://emacsconf.org/2021/talks/professional</url><persons><person>Philip Beadling</person></persons></event><event id="23" guid="a10ce62e-6454-d784-21bb-f6a0488e883c"><date>2021-11-27T19:26:00Z</date><start>14:26</start><language>en</language><room>Main</room><subtitle></subtitle><type>Talk</type><track>Main</track><slug>emacsconf-2021-talk-tech</slug><duration>0:11</duration><title>Creating technical API documentation and presentations using org-babel, restclient, and org-treeslide</title><abstract></abstract><description>Times are approximate and will probably change.
-</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:43:00Z</date><start>14:43</start><language>en</language><room>Main</room><subtitle></subtitle><type>Talk</type><track>Main</track><slug>emacsconf-2021-talk-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/tech</url><persons><person>Jan Ypma</person></persons></event><event id="18" guid="b092bc88-e74c-a9c4-611b-d47c99ef578c"><date>2021-11-27T19:40:00Z</date><start>14:40</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:54:00Z</date><start>14:54</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:51:00Z</date><start>14:51</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:08:00Z</date><start>15:08</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:05:00Z</date><start>15:05</start><language>en</language><room>Main</room><subtitle></subtitle><type>Talk</type><track>Main</track><slug>emacsconf-2021-talk-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:32:00Z</date><start>15:32</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="20" guid="fd246cee-b5d6-7cc4-2b63-20e87bb7d750"><date>2021-11-27T20:29:00Z</date><start>15:29</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/research</url><persons><person>Ahmed Khaled</person></persons></event><event id="19" guid="db5821ed-fef4-4934-8fb3-87a0282714de"><date>2021-11-27T20:44:00Z</date><start>15:44</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:41:00Z</date><start>15:41</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="21" guid="1fc4917c-aab4-1924-2983-e78f8bca6af9"><date>2021-11-27T20:56:00Z</date><start>15:56</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/babel</url><persons><person>Asilata Bapat</person></persons></event><event id="21" guid="1fc4917c-aab4-1924-2983-e78f8bca6af9"><date>2021-11-27T20:53:00Z</date><start>15:53</start><language>en</language><room>Main</room><subtitle></subtitle><type>Talk</type><track>Main</track><slug>emacsconf-2021-talk-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:08:00Z</date><start>16:08</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:05:00Z</date><start>16:05</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:21:00Z</date><start>16:21</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:18:00Z</date><start>16:18</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:34:00Z</date><start>16:34</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:31:00Z</date><start>16:31</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:46:00Z</date><start>16:46</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:43:00Z</date><start>16:43</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:58:00Z</date><start>16:58</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:55:00Z</date><start>16:55</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:09:00Z</date><start>17:09</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:06:00Z</date><start>17:06</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:20:00Z</date><start>17:20</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:17:00Z</date><start>17:17</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 ddefb30a..5ecb3ce1 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:20211127T191721Z
+DTSTAMP:20211127T192802Z
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:20211127T191721Z
+DTSTAMP:20211127T192802Z
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:20211127T191721Z
+DTSTAMP:20211127T192802Z
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:20211127T191721Z
+DTSTAMP:20211127T192802Z
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:20211127T191721Z
+DTSTAMP:20211127T192802Z
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:20211127T191721Z
+DTSTAMP:20211127T192802Z
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:20211127T191721Z
+DTSTAMP:20211127T192802Z
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:20211127T191721Z
+DTSTAMP:20211127T192802Z
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:20211127T191721Z
+DTSTAMP:20211127T192802Z
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:20211127T191721Z
+DTSTAMP:20211127T192802Z
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:20211127T191721Z
+DTSTAMP:20211127T192802Z
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:20211127T191721Z
+DTSTAMP:20211127T192802Z
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:20211127T191721Z
+DTSTAMP:20211127T192802Z
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:20211127T191721Z
+DTSTAMP:20211127T192802Z
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:20211127T191721Z
+DTSTAMP:20211127T192802Z
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:20211127T191721Z
+DTSTAMP:20211127T192802Z
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:20211127T191721Z
+DTSTAMP:20211127T192802Z
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
@@ -241,9 +241,9 @@ ORGANIZER:EmacsConf
LOCATION:https://emacsconf.org/
UID:a10ce62e-6454-d784-21bb-f6a0488e883c
URL:https://emacsconf.org/2021/talks/tech
-DTSTART:20211127T192900Z
-DTEND:20211127T194000Z
-DTSTAMP:20211127T191721Z
+DTSTART:20211127T192600Z
+DTEND:20211127T193700Z
+DTSTAMP:20211127T192802Z
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
@@ -254,9 +254,9 @@ ORGANIZER:EmacsConf
LOCATION:https://emacsconf.org/
UID:b092bc88-e74c-a9c4-611b-d47c99ef578c
URL:https://emacsconf.org/2021/talks/exec
-DTSTART:20211127T194300Z
-DTEND:20211127T195100Z
-DTSTAMP:20211127T191721Z
+DTSTART:20211127T194000Z
+DTEND:20211127T194800Z
+DTSTAMP:20211127T192802Z
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:20211127T195400Z
-DTEND:20211127T200700Z
-DTSTAMP:20211127T191721Z
+DTSTART:20211127T195100Z
+DTEND:20211127T200400Z
+DTSTAMP:20211127T192802Z
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,9 +280,9 @@ ORGANIZER:EmacsConf
LOCATION:https://emacsconf.org/
UID:aed5e190-66a0-3dd4-e5eb-be09be94e6c3
URL:https://emacsconf.org/2021/talks/teach
-DTSTART:20211127T200800Z
-DTEND:20211127T202900Z
-DTSTAMP:20211127T191721Z
+DTSTART:20211127T200500Z
+DTEND:20211127T202600Z
+DTSTAMP:20211127T192802Z
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
@@ -294,9 +294,9 @@ ORGANIZER:EmacsConf
LOCATION:https://emacsconf.org/
UID:fd246cee-b5d6-7cc4-2b63-20e87bb7d750
URL:https://emacsconf.org/2021/talks/research
-DTSTART:20211127T203200Z
-DTEND:20211127T204100Z
-DTSTAMP:20211127T191721Z
+DTSTART:20211127T202900Z
+DTEND:20211127T203800Z
+DTSTAMP:20211127T192802Z
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
@@ -307,9 +307,9 @@ ORGANIZER:EmacsConf
LOCATION:https://emacsconf.org/
UID:db5821ed-fef4-4934-8fb3-87a0282714de
URL:https://emacsconf.org/2021/talks/babel
-DTSTART:20211127T204400Z
-DTEND:20211127T205400Z
-DTSTAMP:20211127T191721Z
+DTSTART:20211127T204100Z
+DTEND:20211127T205100Z
+DTSTAMP:20211127T192802Z
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
@@ -320,9 +320,9 @@ ORGANIZER:EmacsConf
LOCATION:https://emacsconf.org/
UID:1fc4917c-aab4-1924-2983-e78f8bca6af9
URL:https://emacsconf.org/2021/talks/molecular
-DTSTART:20211127T205600Z
-DTEND:20211127T210500Z
-DTSTAMP:20211127T191721Z
+DTSTART:20211127T205300Z
+DTEND:20211127T210200Z
+DTSTAMP:20211127T192802Z
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:20211127T210800Z
-DTEND:20211127T211800Z
-DTSTAMP:20211127T191721Z
+DTSTART:20211127T210500Z
+DTEND:20211127T211500Z
+DTSTAMP:20211127T192802Z
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:20211127T212100Z
-DTEND:20211127T213100Z
-DTSTAMP:20211127T191721Z
+DTSTART:20211127T211800Z
+DTEND:20211127T212800Z
+DTSTAMP:20211127T192802Z
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:20211127T213400Z
-DTEND:20211127T214300Z
-DTSTAMP:20211127T191721Z
+DTSTART:20211127T213100Z
+DTEND:20211127T214000Z
+DTSTAMP:20211127T192802Z
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:20211127T214600Z
-DTEND:20211127T215500Z
-DTSTAMP:20211127T191721Z
+DTSTART:20211127T214300Z
+DTEND:20211127T215200Z
+DTSTAMP:20211127T192802Z
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:20211127T215800Z
-DTEND:20211127T220600Z
-DTSTAMP:20211127T191721Z
+DTSTART:20211127T215500Z
+DTEND:20211127T220300Z
+DTSTAMP:20211127T192802Z
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:20211127T220900Z
-DTEND:20211127T221600Z
-DTSTAMP:20211127T191721Z
+DTSTART:20211127T220600Z
+DTEND:20211127T221300Z
+DTSTAMP:20211127T192802Z
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:20211127T222000Z
-DTEND:20211127T222500Z
-DTSTAMP:20211127T191721Z
+DTSTART:20211127T221700Z
+DTEND:20211127T222200Z
+DTSTAMP:20211127T192802Z
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:20211127T191721Z
+DTSTAMP:20211127T192802Z
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:20211127T191721Z
+DTSTAMP:20211127T192802Z
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:20211127T191721Z
+DTSTAMP:20211127T192802Z
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:20211127T191721Z
+DTSTAMP:20211127T192802Z
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:20211127T191721Z
+DTSTAMP:20211127T192802Z
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:20211127T191721Z
+DTSTAMP:20211127T192802Z
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:20211127T191721Z
+DTSTAMP:20211127T192802Z
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:20211127T191721Z
+DTSTAMP:20211127T192802Z
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:20211127T191721Z
+DTSTAMP:20211127T192802Z
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:20211127T191721Z
+DTSTAMP:20211127T192802Z
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:20211127T191721Z
+DTSTAMP:20211127T192802Z
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:20211127T191721Z
+DTSTAMP:20211127T192802Z
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:20211127T191721Z
+DTSTAMP:20211127T192802Z
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:20211127T191721Z
+DTSTAMP:20211127T192802Z
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:20211127T191721Z
+DTSTAMP:20211127T192802Z
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:20211127T191721Z
+DTSTAMP:20211127T192802Z
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:20211127T191721Z
+DTSTAMP:20211127T192802Z
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:20211127T191721Z
+DTSTAMP:20211127T192802Z
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-schedule.md b/2021/info/babel-schedule.md
index 670a0927..89f7a451 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:44:00Z" end="2021-11-27T20:54:00Z">Saturday, Nov 27 2021, ~ 3:44 PM - 3:54 PM EST<br />Saturday, Nov 27 2021, ~12:44 PM - 12:54 PM PST<br />Saturday, Nov 27 2021, ~ 8:44 PM - 8:54 PM UTC<br />Saturday, Nov 27 2021, ~ 9:44 PM - 9:54 PM CET<br />Saturday, Nov 27 2021, ~10:44 PM - 10:54 PM EET<br />Sunday, Nov 28 2021, ~ 2:14 AM - 2:24 AM IST<br />Sunday, Nov 28 2021, ~ 4:44 AM - 4:54 AM +08<br />Sunday, Nov 28 2021, ~ 5:44 AM - 5:54 AM JST<br /><a href="/2021/">Find out how to watch and participate</a></div>
+<div class="times" start="2021-11-27T20:41:00Z" end="2021-11-27T20:51:00Z">Saturday, Nov 27 2021, ~ 3:41 PM - 3:51 PM EST<br />Saturday, Nov 27 2021, ~12:41 PM - 12:51 PM PST<br />Saturday, Nov 27 2021, ~ 8:41 PM - 8:51 PM UTC<br />Saturday, Nov 27 2021, ~ 9:41 PM - 9:51 PM CET<br />Saturday, Nov 27 2021, ~10:41 PM - 10:51 PM EET<br />Sunday, Nov 28 2021, ~ 2:11 AM - 2:21 AM IST<br />Sunday, Nov 28 2021, ~ 4:41 AM - 4:51 AM +08<br />Sunday, Nov 28 2021, ~ 5:41 AM - 5:51 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 b3b43d71..e1f565aa 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:34:00Z" end="2021-11-27T21:43:00Z">Saturday, Nov 27 2021, ~ 4:34 PM - 4:43 PM EST<br />Saturday, Nov 27 2021, ~ 1:34 PM - 1:43 PM PST<br />Saturday, Nov 27 2021, ~ 9:34 PM - 9:43 PM UTC<br />Saturday, Nov 27 2021, ~10:34 PM - 10:43 PM CET<br />Saturday, Nov 27 2021, ~11:34 PM - 11:43 PM EET<br />Sunday, Nov 28 2021, ~ 3:04 AM - 3:13 AM IST<br />Sunday, Nov 28 2021, ~ 5:34 AM - 5:43 AM +08<br />Sunday, Nov 28 2021, ~ 6:34 AM - 6:43 AM JST<br /><a href="/2021/">Find out how to watch and participate</a></div>
+<div class="times" start="2021-11-27T21:31:00Z" end="2021-11-27T21:40:00Z">Saturday, Nov 27 2021, ~ 4:31 PM - 4:40 PM EST<br />Saturday, Nov 27 2021, ~ 1:31 PM - 1:40 PM PST<br />Saturday, Nov 27 2021, ~ 9:31 PM - 9:40 PM UTC<br />Saturday, Nov 27 2021, ~10:31 PM - 10:40 PM CET<br />Saturday, Nov 27 2021, ~11:31 PM - 11:40 PM EET<br />Sunday, Nov 28 2021, ~ 3:01 AM - 3:10 AM IST<br />Sunday, Nov 28 2021, ~ 5:31 AM - 5:40 AM +08<br />Sunday, Nov 28 2021, ~ 6:31 AM - 6:40 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 df59eae9..f99db7b3 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:20:00Z" end="2021-11-27T22:25:00Z">Saturday, Nov 27 2021, ~ 5:20 PM - 5:25 PM EST<br />Saturday, Nov 27 2021, ~ 2:20 PM - 2:25 PM PST<br />Saturday, Nov 27 2021, ~10:20 PM - 10:25 PM UTC<br />Saturday, Nov 27 2021, ~11:20 PM - 11:25 PM CET<br />Sunday, Nov 28 2021, ~12:20 AM - 12:25 AM EET<br />Sunday, Nov 28 2021, ~ 3:50 AM - 3:55 AM IST<br />Sunday, Nov 28 2021, ~ 6:20 AM - 6:25 AM +08<br />Sunday, Nov 28 2021, ~ 7:20 AM - 7:25 AM JST<br /><a href="/2021/">Find out how to watch and participate</a></div>
+<div class="times" start="2021-11-27T22:17:00Z" end="2021-11-27T22:22:00Z">Saturday, Nov 27 2021, ~ 5:17 PM - 5:22 PM EST<br />Saturday, Nov 27 2021, ~ 2:17 PM - 2:22 PM PST<br />Saturday, Nov 27 2021, ~10:17 PM - 10:22 PM UTC<br />Saturday, Nov 27 2021, ~11:17 PM - 11:22 PM CET<br />Sunday, Nov 28 2021, ~12:17 AM - 12:22 AM EET<br />Sunday, Nov 28 2021, ~ 3:47 AM - 3:52 AM IST<br />Sunday, Nov 28 2021, ~ 6:17 AM - 6:22 AM +08<br />Sunday, Nov 28 2021, ~ 7:17 AM - 7:22 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 3373910b..89c60742 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:09:00Z" end="2021-11-27T22:16:00Z">Saturday, Nov 27 2021, ~ 5:09 PM - 5:16 PM EST<br />Saturday, Nov 27 2021, ~ 2:09 PM - 2:16 PM PST<br />Saturday, Nov 27 2021, ~10:09 PM - 10:16 PM UTC<br />Saturday, Nov 27 2021, ~11:09 PM - 11:16 PM CET<br />Sunday, Nov 28 2021, ~12:09 AM - 12:16 AM EET<br />Sunday, Nov 28 2021, ~ 3:39 AM - 3:46 AM IST<br />Sunday, Nov 28 2021, ~ 6:09 AM - 6:16 AM +08<br />Sunday, Nov 28 2021, ~ 7:09 AM - 7:16 AM JST<br /><a href="/2021/">Find out how to watch and participate</a></div>
+<div class="times" start="2021-11-27T22:06:00Z" end="2021-11-27T22:13:00Z">Saturday, Nov 27 2021, ~ 5:06 PM - 5:13 PM EST<br />Saturday, Nov 27 2021, ~ 2:06 PM - 2:13 PM PST<br />Saturday, Nov 27 2021, ~10:06 PM - 10:13 PM UTC<br />Saturday, Nov 27 2021, ~11:06 PM - 11:13 PM CET<br />Sunday, Nov 28 2021, ~12:06 AM - 12:13 AM EET<br />Sunday, Nov 28 2021, ~ 3:36 AM - 3:43 AM IST<br />Sunday, Nov 28 2021, ~ 6:06 AM - 6:13 AM +08<br />Sunday, Nov 28 2021, ~ 7:06 AM - 7:13 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 a94e8ccf..e0ca0f25 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:58:00Z" end="2021-11-27T22:06:00Z">Saturday, Nov 27 2021, ~ 4:58 PM - 5:06 PM EST<br />Saturday, Nov 27 2021, ~ 1:58 PM - 2:06 PM PST<br />Saturday, Nov 27 2021, ~ 9:58 PM - 10:06 PM UTC<br />Saturday, Nov 27 2021, ~10:58 PM - 11:06 PM CET<br />Saturday, Nov 27 2021, ~11:58 PM - 12:06 AM EET<br />Sunday, Nov 28 2021, ~ 3:28 AM - 3:36 AM IST<br />Sunday, Nov 28 2021, ~ 5:58 AM - 6:06 AM +08<br />Sunday, Nov 28 2021, ~ 6:58 AM - 7:06 AM JST<br /><a href="/2021/">Find out how to watch and participate</a></div>
+<div class="times" start="2021-11-27T21:55:00Z" end="2021-11-27T22:03:00Z">Saturday, Nov 27 2021, ~ 4:55 PM - 5:03 PM EST<br />Saturday, Nov 27 2021, ~ 1:55 PM - 2:03 PM PST<br />Saturday, Nov 27 2021, ~ 9:55 PM - 10:03 PM UTC<br />Saturday, Nov 27 2021, ~10:55 PM - 11:03 PM CET<br />Saturday, Nov 27 2021, ~11:55 PM - 12:03 AM EET<br />Sunday, Nov 28 2021, ~ 3:25 AM - 3:33 AM IST<br />Sunday, Nov 28 2021, ~ 5:55 AM - 6:03 AM +08<br />Sunday, Nov 28 2021, ~ 6:55 AM - 7:03 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/exec-schedule.md b/2021/info/exec-schedule.md
index 18490b9a..309ced60 100644
--- a/2021/info/exec-schedule.md
+++ b/2021/info/exec-schedule.md
@@ -3,7 +3,7 @@
Q&A: live Q&A or IRC
Status: Captions added to video
Duration: 7:09
-<div class="times" start="2021-11-27T19:43:00Z" end="2021-11-27T19:51:00Z">Saturday, Nov 27 2021, ~ 2:43 PM - 2:51 PM EST<br />Saturday, Nov 27 2021, ~11:43 AM - 11:51 AM PST<br />Saturday, Nov 27 2021, ~ 7:43 PM - 7:51 PM UTC<br />Saturday, Nov 27 2021, ~ 8:43 PM - 8:51 PM CET<br />Saturday, Nov 27 2021, ~ 9:43 PM - 9:51 PM EET<br />Sunday, Nov 28 2021, ~ 1:13 AM - 1:21 AM IST<br />Sunday, Nov 28 2021, ~ 3:43 AM - 3:51 AM +08<br />Sunday, Nov 28 2021, ~ 4:43 AM - 4:51 AM JST<br /><a href="/2021/">Find out how to watch and participate</a></div>
+<div class="times" start="2021-11-27T19:40:00Z" end="2021-11-27T19:48:00Z">Saturday, Nov 27 2021, ~ 2:40 PM - 2:48 PM EST<br />Saturday, Nov 27 2021, ~11:40 AM - 11:48 AM PST<br />Saturday, Nov 27 2021, ~ 7:40 PM - 7:48 PM UTC<br />Saturday, Nov 27 2021, ~ 8:40 PM - 8:48 PM CET<br />Saturday, Nov 27 2021, ~ 9:40 PM - 9:48 PM EET<br />Sunday, Nov 28 2021, ~ 1:10 AM - 1:18 AM IST<br />Sunday, Nov 28 2021, ~ 3:40 AM - 3:48 AM +08<br />Sunday, Nov 28 2021, ~ 4:40 AM - 4:48 AM JST<br /><a href="/2021/">Find out how to watch and participate</a></div>
# Description
diff --git a/2021/info/invoice-schedule.md b/2021/info/invoice-schedule.md
index 98a40acd..6386aee9 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:21:00Z" end="2021-11-27T21:31:00Z">Saturday, Nov 27 2021, ~ 4:21 PM - 4:31 PM EST<br />Saturday, Nov 27 2021, ~ 1:21 PM - 1:31 PM PST<br />Saturday, Nov 27 2021, ~ 9:21 PM - 9:31 PM UTC<br />Saturday, Nov 27 2021, ~10:21 PM - 10:31 PM CET<br />Saturday, Nov 27 2021, ~11:21 PM - 11:31 PM EET<br />Sunday, Nov 28 2021, ~ 2:51 AM - 3:01 AM IST<br />Sunday, Nov 28 2021, ~ 5:21 AM - 5:31 AM +08<br />Sunday, Nov 28 2021, ~ 6:21 AM - 6:31 AM JST<br /><a href="/2021/">Find out how to watch and participate</a></div>
+<div class="times" start="2021-11-27T21:18:00Z" end="2021-11-27T21:28:00Z">Saturday, Nov 27 2021, ~ 4:18 PM - 4:28 PM EST<br />Saturday, Nov 27 2021, ~ 1:18 PM - 1:28 PM PST<br />Saturday, Nov 27 2021, ~ 9:18 PM - 9:28 PM UTC<br />Saturday, Nov 27 2021, ~10:18 PM - 10:28 PM CET<br />Saturday, Nov 27 2021, ~11:18 PM - 11:28 PM EET<br />Sunday, Nov 28 2021, ~ 2:48 AM - 2:58 AM IST<br />Sunday, Nov 28 2021, ~ 5:18 AM - 5:28 AM +08<br />Sunday, Nov 28 2021, ~ 6:18 AM - 6:28 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-schedule.md b/2021/info/molecular-schedule.md
index 2c47eb9d..1ce43187 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:56:00Z" end="2021-11-27T21:05:00Z">Saturday, Nov 27 2021, ~ 3:56 PM - 4:05 PM EST<br />Saturday, Nov 27 2021, ~12:56 PM - 1:05 PM PST<br />Saturday, Nov 27 2021, ~ 8:56 PM - 9:05 PM UTC<br />Saturday, Nov 27 2021, ~ 9:56 PM - 10:05 PM CET<br />Saturday, Nov 27 2021, ~10:56 PM - 11:05 PM EET<br />Sunday, Nov 28 2021, ~ 2:26 AM - 2:35 AM IST<br />Sunday, Nov 28 2021, ~ 4:56 AM - 5:05 AM +08<br />Sunday, Nov 28 2021, ~ 5:56 AM - 6:05 AM JST<br /><a href="/2021/">Find out how to watch and participate</a></div>
+<div class="times" start="2021-11-27T20:53:00Z" end="2021-11-27T21:02:00Z">Saturday, Nov 27 2021, ~ 3:53 PM - 4:02 PM EST<br />Saturday, Nov 27 2021, ~12:53 PM - 1:02 PM PST<br />Saturday, Nov 27 2021, ~ 8:53 PM - 9:02 PM UTC<br />Saturday, Nov 27 2021, ~ 9:53 PM - 10:02 PM CET<br />Saturday, Nov 27 2021, ~10:53 PM - 11:02 PM EET<br />Sunday, Nov 28 2021, ~ 2:23 AM - 2:32 AM IST<br />Sunday, Nov 28 2021, ~ 4:53 AM - 5:02 AM +08<br />Sunday, Nov 28 2021, ~ 5:53 AM - 6:02 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 72f4c94c..b0ceec24 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:46:00Z" end="2021-11-27T21:55:00Z">Saturday, Nov 27 2021, ~ 4:46 PM - 4:55 PM EST<br />Saturday, Nov 27 2021, ~ 1:46 PM - 1:55 PM PST<br />Saturday, Nov 27 2021, ~ 9:46 PM - 9:55 PM UTC<br />Saturday, Nov 27 2021, ~10:46 PM - 10:55 PM CET<br />Saturday, Nov 27 2021, ~11:46 PM - 11:55 PM EET<br />Sunday, Nov 28 2021, ~ 3:16 AM - 3:25 AM IST<br />Sunday, Nov 28 2021, ~ 5:46 AM - 5:55 AM +08<br />Sunday, Nov 28 2021, ~ 6:46 AM - 6:55 AM JST<br /><a href="/2021/">Find out how to watch and participate</a></div>
+<div class="times" start="2021-11-27T21:43:00Z" end="2021-11-27T21:52:00Z">Saturday, Nov 27 2021, ~ 4:43 PM - 4:52 PM EST<br />Saturday, Nov 27 2021, ~ 1:43 PM - 1:52 PM PST<br />Saturday, Nov 27 2021, ~ 9:43 PM - 9:52 PM UTC<br />Saturday, Nov 27 2021, ~10:43 PM - 10:52 PM CET<br />Saturday, Nov 27 2021, ~11:43 PM - 11:52 PM EET<br />Sunday, Nov 28 2021, ~ 3:13 AM - 3:22 AM IST<br />Sunday, Nov 28 2021, ~ 5:43 AM - 5:52 AM +08<br />Sunday, Nov 28 2021, ~ 6:43 AM - 6:52 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 66cdcf0f..99967dff 100644
--- a/2021/info/org-outside-schedule.md
+++ b/2021/info/org-outside-schedule.md
@@ -3,7 +3,7 @@
Q&A: live Q&A or IRC
Status: Captions added to video
Duration: 12:09
-<div class="times" start="2021-11-27T19:54:00Z" end="2021-11-27T20:07:00Z">Saturday, Nov 27 2021, ~ 2:54 PM - 3:07 PM EST<br />Saturday, Nov 27 2021, ~11:54 AM - 12:07 PM PST<br />Saturday, Nov 27 2021, ~ 7:54 PM - 8:07 PM UTC<br />Saturday, Nov 27 2021, ~ 8:54 PM - 9:07 PM CET<br />Saturday, Nov 27 2021, ~ 9:54 PM - 10:07 PM EET<br />Sunday, Nov 28 2021, ~ 1:24 AM - 1:37 AM IST<br />Sunday, Nov 28 2021, ~ 3:54 AM - 4:07 AM +08<br />Sunday, Nov 28 2021, ~ 4:54 AM - 5:07 AM JST<br /><a href="/2021/">Find out how to watch and participate</a></div>
+<div class="times" start="2021-11-27T19:51:00Z" end="2021-11-27T20:04:00Z">Saturday, Nov 27 2021, ~ 2:51 PM - 3:04 PM EST<br />Saturday, Nov 27 2021, ~11:51 AM - 12:04 PM PST<br />Saturday, Nov 27 2021, ~ 7:51 PM - 8:04 PM UTC<br />Saturday, Nov 27 2021, ~ 8:51 PM - 9:04 PM CET<br />Saturday, Nov 27 2021, ~ 9:51 PM - 10:04 PM EET<br />Sunday, Nov 28 2021, ~ 1:21 AM - 1:34 AM IST<br />Sunday, Nov 28 2021, ~ 3:51 AM - 4:04 AM +08<br />Sunday, Nov 28 2021, ~ 4:51 AM - 5:04 AM JST<br /><a href="/2021/">Find out how to watch and participate</a></div>
# Description
diff --git a/2021/info/professional-schedule.md b/2021/info/professional-schedule.md
index 6183f8d0..86bc26cd 100644
--- a/2021/info/professional-schedule.md
+++ b/2021/info/professional-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: 10:33
diff --git a/2021/info/project-schedule.md b/2021/info/project-schedule.md
index f3fa3b3b..66cbb0f7 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:08:00Z" end="2021-11-27T21:18:00Z">Saturday, Nov 27 2021, ~ 4:08 PM - 4:18 PM EST<br />Saturday, Nov 27 2021, ~ 1:08 PM - 1:18 PM PST<br />Saturday, Nov 27 2021, ~ 9:08 PM - 9:18 PM UTC<br />Saturday, Nov 27 2021, ~10:08 PM - 10:18 PM CET<br />Saturday, Nov 27 2021, ~11:08 PM - 11:18 PM EET<br />Sunday, Nov 28 2021, ~ 2:38 AM - 2:48 AM IST<br />Sunday, Nov 28 2021, ~ 5:08 AM - 5:18 AM +08<br />Sunday, Nov 28 2021, ~ 6:08 AM - 6:18 AM JST<br /><a href="/2021/">Find out how to watch and participate</a></div>
+<div class="times" start="2021-11-27T21:05:00Z" end="2021-11-27T21:15:00Z">Saturday, Nov 27 2021, ~ 4:05 PM - 4:15 PM EST<br />Saturday, Nov 27 2021, ~ 1:05 PM - 1:15 PM PST<br />Saturday, Nov 27 2021, ~ 9:05 PM - 9:15 PM UTC<br />Saturday, Nov 27 2021, ~10:05 PM - 10:15 PM CET<br />Saturday, Nov 27 2021, ~11:05 PM - 11:15 PM EET<br />Sunday, Nov 28 2021, ~ 2:35 AM - 2:45 AM IST<br />Sunday, Nov 28 2021, ~ 5:05 AM - 5:15 AM +08<br />Sunday, Nov 28 2021, ~ 6:05 AM - 6:15 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-schedule.md b/2021/info/research-schedule.md
index e7e6edef..313c70ff 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:32:00Z" end="2021-11-27T20:41:00Z">Saturday, Nov 27 2021, ~ 3:32 PM - 3:41 PM EST<br />Saturday, Nov 27 2021, ~12:32 PM - 12:41 PM PST<br />Saturday, Nov 27 2021, ~ 8:32 PM - 8:41 PM UTC<br />Saturday, Nov 27 2021, ~ 9:32 PM - 9:41 PM CET<br />Saturday, Nov 27 2021, ~10:32 PM - 10:41 PM EET<br />Sunday, Nov 28 2021, ~ 2:02 AM - 2:11 AM IST<br />Sunday, Nov 28 2021, ~ 4:32 AM - 4:41 AM +08<br />Sunday, Nov 28 2021, ~ 5:32 AM - 5:41 AM JST<br /><a href="/2021/">Find out how to watch and participate</a></div>
+<div class="times" start="2021-11-27T20:29:00Z" end="2021-11-27T20:38:00Z">Saturday, Nov 27 2021, ~ 3:29 PM - 3:38 PM EST<br />Saturday, Nov 27 2021, ~12:29 PM - 12:38 PM PST<br />Saturday, Nov 27 2021, ~ 8:29 PM - 8:38 PM UTC<br />Saturday, Nov 27 2021, ~ 9:29 PM - 9:38 PM CET<br />Saturday, Nov 27 2021, ~10:29 PM - 10:38 PM EET<br />Sunday, Nov 28 2021, ~ 1:59 AM - 2:08 AM IST<br />Sunday, Nov 28 2021, ~ 4:29 AM - 4:38 AM +08<br />Sunday, Nov 28 2021, ~ 5:29 AM - 5:38 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-schedule.md b/2021/info/teach-schedule.md
index af86fcad..f49f6e34 100644
--- a/2021/info/teach-schedule.md
+++ b/2021/info/teach-schedule.md
@@ -3,7 +3,7 @@
Q&A: live Q&A or IRC
Status: Captions added to video
Duration: 20:49
-<div class="times" start="2021-11-27T20:08:00Z" end="2021-11-27T20:29:00Z">Saturday, Nov 27 2021, ~ 3:08 PM - 3:29 PM EST<br />Saturday, Nov 27 2021, ~12:08 PM - 12:29 PM PST<br />Saturday, Nov 27 2021, ~ 8:08 PM - 8:29 PM UTC<br />Saturday, Nov 27 2021, ~ 9:08 PM - 9:29 PM CET<br />Saturday, Nov 27 2021, ~10:08 PM - 10:29 PM EET<br />Sunday, Nov 28 2021, ~ 1:38 AM - 1:59 AM IST<br />Sunday, Nov 28 2021, ~ 4:08 AM - 4:29 AM +08<br />Sunday, Nov 28 2021, ~ 5:08 AM - 5:29 AM JST<br /><a href="/2021/">Find out how to watch and participate</a></div>
+<div class="times" start="2021-11-27T20:05:00Z" end="2021-11-27T20:26:00Z">Saturday, Nov 27 2021, ~ 3:05 PM - 3:26 PM EST<br />Saturday, Nov 27 2021, ~12:05 PM - 12:26 PM PST<br />Saturday, Nov 27 2021, ~ 8:05 PM - 8:26 PM UTC<br />Saturday, Nov 27 2021, ~ 9:05 PM - 9:26 PM CET<br />Saturday, Nov 27 2021, ~10:05 PM - 10:26 PM EET<br />Sunday, Nov 28 2021, ~ 1:35 AM - 1:56 AM IST<br />Sunday, Nov 28 2021, ~ 4:05 AM - 4:26 AM +08<br />Sunday, Nov 28 2021, ~ 5:05 AM - 5:26 AM JST<br /><a href="/2021/">Find out how to watch and participate</a></div>
# Description
diff --git a/2021/info/tech-schedule.md b/2021/info/tech-schedule.md
index fac81f89..d2378eca 100644
--- a/2021/info/tech-schedule.md
+++ b/2021/info/tech-schedule.md
@@ -1,11 +1,15 @@
<!-- Automatically generated by conf-create-info-pages -->
Q&A: live Q&A or IRC
-Status: Captions added to video
+Status: Now playing
Duration: 10:22
-<div class="times" start="2021-11-27T19:29:00Z" end="2021-11-27T19:40:00Z">Saturday, Nov 27 2021, ~ 2:29 PM - 2:40 PM EST<br />Saturday, Nov 27 2021, ~11:29 AM - 11:40 AM PST<br />Saturday, Nov 27 2021, ~ 7:29 PM - 7:40 PM UTC<br />Saturday, Nov 27 2021, ~ 8:29 PM - 8:40 PM CET<br />Saturday, Nov 27 2021, ~ 9:29 PM - 9:40 PM EET<br />Sunday, Nov 28 2021, ~12:59 AM - 1:10 AM IST<br />Sunday, Nov 28 2021, ~ 3:29 AM - 3:40 AM +08<br />Sunday, Nov 28 2021, ~ 4:29 AM - 4:40 AM JST<br /><a href="/2021/">Find out how to watch and participate</a></div>
+
[[!inline pages="internal(2021/inline-alternate)" raw="yes"]]
-# 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-tech--creating-technical-documentation-and-presentations-using-org-babel-restclient-and-org-treeslide--jan-ypma--main.webm"><track label="English" kind="captions" srclang="en" src="/2021/captions/emacsconf-2021-tech--creating-technical-documentation-and-presentations-using-org-babel-restclient-and-org-treeslide--jan-ypma--main.vtt" default>
+</video></figure>
+<div class="files resources"><ul><li><a href="https://media.emacsconf.org/2021/emacsconf-2021-tech--creating-technical-documentation-and-presentations-using-org-babel-restclient-and-org-treeslide--jan-ypma--main.webm">Download .webm video (10:22, 15.9MB)</a></li><li><a href="https://media.emacsconf.org/2021/emacsconf-2021-tech--creating-technical-documentation-and-presentations-using-org-babel-restclient-and-org-treeslide--jan-ypma--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 e3975518..b31c3728 100644
--- a/2021/schedule-details.md
+++ b/2021/schedule-details.md
@@ -17,21 +17,21 @@
<tr><td>done</td><td width=100>~ 1:10 PM</td><td><a href="/2021/talks/janitor">A day in the life of a janitor</a></td><td>Stefan Monnier</td></tr>
<tr><td>done</td><td width=100>~ 1:51 PM</td><td><a href="/2021/talks/erg">Emacs Research Group, Season Zero: What we did together with Emacs in 2 hours a week for a year</a></td><td>Noorah Alhasan, Joe Corneli, Raymond Puzio, Leo Vivier</td></tr>
<tr><td>done</td><td width=100>~ 2:03 PM</td><td><a href="/2021/talks/cs">One effective CS grad student workflow</a></td><td>Greg Coladonato</td></tr>
-<tr><td>now playing</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>captioned</td><td width=100>~ 2:29 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>captioned</td><td width=100>~ 2:43 PM</td><td><a href="/2021/talks/exec">Org as an executable format</a></td><td>Tom Gillespie</td></tr>
-<tr><td>captioned</td><td width=100>~ 2:54 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:08 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:32 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:44 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:56 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:08 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:21 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:34 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:46 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:58 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:09 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:20 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: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>now playing</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>captioned</td><td width=100>~ 2:40 PM</td><td><a href="/2021/talks/exec">Org as an executable format</a></td><td>Tom Gillespie</td></tr>
+<tr><td>captioned</td><td width=100>~ 2:51 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:05 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:29 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:41 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:53 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:05 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:18 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:31 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:43 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:55 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:06 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:17 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>