summaryrefslogtreecommitdiffstats
path: root/2022
diff options
context:
space:
mode:
authorSacha Chua <sacha@sachachua.com>2022-12-04 09:06:20 -0500
committerSacha Chua <sacha@sachachua.com>2022-12-04 09:06:20 -0500
commitfd885548bd4c96dc3c363dd9e44ab852bc12b66f (patch)
tree3a852796dcfdc00e74a9742f13d9a376a4663d36 /2022
parent1334551d0cfd98996420d986d8d6f60904d318ae (diff)
downloademacsconf-wiki-fd885548bd4c96dc3c363dd9e44ab852bc12b66f.tar.xz
emacsconf-wiki-fd885548bd4c96dc3c363dd9e44ab852bc12b66f.zip
Automated commit
Diffstat (limited to '')
-rw-r--r--2022/info/survey-after.md530
-rw-r--r--2022/info/survey-before.md38
-rw-r--r--2022/schedule-2022-12-03.md2
-rw-r--r--2022/schedule-2022-12-04.md2
-rw-r--r--2022/schedule-image.md2
5 files changed, 568 insertions, 6 deletions
diff --git a/2022/info/survey-after.md b/2022/info/survey-after.md
index 9e3640a9..9491cd14 100644
--- a/2022/info/survey-after.md
+++ b/2022/info/survey-after.md
@@ -1,6 +1,536 @@
<!-- Automatically generated by emacsconf-publish-after-page -->
+<a name="survey-mainVideo-transcript"></a>
+# Transcript
+
+[[!template new="1" text="""Hello everyone and thanks for tuning in. I'm Timothy,""" start="00:00:00.000" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""and in this talk, we'll be going over""" start="00:00:06.840" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""the 2022 Emacs User Survey.""" start="00:00:08.560" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""Since this is the first time we're discussing this,""" start="00:00:11.970" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""we'll be going over the survey itself a bit,""" start="00:00:15.079" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""how it's being put together and run,""" start="00:00:18.400" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""and then we'll have a little taste of the results""" start="00:00:21.200" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""with more analysis to be published in the future.""" start="00:00:24.200" video="mainVideo-survey" id="subtitle"]]
+[[!template new="1" text="""To start with though, a bit of background.""" start="00:00:26.040" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""So in 2020, we had an Emacs User Survey""" start="00:00:32.400" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""run by Adrien Brochard.""" start="00:00:36.680" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""Now this is, to the best of my knowledge,""" start="00:00:38.840" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""the first time that a large-scale Emacs User Survey""" start="00:00:41.360" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""has actually been run.""" start="00:00:45.560" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""About 7,000 people responded to the survey,""" start="00:00:48.040" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""so in many respects, it was quite successful.""" start="00:00:50.440" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""And what's significant about this is that""" start="00:00:53.240" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""with this being the first time""" start="00:00:56.520" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""that a large-scale survey has been run,""" start="00:00:57.680" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""it actually provided some insight""" start="00:01:00.000" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""into questions about how the community is using Emacs""" start="00:01:01.720" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""that allow for much better guesses""" start="00:01:06.720" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""than just speculation based on the small number of people""" start="00:01:09.960" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""who respond on the mailing list usually.""" start="00:01:15.360" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""So, why are we doing another survey? Well, to start with,""" start="00:01:16.920" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""in order to get the most value out of an Emacs User Survey,""" start="00:01:24.880" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""it's quite helpful if the information in it is recent.""" start="00:01:28.800" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""Furthermore, we can actually get some more value""" start="00:01:32.520" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""if we can examine trends,""" start="00:01:35.440" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""shifts in the way that people are using Emacs,""" start="00:01:38.040" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""where the pain points lie,""" start="00:01:41.200" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""what people are enjoying the most, etc.""" start="00:01:42.920" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""So in both of these respects,""" start="00:01:45.480" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""it's to our benefit if the survey""" start="00:01:46.521" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""is actually a regular event,""" start="00:01:49.600" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""instead of just something that's run once.""" start="00:01:51.520" video="mainVideo-survey" id="subtitle"]]
+[[!template new="1" text="""Now, with this in mind,""" start="00:01:54.360" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""we ran the 2022 Emacs User Survey with the plan""" start="00:01:57.160" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""that this will actually become an annual event.""" start="00:02:00.960" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""In the design of the survey, there are a few goals here.""" start="00:02:05.080" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""The main one is of the user community.""" start="00:02:09.000" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""Now, user community is a rather nebulous phrase.""" start="00:02:11.521" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""In this case, what's meant in particular""" start="00:02:14.521" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""is value in questions, for example,""" start="00:02:17.521" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""things like pain points with Emacs,""" start="00:02:21.021" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""which versions people are using,""" start="00:02:23.840" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""which capabilities people are making the most use of,""" start="00:02:27.120" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""which could potentially be helpful to both emacs-devel""" start="00:02:30.240" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""but also our collection of Emacs package maintainers""" start="00:02:34.520" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""and the whole community.""" start="00:02:36.521" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""Actually, I think going beyond just the packages,""" start="00:02:38.021" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""we've also got the people who develop tutorials, guides,""" start="00:02:40.800" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""and all of that sort of surrounding activity,""" start="00:02:46.040" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""which can benefit from a clear understanding""" start="00:02:49.280" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""of how Emacs users use Emacs.""" start="00:02:51.021" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""Separately to that,""" start="00:02:56.021" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""I think as an Emacs user myself,""" start="00:02:58.520" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""that it's rather interesting to see""" start="00:03:01.640" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""how other people are using Emacs""" start="00:03:02.840" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""and what their experience is. So yes, basically,""" start="00:03:04.480" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""you've got utility and interest""" start="00:03:07.080" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""as the two separate driving factors""" start="00:03:08.560" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""as we try to pick questions, which actually can give us""" start="00:03:10.720" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""all of this without taking up too much""" start="00:03:14.021" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""of the respondents time.""" start="00:03:16.521" video="mainVideo-survey" id="subtitle"]]
+[[!template new="1" text="""Now, last time in 2020, the Emacs survey that Adrien ran""" start="00:03:18.560" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""used, I think Google Forms, if I recall correctly,""" start="00:03:24.400" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""with an option to send in responses manually.""" start="00:03:27.080" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""This worked, but it's not great,""" start="00:03:28.800" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""particularly given that this is for a survey""" start="00:03:33.160" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""being run in an ardently FOSS community.""" start="00:03:35.080" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""Ideally, we actually want""" start="00:03:37.200" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""to find a survey framework""" start="00:03:38.960" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""that respects the priorities of users, is open source,""" start="00:03:40.800" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""ideally free and open source,""" start="00:03:44.320" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""and is a relatively pleasant experience.""" start="00:03:46.360" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""Unfortunately, looking at available options,""" start="00:03:50.000" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""it seems that one always has to compromise on at least one,""" start="00:03:53.080" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""if not all of those criteria,""" start="00:03:56.880" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""which is quite far from ideal.""" start="00:03:58.021" video="mainVideo-survey" id="subtitle"]]
+[[!template new="1" text="""So what's the obvious solution?""" start="00:04:01.021" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""Okay, we should just write a new survey framework.""" start="00:04:04.360" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""Obviously, this is easier said than done.""" start="00:04:06.640" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""But around a year ago,""" start="00:04:10.680" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""I actually started doing exactly this.""" start="00:04:12.240" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""I've used the programming language Julia quite a bit""" start="00:04:13.640" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""on a day to day basis. And there just so happens to be""" start="00:04:17.680" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""a web framework for that called Genie.""" start="00:04:21.021" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""So I thought I'd give it a shot.""" start="00:04:23.200" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""And well, here we are today.""" start="00:04:24.720" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""I ended up putting something together,""" start="00:04:26.560" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""which could take a set of questions written in Julia""" start="00:04:28.480" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""and using a survey library,""" start="00:04:34.280" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""actually pass that into this helpful structure""" start="00:04:35.840" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""and then construct HTML forms based on that,""" start="00:04:38.800" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""and ingest results from the HTML forms,""" start="00:04:44.120" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""and just sort of handle that altogether.""" start="00:04:47.021" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""Now, all of this ends up being fed into an SQLite DB.""" start="00:04:48.521" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""So everything's there, even part responses.""" start="00:04:52.440" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""One of the goals with the actual design of this has been""" start="00:04:55.160" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""to just minimize what's actually done on the client side.""" start="00:04:57.600" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""So that means JavaScript, cookies, the whole lot.""" start="00:05:01.120" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""Basically, as far as this could reasonably be taken,""" start="00:05:05.560" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""we've just got static HTML being shoved to the user,""" start="00:05:08.760" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""or respondent rather. And then we just""" start="00:05:14.600" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""take an HTTP post request back""" start="00:05:16.720" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""and update the results that way.""" start="00:05:18.520" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""Now by doing things like actually paging the survey,""" start="00:05:20.920" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""we can allow for incremental saving of results""" start="00:05:24.240" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""and a few other niceties while essentially preserving""" start="00:05:26.560" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""an experience that doesn't really require any data""" start="00:05:30.560" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""of any particular capabilities, which is sort of""" start="00:05:36.320" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""a nice, clean, minimal experience as far as I'm concerned.""" start="00:05:37.320" video="mainVideo-survey" id="subtitle"]]
+[[!template new="1" text="""So how does this actually look like in practice?""" start="00:05:40.200" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""Well, one of the nice things about this is""" start="00:05:45.680" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""because the question itself is written in Julia,""" start="00:05:48.120" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""we can get some nice features like custom validators""" start="00:05:51.480" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""and other fancy behavior and directly specify""" start="00:05:54.280" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""how we actually want questions to be registered""" start="00:05:57.920" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""in the database. So here we have, for example,""" start="00:06:01.120" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""two questions we had from this email survey.""" start="00:06:04.440" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""One is a multi-select. Another one is just putting in""" start="00:06:06.680" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""the number of years people have used Emacs for.""" start="00:06:09.960" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""I think this gives a brief overview of the capabilities.""" start="00:06:14.400" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""One of the things I'd like to draw particular attention""" start="00:06:16.160" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""to here is in the multi-select,""" start="00:06:19.600" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""you'll see an array of options,""" start="00:06:20.760" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""the first one of which actually maps for different value""" start="00:06:22.200" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""to be stored for convenience.""" start="00:06:24.320" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""And then the final one is a special one, :other,""" start="00:06:25.880" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""and you can see that's a bit different to the rest""" start="00:06:29.120" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""where it's got that colon function,""" start="00:06:30.360" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""it's a symbol, not a string.""" start="00:06:32.600" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""And this is quite a nice one because the way""" start="00:06:33.720" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""that this framework's been designed,""" start="00:06:37.640" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""when we have an :other value like that,""" start="00:06:39.280" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""instead of it just being a sort of tick box &quot;Other&quot;,""" start="00:06:41.760" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""it actually provides the option to write""" start="00:06:44.200" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""your own different response to all of the above.""" start="00:06:47.200" video="mainVideo-survey" id="subtitle"]]
+[[!template new="1" text="""Okay, so at the very end, we've now got""" start="00:06:50.560" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""a completely FOSS survey framework, rather nice.""" start="00:06:55.320" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""So the set of what were these...""" start="00:06:58.520" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""Decent array of input types.""" start="00:07:00.021" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""It would be nice to expand, but at the moment""" start="00:07:01.120" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""I think we could just about describe it as a rich set.""" start="00:07:02.640" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""Zero JavaScript required, but a little bit useful""" start="00:07:04.600" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""for progressive enhancement.""" start="00:07:07.160" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""As demonstrated, we can get some fancy validation going on.""" start="00:07:08.080" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""And then because we've got the results""" start="00:07:12.760" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""tied into this quite nicely,""" start="00:07:16.680" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""we can actually have them available live""" start="00:07:18.560" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""and in quite a number of formats.""" start="00:07:21.000" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""I'm not sure how much you saw in the architecture diagram,""" start="00:07:23.000" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""but we've got all sorts of things here.""" start="00:07:25.440" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""CSV, TSV, plain text, JSON,""" start="00:07:27.080" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""just grab a copy of the SQLite database,""" start="00:07:29.680" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""but only the relevant bits.""" start="00:07:32.120" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""Or something called JLD2,""" start="00:07:33.320" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""which preserves a lot of type information""" start="00:07:35.880" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""and a few other nice things.""" start="00:07:38.000" video="mainVideo-survey" id="subtitle"]]
+[[!template new="1" text="""Now, what are we going to do going forward from here?""" start="00:07:39.600" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""Well, there are a few minor issues here.""" start="00:07:43.800" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""For example, there's a memory leak issue which is going on,""" start="00:07:46.160" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""resulting in the service being restarted,""" start="00:07:48.600" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""I think every day or two, while the survey was running.""" start="00:07:51.840" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""I actually have the suspicion""" start="00:07:54.520" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""that that's largely responsible for""" start="00:07:56.160" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""about 1% of respondents, which is about 75 people,""" start="00:07:57.640" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""who described the survey experience as not great.""" start="00:08:01.480" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""Overall though, the feedback has been quite positive.""" start="00:08:04.400" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""There's been some detailed written feedback,""" start="00:08:08.200" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""but just from the quick great/okay/not great options,""" start="00:08:09.920" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""we had about two-thirds of people saying""" start="00:08:12.800" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""that the user experience was great,""" start="00:08:14.840" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""which is really nice to hear the first time being run.""" start="00:08:16.840" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""A few other things would be nice to add, for example,""" start="00:08:19.200" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""in future control flow. By this, I mean""" start="00:08:22.840" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""the option to present different questions""" start="00:08:25.760" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""based on previous answers""" start="00:08:27.880" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""would be quite nice to streamline the experience.""" start="00:08:29.000" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""For example, having a set of questions""" start="00:08:31.200" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""for first-time respondents or people who are involved""" start="00:08:33.520" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""in the packaging side of things""" start="00:08:37.240" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""without actually cluttering the experience""" start="00:08:42.240" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""for everybody else. That'd be quite nice.""" start="00:08:45.080" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""Further to this, all of this,""" start="00:08:46.040" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""I think on top of the standard web interface,""" start="00:08:48.600" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""it'd be quite nice to actually write a server API.""" start="00:08:51.880" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""And the particular reason why I mentioned this""" start="00:08:53.600" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""is because this could potentially allow for""" start="00:08:55.521" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""basically an Emacs survey package.""" start="00:08:58.021" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""I mean, we already use Emacs for so many things,""" start="00:09:00.360" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""might as well fill the survey out from within it as well.""" start="00:09:03.040" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""Okay, so this is how the survey has been conducted.""" start="00:09:05.520" video="mainVideo-survey" id="subtitle"]]
+[[!template new="1" text="""Now, what are the responses look like?""" start="00:09:11.160" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""Now, at this stage, I was actually hoping""" start="00:09:13.680" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""to get into some somewhat sophisticated analysis""" start="00:09:16.040" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""because there's quite a bit that you can dig out""" start="00:09:18.920" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""of the data responses that we've received.""" start="00:09:22.600" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""However, unfortunately, I've been much more limited on time""" start="00:09:24.240" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""than I'd hoped for, so that's going to have to come later.""" start="00:09:27.880" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""For now, we're just going to take a bit of a peek""" start="00:09:30.040" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""at some of the really basic answers.""" start="00:09:33.560" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""Well, it's not even really analysis.""" start="00:09:35.960" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""Expect to see lots of pie charts, basically.""" start="00:09:38.240" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""But there's still a bit of interest there,""" start="00:09:40.240" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""so we'll go through a bit of that""" start="00:09:43.000" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""and just give a bit of a tease""" start="00:09:44.360" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""as to what might come in the future.""" start="00:09:47.120" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""So to sum up for starters,""" start="00:09:50.320" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""we've had about 6,500 responses.""" start="00:09:51.920" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""It is worth noting that a thousand of those are partials,""" start="00:09:55.080" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""so people who gave up on the survey partway through.""" start="00:09:58.360" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""Given that the 2020 survey had about 7000 responses,""" start="00:10:02.200" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""I'll tell you we're basically on par here.""" start="00:10:05.400" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""This ran over a month and interestingly,""" start="00:10:07.000" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""about half of these respondents""" start="00:10:10.400" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""did not participate in the 2020 survey.""" start="00:10:12.240" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""I think at this point,""" start="00:10:13.800" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""it's not really clear what to make of that.""" start="00:10:16.200" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""There's been a two-year gap between the surveys.""" start="00:10:17.680" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""It's been done, well, it's been done quite differently,""" start="00:10:21.360" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""and yes, there's not enough, really, to say.""" start="00:10:25.160" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""What could be interesting though is actually,""" start="00:10:29.640" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""once this starts running regularly,""" start="00:10:32.000" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""we can see whether there's regular churn""" start="00:10:33.840" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""in the survey respondents,""" start="00:10:36.800" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""or if we have a consistent core""" start="00:10:38.521" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""with people who respond each year,""" start="00:10:40.021" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""and then just people who come by every now and then and go,""" start="00:10:42.021" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""&quot;Oh, why not respond to this year's survey?&quot;""" start="00:10:46.160" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""But we're going to have to wait a bit to actually see""" start="00:10:47.760" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""how people treat the survey.""" start="00:10:51.480" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""Now these responses came from quite a wide range of places""" start="00:10:52.760" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""we've got 115 nations represented here. Collectively,""" start="00:10:57.520" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""these ones have spent about a thousand hours""" start="00:11:02.520" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""giving us information. So I think, if nothing else,""" start="00:11:04.040" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""just from the effort that people have put into""" start="00:11:06.960" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""actually giving us useful data to work with,""" start="00:11:10.480" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""it's worth giving at least a good effort""" start="00:11:12.880" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""to actually trying to extract some value""" start="00:11:13.600" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""out of these responses.""" start="00:11:16.000" video="mainVideo-survey" id="subtitle"]]
+[[!template new="1" text="""Now, overall we found a lot of responses came from America,""" start="00:11:17.000" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""no surprises there, but as mentioned,""" start="00:11:20.880" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""we've got a good mix around the globe.""" start="00:11:23.200" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""The usual suspects for the rest of the responses,""" start="00:11:24.021" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""a whole bunch in Europe, a whole bunch around Asia,""" start="00:11:29.160" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""a bit in Australasia as well and yes,""" start="00:11:33.280" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""there's nothing particularly surprising here,""" start="00:11:36.800" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""there's a lot of inline expectations.""" start="00:11:38.960" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""What I find a bit more interesting, though,""" start="00:11:41.400" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""is if we actually normalise""" start="00:11:42.840" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""the number of responses from each nation""" start="00:11:45.360" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""by the population of said nations,""" start="00:11:48.080" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""essentially giving a popularity of Emacs""" start="00:11:50.080" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""or at least of Emacs early respondents for each nation,""" start="00:11:54.240" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""we end up finding that Europe, particularly Scandinavia,""" start="00:11:57.360" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""becomes a bit of a hotspot.""" start="00:12:00.920" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""So I'm not sure what's going on""" start="00:12:02.200" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""in Sweden, Finland and Norway,""" start="00:12:04.520" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""but it seems to be particularly popular around there.""" start="00:12:07.320" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""It's also worth noting that we now find""" start="00:12:10.920" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""that the proportion of respondents""" start="00:12:14.200" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""in countries like America, Canada, Australia""" start="00:12:18.320" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""and most of Europe actually becomes""" start="00:12:21.800" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""quite comparable with each other,""" start="00:12:24.040" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""which yes, once again, sort of lines up""" start="00:12:26.400" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""with these responses, expectations from the last slide.""" start="00:12:30.240" video="mainVideo-survey" id="subtitle"]]
+[[!template new="1" text="""Okay, getting into some of the other""" start="00:12:32.280" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""demographic information.""" start="00:12:36.280" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""The demographic information was new to this survey.""" start="00:12:38.600" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""In the 2020 survey, people were asked what they think""" start="00:12:40.320" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""of being asked about some demographic information""" start="00:12:44.480" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""in a future survey, and the overwhelming response is, &quot;Sure,""" start="00:12:47.200" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""I don't really mind.&quot; And so that's what we've done here.""" start="00:12:50.200" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""One of the ones of somewhat interest""" start="00:12:52.760" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""is the age gender breakdown. So we expect Emacs""" start="00:12:56.280" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""to be used predominantly among people in software""" start="00:12:59.760" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""and programming and within the industry,""" start="00:13:03.120" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""I think it's quite widely documented""" start="00:13:05.840" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""to have about a sort of 75-25%, roughly, split""" start="00:13:08.600" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""between male and female.""" start="00:13:14.521" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""Interestingly, in Emacs,""" start="00:13:14.760" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""it's a much more aggressively-biased result.""" start="00:13:19.360" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""So we had about 96% of respondents are male""" start="00:13:22.880" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""with just 4% for the rest. Interestingly, though,""" start="00:13:28.680" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""if we look at the young respondents,""" start="00:13:34.560" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""say for example, under 25, we go from 96% male to 88%.""" start="00:13:35.360" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""So it's fair to say that the young respondents are""" start="00:13:41.720" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""in this respect, a somewhat more diverse group.""" start="00:13:46.120" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""Hopefully, as future surveys go on,""" start="00:13:49.200" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""we'll see this continue not die off""" start="00:13:52.400" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""to the sort of well, at this point,""" start="00:13:54.400" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""it's more like 99% if you look at the older ages.""" start="00:13:58.720" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""But we'll see.""" start="00:14:02.920" video="mainVideo-survey" id="subtitle"]]
+[[!template new="1" text="""Occupations was an interesting slide as well.""" start="00:14:04.440" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""Interesting question as well.""" start="00:14:07.920" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""We've got the usual suspects here. I mean,""" start="00:14:09.400" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""it's a text editor, well, Lisp machine""" start="00:14:11.560" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""masquerading as a text editor, mainly used for programming,""" start="00:14:15.080" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""and so we expect lots of software development""" start="00:14:17.640" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""and that sort of thing. But that's only about""" start="00:14:20.640" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""just over half of the responses.""" start="00:14:23.520" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""We've got a huge chunk from academia,""" start="00:14:25.400" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""and then really just an odd bag""" start="00:14:28.680" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""of all sorts of other things,""" start="00:14:30.000" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""including things which you wouldn't really associate""" start="00:14:30.880" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""with programming and software at all.""" start="00:14:33.080" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""Things like creative writing, publishing, legal, yes.""" start="00:14:35.360" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""And then you've got this chunk of Other,""" start="00:14:39.640" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""which is I think here is""" start="00:14:41.720" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""the fourth most popular option here.""" start="00:14:43.240" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""And what we have here is about 500 different responses""" start="00:14:46.680" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""from a huge range of activities.""" start="00:14:49.400" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""It's really quite interesting to read things like""" start="00:14:51.840" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""I think, things like &quot;naval officer&quot;,""" start="00:14:54.360" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""and just... All sorts of surprising occupations for Emacs.""" start="00:14:56.920" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""And I think this is a particular area""" start="00:15:01.320" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""because I imagine compared to other code editors,""" start="00:15:04.800" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""sort of your VS Code, remember like""" start="00:15:10.200" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""that Emacs may have a particularly diverse set""" start="00:15:13.880" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""of industry occupations represented in its users.""" start="00:15:18.960" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""Now, if you look at where the response actually came from,""" start="00:15:23.600" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""we've got the usual suspects up top,""" start="00:15:28.360" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""Hacker News and r/emacs.""" start="00:15:31.040" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""But then we actually get a much more graduated breakdown""" start="00:15:33.960" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""than in the 2020 survey.""" start="00:15:40.120" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""We do think familiar results here like IRC, Telegram,""" start="00:15:43.680" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""Emacs China, and Twitter.""" start="00:15:46.280" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""But now you've got a few new entries,""" start="00:15:48.640" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""things like the Fediverse, Discourse, Matrix,""" start="00:15:50.840" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""which didn't pop up previously.""" start="00:15:53.520" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""So I think this is yes, quite a nice sign in terms of""" start="00:15:56.120" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""actually hitting a wide range""" start="00:15:59.080" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""of pockets of Emacs users across different platforms,""" start="00:16:02.521" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""which bodes well for the potential representiveness""" start="00:16:06.000" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""of this survey.""" start="00:16:10.320" video="mainVideo-survey" id="subtitle"]]
+[[!template new="1" text="""Unsurprisingly, if we're talking about Emacs""" start="00:16:11.320" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""and particularly people who are quite engaged in it,""" start="00:16:15.120" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""which are the respondents to this survey,""" start="00:16:17.920" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""we find that we also get quite a high degree of care""" start="00:16:19.680" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""for free and open source software.""" start="00:16:25.360" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""So if you have a look here,""" start="00:16:27.480" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""only about a quarter of users""" start="00:16:30.520" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""didn't express a strong preference towards FOSS software.""" start="00:16:35.280" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""In fact, we had over a quarter saying that""" start="00:16:39.800" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""they would accept significant or even any compromise""" start="00:16:43.760" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""to use a FOSS user software""" start="00:16:49.240" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""over a proprietary alternative,""" start="00:16:52.200" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""which given the nature of Emacs,""" start="00:16:55.760" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""not terribly surprising,""" start="00:16:59.680" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""but a strong showing nonetheless.""" start="00:17:00.640" video="mainVideo-survey" id="subtitle"]]
+[[!template new="1" text="""Now, let's start getting to things""" start="00:17:02.440" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""which are actually useful for""" start="00:17:05.600" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""potential Emacs development and packaging.""" start="00:17:07.720" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""If you're thinking about supporting Emacs versions,""" start="00:17:11.480" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""it looks like you can do fantastically well""" start="00:17:13.600" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""in terms of hitting most users if you support Emacs 27+.""" start="00:17:16.600" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""That hits about 96% of respondents.""" start="00:17:20.640" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""Interestingly though, you can actually make an argument""" start="00:17:23.160" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""for being even more aggressive.""" start="00:17:26.200" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""I mean, if you have a look at Emacs 28+,""" start="00:17:27.120" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""that's still over three quarters of respondents.""" start="00:17:30.320" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""We've got, at this point, a quarter""" start="00:17:32.360" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""using the unreleased HEAD version,""" start="00:17:35.800" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""even though it's getting close to release.""" start="00:17:37.280" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""Obviously here, as stated, we're hitting""" start="00:17:40.160" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""a sort of more engaged with the community""" start="00:17:43.040" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""subset of Emacs users, but still,""" start="00:17:44.600" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""I think it's interesting to see that""" start="00:17:47.800" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""with Emacs's increasingly frequent update schedule,""" start="00:17:49.880" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""that users are actually picking up those updates""" start="00:17:52.640" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""quite promptly as they roll out.""" start="00:17:55.000" video="mainVideo-survey" id="subtitle"]]
+[[!template new="1" text="""Continuing on with how people actually use Emacs: languages.""" start="00:17:56.360" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""We've got the usual suspects here: lots of Python,""" start="00:18:02.080" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""quite a bit of JavaScript and C, lots of shell.""" start="00:18:05.200" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""What I find quite interesting though is""" start="00:18:08.960" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""if we actually bring in""" start="00:18:11.880" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""the 2020 Stack Overflow language usage survey data,""" start="00:18:12.800" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""and that maps quite well""" start="00:18:16.720" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""to the array of language options we provided here.""" start="00:18:19.240" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""They had a general Lisp option,""" start="00:18:20.080" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""which I've folded into Common Lisp""" start="00:18:21.200" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""since they listed Clojure separately.""" start="00:18:23.920" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""I think that seems like a fairly safe bet.""" start="00:18:26.920" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""But other than that, the only languages that we missed""" start="00:18:29.680" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""are Scheme and Elisp.""" start="00:18:31.920" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""What we can do is we can look at""" start="00:18:35.840" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""the relative popularity of different languages""" start="00:18:37.880" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""from our Emacs user survey compared to Stack Overflows.""" start="00:18:41.200" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""What do we find? Well, Clojure and Common Lisp""" start="00:18:44.520" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""far above the rest, I imagine in no small part due to""" start="00:18:48.320" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""the fantastic SLIME and Cider packages.""" start="00:18:51.640" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""Following that, we see Haskell being particularly prominent,""" start="00:18:54.960" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""and then a collection of other languages,""" start="00:18:59.560" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""your Erlang, Elixir, Julia, Perl and the rest.""" start="00:19:00.640" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""And then lastly, if we have a look at the ones""" start="00:19:06.200" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""which have significantly diminished popularity""" start="00:19:10.960" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""compared to Stack Overflow, we end up with, I think,""" start="00:19:13.440" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""what I could probably cast as more enterprising languages.""" start="00:19:17.720" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""Things like C#, Java, Typescript and the like.""" start="00:19:20.160" video="mainVideo-survey" id="subtitle"]]
+[[!template new="1" text="""So, that's interesting. Now, earlier""" start="00:19:25.800" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""when we were looking at the split of Emacs users,""" start="00:19:31.560" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""we found that we actually had a fair few""" start="00:19:33.240" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""in more creative areas, like writing and publishing.""" start="00:19:37.240" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""So if looking at prose, we'd expect a decent chunk""" start="00:19:42.200" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""to be using Emacs for prose, but it's actually more""" start="00:19:44.480" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""than just a little bit, it's a little slice.""" start="00:19:47.040" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""We've got a whopping about a third of users""" start="00:19:48.720" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""saying they frequently use Emacs for writing prose.""" start="00:19:50.600" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""I'd imagine that the availability""" start="00:19:54.720" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""of things like Org mode and AUCTeX""" start="00:19:56.000" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""probably help like this.""" start="00:19:57.800" video="mainVideo-survey" id="subtitle"]]
+[[!template new="1" text="""Moving on to other packages, or more packages,""" start="00:20:03.400" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""we've actually got a very similar split here""" start="00:20:05.120" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""to the 2020 survey. Org has seen a bit of a growth""" start="00:20:08.880" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""in popularity. We've got some new arrivals here as well.""" start="00:20:13.200" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""For example, Vertico has popped onto the scene""" start="00:20:16.040" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""and overtaken Ivy here, along with""" start="00:20:18.480" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""a few other new packages like Consult.""" start="00:20:21.280" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""Other than that, quite comparable.""" start="00:20:24.520" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""What's rather interesting, though, I find here is that""" start="00:20:27.600" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""when you have people who listed a small number of packages,""" start="00:20:30.000" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""they actually predominantly listed packages""" start="00:20:33.720" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""other than the most common set.""" start="00:20:39.440" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""So if we have a lot of people who only listed one package,""" start="00:20:41.320" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""basically two-thirds of that,""" start="00:20:43.960" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""or actually three-quarters of those responses""" start="00:20:48.960" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""were saying other packages,""" start="00:20:51.480" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""despite the fact that overall packages""" start="00:20:53.880" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""other than the highlighted selection here""" start="00:20:56.280" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""only constitute a quarter of responses.""" start="00:20:58.600" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""So there might be something a bit more to look at there.""" start="00:21:01.400" video="mainVideo-survey" id="subtitle"]]
+[[!template new="1" text="""Now when people are using packages,""" start="00:21:04.920" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""we also asked what types of documentation""" start="00:21:07.800" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""people would like to see more of on package READMEs.""" start="00:21:11.040" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""Basically we've got a big mix here.""" start="00:21:14.400" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""It seems like generally people are interested in""" start="00:21:17.160" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""seeing more in various forms, whether it be tutorials,""" start="00:21:20.080" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""overviews, screenshots, comparisons, or clips and videos.""" start="00:21:23.840" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""So full READMEs with a lot of context""" start="00:21:29.480" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""seem to be quite desirable from this.""" start="00:21:32.920" video="mainVideo-survey" id="subtitle"]]
+[[!template new="1" text="""Now moving forward, what are we going to do?""" start="00:21:38.440" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""So 800 people gave some detailed feedback on the survey.""" start="00:21:42.360" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""That's quite nice. I'm going to be taking a good read""" start="00:21:45.040" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""of all of those responses and use that""" start="00:21:47.760" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""to improve the process and also the set of questions.""" start="00:21:50.800" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""Now all of you can also give some feedback on the questions,""" start="00:21:55.640" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""both that you found most useful in this survey,""" start="00:22:00.760" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""ones that you think might not add much value,""" start="00:22:02.680" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""and/or new questions""" start="00:22:04.800" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""that you think might be a good addition.""" start="00:22:07.040" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""Once I've done a bit more analysis,""" start="00:22:08.360" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""particularly the more sophisticated analysis""" start="00:22:11.120" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""which I'm planning, which will probably come out actually""" start="00:22:13.120" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""maybe in the first quarter of next year,""" start="00:22:17.160" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""we can see which questions there seem to have provided""" start="00:22:18.720" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""the most interesting or surprising results""" start="00:22:22.920" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""and those are probably worth keeping.""" start="00:22:25.040" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""Lastly, once we actually have an API""" start="00:22:26.560" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""and potentially even an Emacs package,""" start="00:22:31.960" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""we could automate a large number of the questions,""" start="00:22:33.280" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""things like Emacs version, set of packages used,""" start="00:22:36.160" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""and that could just streamline the experience""" start="00:22:39.000" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""of actually filling out the survey,""" start="00:22:41.040" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""make it a bit more frictionless.""" start="00:22:42.280" video="mainVideo-survey" id="subtitle"]]
+[[!template new="1" text="""Now talking of the question of questions,""" start="00:22:44.200" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""a quick survey is a good survey.""" start="00:22:47.320" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""If we're asking people to dedicate their time""" start="00:22:49.320" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""to fill out this, it's good to try to get as much value""" start="00:22:52.960" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""without asking them to donate much of their time.""" start="00:22:56.280" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""How has the survey done in this respect?""" start="00:22:59.760" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""I'm actually very happy with how it's done.""" start="00:23:02.400" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""We get a few comments from the feedback saying""" start="00:23:04.120" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""that it was a bit of a long side,""" start="00:23:06.640" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""but the median time was about 12 minutes,""" start="00:23:07.760" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""which doesn't seem too bad, and most commonly""" start="00:23:10.760" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""we saw people completing it in about 8 minutes.""" start="00:23:13.760" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""For a once-per-year survey,""" start="00:23:16.400" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""I think this seems fairly reasonable.""" start="00:23:18.880" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""Getting closer to a 5-10 minute range would be nice,""" start="00:23:20.520" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""but this isn't far off.""" start="00:23:24.280" video="mainVideo-survey" id="subtitle"]]
+[[!template new="1" text="""Lastly, we're also going to be considering""" start="00:23:26.200" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""how long the survey is open for.""" start="00:23:30.880" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""So from the initial opening date,""" start="00:23:32.720" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""what we have here is a plot of""" start="00:23:36.720" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""the page which people ended up on""" start="00:23:38.480" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""and when they started the survey.""" start="00:23:41.920" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""So what we can see is a huge spike in the first few days.""" start="00:23:43.400" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""I've just realised that this plot""" start="00:23:46.760" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""is actually labelled incorrectly.""" start="00:23:50.240" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""Please disregard the minutes to complete the survey.""" start="00:23:53.400" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""This should be days after survey opening""" start="00:23:55.680" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""that a response is actually submitted.""" start="00:23:58.840" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""And what we have here is a big spike""" start="00:24:01.520" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""in popularity in the first week basically,""" start="00:24:05.400" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""and then it trickles down""" start="00:24:08.680" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""to a fairly consistent level after that.""" start="00:24:10.600" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""I'm about to publish a last call for survey responses,""" start="00:24:11.960" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""so I'll see if any final bump happens,""" start="00:24:15.840" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""but this indicates that we can probably just""" start="00:24:18.280" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""have the survey open for a week or two""" start="00:24:20.040" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""and that should be sufficient.""" start="00:24:23.080" video="mainVideo-survey" id="subtitle"]]
+[[!template new="1" text="""Alright, so what's the general plan going forwards?""" start="00:24:25.200" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""Well, as stated earlier, the idea is to run this annually""" start="00:24:30.840" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""and then consistently improve the questions,""" start="00:24:35.640" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""the experience, and the analysis that's done.""" start="00:24:38.400" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""This year has been the hardest by far""" start="00:24:41.040" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""because a lot had to be set up from scratch.""" start="00:24:43.560" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""The hope is that moving on from here,""" start="00:24:45.840" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""a lot of it can be reused.""" start="00:24:50.160" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""For example, with my comments about""" start="00:24:51.800" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""more sophisticated analysis being down the line,""" start="00:24:54.040" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""once that's all worked out,""" start="00:24:56.440" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""as long as nothing changes too drastically,""" start="00:24:58.440" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""we should be able to reuse a lot of that work""" start="00:25:00.720" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""quite easily in future years.""" start="00:25:03.560" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""Alright, that's it for now.""" start="00:25:05.760" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""Hopefully, you've found this an interesting peek""" start="00:25:08.600" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""into how the survey is operated""" start="00:25:11.880" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""and some of the initial results,""" start="00:25:13.360" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""and hopefully, I'll see you around next year""" start="00:25:15.320" video="mainVideo-survey" id="subtitle"]]
+[[!template text="""for the 2023 survey. Thanks for listening.""" start="00:25:18.920" video="mainVideo-survey" id="subtitle"]]
+
+
+
+Captioner: sachac
Questions or comments? Please e-mail [emacsconf-org-private@gnu.org](mailto:emacsconf-org-private@gnu.org?subject=Comment%20for%20EmacsConf%202022%20survey%3A%20Results%20of%20the%202022%20Emacs%20Survey)
diff --git a/2022/info/survey-before.md b/2022/info/survey-before.md
index 6a350c9a..fea37046 100644
--- a/2022/info/survey-before.md
+++ b/2022/info/survey-before.md
@@ -1,16 +1,48 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
The following image shows where the talk is in the schedule for Sun 2022-12-04. Solid lines show talks with Q&A via BigBlueButton. Dashed lines show talks with Q&A via IRC or Etherpad.<div class="schedule-in-context schedule-svg-container" data-slug="survey">
-<svg width="800" height="150" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <title> Schedule for Sunday</title> <rect width="800" height="150" x="0" y="0" fill="white"></rect> <text font-size="10" fill="black" y="12" x="3"> Sunday</text> <a href="/2022/talks/sun-open" title="Sunday opening remarks" data-slug="sun-open"> <title> 9:00- 9:05 Sunday opening remarks</title> <rect x="0" y="15" opacity="0.5" width="7" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(5,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> sun-open</text></g></a> <a href="/2022/talks/survey" title="Results of the 2022 Emacs Survey" data-slug="survey"> <title> 9:05- 9:25 Results of the 2022 Emacs Survey</title> <rect stroke-width="3" x="7" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect> <g transform="translate(36,73)"> <text font-weight="bold" fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> survey</text></g></a> <a href="/2022/talks/orgyear" title="This Year in Org" data-slug="orgyear"> <title> 9:35- 9:45 This Year in Org</title> <rect x="54" y="15" opacity="0.5" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect> <g transform="translate(67,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> orgyear</text></g></a> <a href="/2022/talks/rolodex" title="Build a Zettelkasten with the Hyperbole Rolodex" data-slug="rolodex"> <title> 9:55-10:20 Build a Zettelkasten with the Hyperbole Rolodex</title> <rect x="86" y="15" opacity="0.5" width="39" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect> <g transform="translate(123,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> rolodex</text></g></a> <a href="/2022/talks/orgsuperlinks" title="Linking headings with org-super-links (poor-man's Zettelkasten)" data-slug="orgsuperlinks"> <title> 10:40-10:50 Linking headings with org-super-links (poor-man's Zettelkasten)</title> <rect x="156" y="15" opacity="0.5" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(169,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> orgsuperlinks</text></g></a> <a href="/2022/talks/orgvm" title="orgvm: a simple HTTP server for org" data-slug="orgvm"> <title> 11:10-11:20 orgvm: a simple HTTP server for org</title> <rect x="203" y="15" opacity="0.5" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(216,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> orgvm</text></g></a> <a href="/2022/talks/hyperorg" title="Powerful productivity with Hyperbole and Org Mode" data-slug="hyperorg"> <title> 1:00- 1:30 Powerful productivity with Hyperbole and Org Mode</title> <rect x="376" y="15" opacity="0.5" width="47" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(421,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> hyperorg</text></g></a> <a href="/2022/talks/workflows" title="Org workflows for developers" data-slug="workflows"> <title> 1:50- 2:15 Org workflows for developers</title> <rect x="454" y="15" opacity="0.5" width="39" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(491,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> workflows</text></g></a> <a href="/2022/talks/grail" title="GRAIL---A Generalized Representation and Aggregation of Information Layers" data-slug="grail"> <title> 2:35- 2:55 GRAIL---A Generalized Representation and Aggregation of Information Layers</title> <rect x="525" y="15" opacity="0.5" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(554,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> grail</text></g></a> <a href="/2022/talks/indieweb" title="Putting Org Mode on the Indieweb" data-slug="indieweb"> <title> 3:25- 3:45 Putting Org Mode on the Indieweb</title> <rect x="603" y="15" opacity="0.5" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(632,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> indieweb</text></g></a> <a href="/2022/talks/devel" title="Emacs development updates" data-slug="devel"> <title> 4:05- 4:15 Emacs development updates</title> <rect x="666" y="15" opacity="0.5" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect> <g transform="translate(679,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> devel</text></g></a> <a href="/2022/talks/fanfare" title="Fanfare for the Common Emacs User" data-slug="fanfare"> <title> 4:25- 4:35 Fanfare for the Common Emacs User</title> <rect x="698" y="15" opacity="0.5" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(711,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> fanfare</text></g></a> <a href="/2022/talks/sun-close" title="Sunday closing remarks" data-slug="sun-close"> <title> 4:50- 5:00 Sunday closing remarks</title> <rect x="737" y="15" opacity="0.5" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(750,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> sun-close</text></g></a> <a href="/2022/talks/rde" title="rde Emacs introduction" data-slug="rde"> <title> 10:00-10:25 rde Emacs introduction</title> <rect x="94" y="75" opacity="0.5" width="39" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(131,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> rde</text></g></a> <a href="/2022/talks/justl" title="justl: Driving recipes within Emacs" data-slug="justl"> <title> 10:50-11:05 justl: Driving recipes within Emacs</title> <rect x="172" y="75" opacity="0.5" width="23" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect> <g transform="translate(193,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> justl</text></g></a> <a href="/2022/talks/rms" title="What I'd like to see in Emacs" data-slug="rms"> <title> 11:15-11:35 What I'd like to see in Emacs</title> <rect x="211" y="75" opacity="0.5" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect> <g transform="translate(240,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> rms</text></g></a> <a href="/2022/talks/detached" title="Getting detached from Emacs" data-slug="detached"> <title> 1:00- 1:15 Getting detached from Emacs</title> <rect x="376" y="75" opacity="0.5" width="23" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(397,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> detached</text></g></a> <a href="/2022/talks/eshell" title="Top 10 reasons why you should be using Eshell" data-slug="eshell"> <title> 1:40- 1:55 Top 10 reasons why you should be using Eshell</title> <rect x="439" y="75" opacity="0.5" width="23" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(460,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> eshell</text></g></a> <a href="/2022/talks/async" title="Emacs was async before async was cool" data-slug="async"> <title> 2:20- 2:40 Emacs was async before async was cool</title> <rect x="501" y="75" opacity="0.5" width="31" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(530,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> async</text></g></a> <a href="/2022/talks/dbus" title="The Wheels on D-Bus" data-slug="dbus"> <title> 3:15- 3:35 The Wheels on D-Bus</title> <rect x="588" y="75" opacity="0.5" width="31" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(617,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> dbus</text></g></a> <a href="/2022/talks/localizing" title="Pre-localizing Emacs" data-slug="localizing"> <title> 4:00- 4:10 Pre-localizing Emacs</title> <rect x="658" y="75" opacity="0.5" width="15" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(671,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> localizing</text></g></a> <a href="/2022/talks/python" title="Short hyperlinks to Python docs" data-slug="python"> <title> 4:30- 4:35 Short hyperlinks to Python docs</title> <rect x="705" y="75" opacity="0.5" width="7" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect> <g transform="translate(710,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> python</text></g></a> <g transform="translate(0,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 9 AM</text></g> <g transform="translate(94,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 10 AM</text></g> <g transform="translate(188,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 11 AM</text></g> <g transform="translate(282,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 12 PM</text></g> <g transform="translate(376,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 1 PM</text></g> <g transform="translate(470,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 2 PM</text></g> <g transform="translate(564,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 3 PM</text></g> <g transform="translate(658,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 4 PM</text></g> <g transform="translate(752,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 5 PM</text></g></svg>
+<svg width="800" height="150" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <title> Schedule for Sunday</title> <rect width="800" height="150" x="0" y="0" fill="white"></rect> <text font-size="10" fill="black" y="12" x="3"> Sunday</text> <a href="/2022/talks/sun-open" title="Sunday opening remarks" data-slug="sun-open"> <title> 9:00- 9:05 Sunday opening remarks</title> <rect x="0" y="15" opacity="0.5" width="7" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(5,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> sun-open</text></g></a> <a href="/2022/talks/survey" title="Results of the 2022 Emacs Survey" data-slug="survey"> <title> 9:06- 9:26 Results of the 2022 Emacs Survey</title> <rect stroke-width="3" x="9" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect> <g transform="translate(38,73)"> <text font-weight="bold" fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> survey</text></g></a> <a href="/2022/talks/orgyear" title="This Year in Org" data-slug="orgyear"> <title> 9:35- 9:45 This Year in Org</title> <rect x="54" y="15" opacity="0.5" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect> <g transform="translate(67,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> orgyear</text></g></a> <a href="/2022/talks/rolodex" title="Build a Zettelkasten with the Hyperbole Rolodex" data-slug="rolodex"> <title> 9:55-10:20 Build a Zettelkasten with the Hyperbole Rolodex</title> <rect x="86" y="15" opacity="0.5" width="39" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect> <g transform="translate(123,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> rolodex</text></g></a> <a href="/2022/talks/orgsuperlinks" title="Linking headings with org-super-links (poor-man's Zettelkasten)" data-slug="orgsuperlinks"> <title> 10:40-10:50 Linking headings with org-super-links (poor-man's Zettelkasten)</title> <rect x="156" y="15" opacity="0.5" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(169,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> orgsuperlinks</text></g></a> <a href="/2022/talks/orgvm" title="orgvm: a simple HTTP server for org" data-slug="orgvm"> <title> 11:10-11:20 orgvm: a simple HTTP server for org</title> <rect x="203" y="15" opacity="0.5" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(216,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> orgvm</text></g></a> <a href="/2022/talks/hyperorg" title="Powerful productivity with Hyperbole and Org Mode" data-slug="hyperorg"> <title> 1:00- 1:30 Powerful productivity with Hyperbole and Org Mode</title> <rect x="376" y="15" opacity="0.5" width="47" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(421,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> hyperorg</text></g></a> <a href="/2022/talks/workflows" title="Org workflows for developers" data-slug="workflows"> <title> 1:50- 2:15 Org workflows for developers</title> <rect x="454" y="15" opacity="0.5" width="39" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(491,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> workflows</text></g></a> <a href="/2022/talks/grail" title="GRAIL---A Generalized Representation and Aggregation of Information Layers" data-slug="grail"> <title> 2:35- 2:55 GRAIL---A Generalized Representation and Aggregation of Information Layers</title> <rect x="525" y="15" opacity="0.5" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(554,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> grail</text></g></a> <a href="/2022/talks/indieweb" title="Putting Org Mode on the Indieweb" data-slug="indieweb"> <title> 3:25- 3:45 Putting Org Mode on the Indieweb</title> <rect x="603" y="15" opacity="0.5" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(632,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> indieweb</text></g></a> <a href="/2022/talks/devel" title="Emacs development updates" data-slug="devel"> <title> 4:05- 4:15 Emacs development updates</title> <rect x="666" y="15" opacity="0.5" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect> <g transform="translate(679,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> devel</text></g></a> <a href="/2022/talks/fanfare" title="Fanfare for the Common Emacs User" data-slug="fanfare"> <title> 4:25- 4:35 Fanfare for the Common Emacs User</title> <rect x="698" y="15" opacity="0.5" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(711,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> fanfare</text></g></a> <a href="/2022/talks/sun-close" title="Sunday closing remarks" data-slug="sun-close"> <title> 4:50- 5:00 Sunday closing remarks</title> <rect x="737" y="15" opacity="0.5" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(750,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> sun-close</text></g></a> <a href="/2022/talks/rde" title="rde Emacs introduction" data-slug="rde"> <title> 10:00-10:25 rde Emacs introduction</title> <rect x="94" y="75" opacity="0.5" width="39" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(131,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> rde</text></g></a> <a href="/2022/talks/justl" title="justl: Driving recipes within Emacs" data-slug="justl"> <title> 10:50-11:05 justl: Driving recipes within Emacs</title> <rect x="172" y="75" opacity="0.5" width="23" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect> <g transform="translate(193,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> justl</text></g></a> <a href="/2022/talks/rms" title="What I'd like to see in Emacs" data-slug="rms"> <title> 11:15-11:35 What I'd like to see in Emacs</title> <rect x="211" y="75" opacity="0.5" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect> <g transform="translate(240,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> rms</text></g></a> <a href="/2022/talks/detached" title="Getting detached from Emacs" data-slug="detached"> <title> 1:00- 1:15 Getting detached from Emacs</title> <rect x="376" y="75" opacity="0.5" width="23" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(397,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> detached</text></g></a> <a href="/2022/talks/eshell" title="Top 10 reasons why you should be using Eshell" data-slug="eshell"> <title> 1:40- 1:55 Top 10 reasons why you should be using Eshell</title> <rect x="439" y="75" opacity="0.5" width="23" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(460,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> eshell</text></g></a> <a href="/2022/talks/async" title="Emacs was async before async was cool" data-slug="async"> <title> 2:20- 2:40 Emacs was async before async was cool</title> <rect x="501" y="75" opacity="0.5" width="31" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(530,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> async</text></g></a> <a href="/2022/talks/dbus" title="The Wheels on D-Bus" data-slug="dbus"> <title> 3:15- 3:35 The Wheels on D-Bus</title> <rect x="588" y="75" opacity="0.5" width="31" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(617,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> dbus</text></g></a> <a href="/2022/talks/localizing" title="Pre-localizing Emacs" data-slug="localizing"> <title> 4:00- 4:10 Pre-localizing Emacs</title> <rect x="658" y="75" opacity="0.5" width="15" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(671,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> localizing</text></g></a> <a href="/2022/talks/python" title="Short hyperlinks to Python docs" data-slug="python"> <title> 4:30- 4:35 Short hyperlinks to Python docs</title> <rect x="705" y="75" opacity="0.5" width="7" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect> <g transform="translate(710,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> python</text></g></a> <g transform="translate(0,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 9 AM</text></g> <g transform="translate(94,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 10 AM</text></g> <g transform="translate(188,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 11 AM</text></g> <g transform="translate(282,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 12 PM</text></g> <g transform="translate(376,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 1 PM</text></g> <g transform="translate(470,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 2 PM</text></g> <g transform="translate(564,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 3 PM</text></g> <g transform="translate(658,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 4 PM</text></g> <g transform="translate(752,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 5 PM</text></g></svg>
</div>
[[!toc ]]
Format: 26-min talk followed by IRC Q&A (<a href="https://chat.emacsconf.org/?join=emacsconf,emacsconf-org,emacsconf-accessible,emacsconf-dev,emacsconf-gen">#emacsconf-gen</a>)
Etherpad: <https://pad.emacsconf.org/2022-survey>
Discuss on IRC: [#emacsconf-gen](https://chat.emacsconf.org/?join=emacsconf,emacsconf-gen)
-Status: Talk captioned
-<div>Times in different timezones:</div><div class="times" start="2022-12-04T14:05:00Z" end="2022-12-04T14:25:00Z"><div class="conf-time">Sunday, Dec 4 2022, ~9:05 AM - 9:25 AM EST (US/Eastern)</div><div class="others"><div>which is the same as:</div>Sunday, Dec 4 2022, ~8:05 AM - 8:25 AM CST (US/Central)<br />Sunday, Dec 4 2022, ~7:05 AM - 7:25 AM MST (US/Mountain)<br />Sunday, Dec 4 2022, ~6:05 AM - 6:25 AM PST (US/Pacific)<br />Sunday, Dec 4 2022, ~2:05 PM - 2:25 PM UTC <br />Sunday, Dec 4 2022, ~3:05 PM - 3:25 PM CET (Europe/Paris)<br />Sunday, Dec 4 2022, ~4:05 PM - 4:25 PM EET (Europe/Athens)<br />Sunday, Dec 4 2022, ~7:35 PM - 7:55 PM IST (Asia/Kolkata)<br />Sunday, Dec 4 2022, ~10:05 PM - 10:25 PM +08 (Asia/Singapore)<br />Sunday, Dec 4 2022, ~11:05 PM - 11:25 PM JST (Asia/Tokyo)</div></div><div><a href="/2022/watch/gen/">Find out how to watch and participate</a></div>
+Status: Now playing on the conference livestream
+<div>Times in different timezones:</div><div class="times" start="2022-12-04T14:06:00Z" end="2022-12-04T14:26:00Z"><div class="conf-time">Sunday, Dec 4 2022, ~9:06 AM - 9:26 AM EST (US/Eastern)</div><div class="others"><div>which is the same as:</div>Sunday, Dec 4 2022, ~8:06 AM - 8:26 AM CST (US/Central)<br />Sunday, Dec 4 2022, ~7:06 AM - 7:26 AM MST (US/Mountain)<br />Sunday, Dec 4 2022, ~6:06 AM - 6:26 AM PST (US/Pacific)<br />Sunday, Dec 4 2022, ~2:06 PM - 2:26 PM UTC <br />Sunday, Dec 4 2022, ~3:06 PM - 3:26 PM CET (Europe/Paris)<br />Sunday, Dec 4 2022, ~4:06 PM - 4:26 PM EET (Europe/Athens)<br />Sunday, Dec 4 2022, ~7:36 PM - 7:56 PM IST (Asia/Kolkata)<br />Sunday, Dec 4 2022, ~10:06 PM - 10:26 PM +08 (Asia/Singapore)<br />Sunday, Dec 4 2022, ~11:06 PM - 11:26 PM JST (Asia/Tokyo)</div></div><div><a href="/2022/watch/gen/">Find out how to watch and participate</a></div>
+[[!template id="vid" vidid="survey-mainVideo" src="https://media.emacsconf.org/2022/emacsconf-2022-survey--results-of-the-2022-emacs-survey--timothy--main.webm" poster="https://media.emacsconf.org/2022/emacsconf-2022-survey--results-of-the-2022-emacs-survey--timothy--main.png" captions="""<track label="English" kind="captions" srclang="en" src="/2022/captions/emacsconf-2022-survey--results-of-the-2022-emacs-survey--timothy--main.vtt" default />"""
+size="16M" duration="25:37" other_resources="""[Download --main.webm (16MB)](https://media.emacsconf.org/2022/emacsconf-2022-survey--results-of-the-2022-emacs-survey--timothy--main.webm)
+[Download --main.vtt](https://media.emacsconf.org/2022/emacsconf-2022-survey--results-of-the-2022-emacs-survey--timothy--main.vtt)
+[Download --main--chapters.vtt](https://media.emacsconf.org/2022/emacsconf-2022-survey--results-of-the-2022-emacs-survey--timothy--main--chapters.vtt)
+[View transcript](https://emacsconf.org/2022/talks/survey#survey-mainVideo-transcript)
+[View on Toobnix](https://toobnix.org/w/gYfDLkR2DTkd1ZW54hXATW)
+"""]]
+[[!template id="chapters" vidid="survey-mainVideo" data="""
+00:00:00.000 Introduction
+00:26.040 The 2020 Emacs User Survey
+01:54.360 The design of the survey
+03:18.560 Survey frameworks
+04:01.021 Writing a new survey framework in Julia
+05:40.200 In practice
+06:50.560 Results
+07:39.600 Going forward
+09:11.160 Responses
+11:17.000 Geography
+12:32.280 Gender
+14:04.440 Occupations
+16:11.320 Free and open source software
+17:02.440 Emacs versions
+17:56.360 Languages
+19:25.800 Prose
+20:03.400 Packages
+21:04.920 Documentation
+21:38.440 Moving forward
+22:44.200 Time
+23:26.200 How long the survey is open for
+24:25.200 Plan going forward
+
+"""]]
# Description
diff --git a/2022/schedule-2022-12-03.md b/2022/schedule-2022-12-03.md
index 65d56128..7be2c17f 100644
--- a/2022/schedule-2022-12-03.md
+++ b/2022/schedule-2022-12-03.md
@@ -1 +1 @@
-<div class="schedule-svg-container"><svg width="800" height="150" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <title> Schedule for Saturday</title> <rect width="800" height="150" x="0" y="0" fill="white"></rect> <text font-size="10" fill="black" y="12" x="3"> Saturday</text> <a href="/2022/talks/sat-open" title="Saturday opening remarks" data-slug="sat-open"> <title> 9:00- 9:05 Saturday opening remarks</title> <rect x="0" y="15" opacity="0.8" width="7" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(5,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> sat-open</text></g></a> <a href="/2022/talks/journalism" title="Emacs journalism (or everything's a nail if you hit it with Emacs)" data-slug="journalism"> <title> 9:05- 9:25 Emacs journalism (or everything's a nail if you hit it with Emacs)</title> <rect x="7" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(36,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> journalism</text></g></a> <a href="/2022/talks/school" title="Back to school with Emacs" data-slug="school"> <title> 9:45- 9:55 Back to school with Emacs</title> <rect x="70" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect> <g transform="translate(83,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> school</text></g></a> <a href="/2022/talks/handwritten" title="How to incorporate handwritten notes into Emacs Orgmode" data-slug="handwritten"> <title> 10:05-10:15 How to incorporate handwritten notes into Emacs Orgmode</title> <rect x="101" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(114,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> handwritten</text></g></a> <a href="/2022/talks/science" title="Writing and organizing literature notes for scientific writing" data-slug="science"> <title> 10:45-11:05 Writing and organizing literature notes for scientific writing</title> <rect x="164" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(193,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> science</text></g></a> <a href="/2022/talks/buddy" title="The Emacs Buddy initiative" data-slug="buddy"> <title> 11:25-11:35 The Emacs Buddy initiative</title> <rect x="227" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect> <g transform="translate(240,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> buddy</text></g></a> <a href="/2022/talks/meetups" title="Attending and organizing Emacs meetups" data-slug="meetups"> <title> 1:00- 1:20 Attending and organizing Emacs meetups</title> <rect x="376" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(405,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> meetups</text></g></a> <a href="/2022/talks/buttons" title="Linking personal info with Hyperbole implicit buttons" data-slug="buttons"> <title> 1:40- 1:55 Linking personal info with Hyperbole implicit buttons</title> <rect x="439" y="15" opacity="0.8" width="23" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(460,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> buttons</text></g></a> <a href="/2022/talks/realestate" title="Real estate and Org table formulas" data-slug="realestate"> <title> 2:15- 2:40 Real estate and Org table formulas</title> <rect x="494" y="15" opacity="0.8" width="39" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect> <g transform="translate(531,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> realestate</text></g></a> <a href="/2022/talks/maint" title="Maintaining the Maintainers: Attribution as an Economic Model for Open Source" data-slug="maint"> <title> 2:50- 3:10 Maintaining the Maintainers: Attribution as an Economic Model for Open Source</title> <rect x="549" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(578,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> maint</text></g></a> <a href="/2022/talks/health" title="Health data journaling and visualization with Org Mode and gnuplot" data-slug="health"> <title> 3:00- 3:25 Health data journaling and visualization with Org Mode and gnuplot</title> <rect x="564" y="15" opacity="0.8" width="39" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(601,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> health</text></g></a> <a href="/2022/talks/jupyter" title="Edit live Jupyter notebook cells with Emacs" data-slug="jupyter"> <title> 3:45- 4:05 Edit live Jupyter notebook cells with Emacs</title> <rect x="635" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(664,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> jupyter</text></g></a> <a href="/2022/talks/sat-close" title="Saturday closing remarks" data-slug="sat-close"> <title> 4:50- 4:55 Saturday closing remarks</title> <rect x="737" y="15" opacity="0.8" width="7" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(742,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> sat-close</text></g></a> <a href="/2022/talks/treesitter" title="Tree-sitter beyond syntax highlighting" data-slug="treesitter"> <title> 10:00-10:15 Tree-sitter beyond syntax highlighting</title> <rect x="94" y="75" opacity="0.8" width="23" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect> <g transform="translate(115,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> treesitter</text></g></a> <a href="/2022/talks/lspbridge" title="lsp-bridge: a smooth-as-butter asynchronous LSP client" data-slug="lspbridge"> <title> 10:25-10:45 lsp-bridge: a smooth-as-butter asynchronous LSP client</title> <rect x="133" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect> <g transform="translate(162,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> lspbridge</text></g></a> <a href="/2022/talks/asmblox" title="asm-blox: a game based on WebAssembly that no one asked for" data-slug="asmblox"> <title> 10:55-11:15 asm-blox: a game based on WebAssembly that no one asked for</title> <rect x="180" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(209,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> asmblox</text></g></a> <a href="/2022/talks/wayland" title="Emacs should become a Wayland compositor" data-slug="wayland"> <title> 11:25-11:35 Emacs should become a Wayland compositor</title> <rect x="227" y="75" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(240,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> wayland</text></g></a> <a href="/2022/talks/sqlite" title="Using SQLite as a data source: a framework and an example" data-slug="sqlite"> <title> 1:00- 1:25 Using SQLite as a data source: a framework and an example</title> <rect x="376" y="75" opacity="0.8" width="39" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(413,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> sqlite</text></g></a> <a href="/2022/talks/mail" title="Revisiting the anatomy of Emacs mail user agents" data-slug="mail"> <title> 1:50- 2:30 Revisiting the anatomy of Emacs mail user agents</title> <rect x="454" y="75" opacity="0.8" width="62" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(514,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> mail</text></g></a> <a href="/2022/talks/eev" title="Bidirectional links with eev" data-slug="eev"> <title> 3:35- 3:40 Bidirectional links with eev</title> <rect x="619" y="75" opacity="0.8" width="7" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect> <g transform="translate(624,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> eev</text></g></a> <a href="/2022/talks/haskell" title="Haskell code exploration with Emacs" data-slug="haskell"> <title> 4:05- 4:35 Haskell code exploration with Emacs</title> <rect x="666" y="75" opacity="0.8" width="47" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(711,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> haskell</text></g></a> <g transform="translate(0,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 9 AM</text></g> <g transform="translate(94,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 10 AM</text></g> <g transform="translate(188,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 11 AM</text></g> <g transform="translate(282,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 12 PM</text></g> <g transform="translate(376,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 1 PM</text></g> <g transform="translate(470,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 2 PM</text></g> <g transform="translate(564,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 3 PM</text></g> <g transform="translate(658,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 4 PM</text></g> <g transform="translate(752,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 5 PM</text></g></svg></div> \ No newline at end of file
+<div class="schedule-svg-container"><svg width="800" height="150" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <title> Schedule for Saturday</title> <rect width="800" height="150" x="0" y="0" fill="white"></rect> <text font-size="10" fill="black" y="12" x="3"> Saturday</text> <a href="/2022/talks/sat-open" title="Saturday opening remarks" data-slug="sat-open"> <title> 9:00- 9:05 Saturday opening remarks</title> <rect x="0" y="15" opacity="0.8" width="7" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(5,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> sat-open</text></g></a> <a href="/2022/talks/journalism" title="Emacs journalism (or everything's a nail if you hit it with Emacs)" data-slug="journalism"> <title> 9:05- 9:25 Emacs journalism (or everything's a nail if you hit it with Emacs)</title> <rect x="7" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(36,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> journalism</text></g></a> <a href="/2022/talks/school" title="Back to school with Emacs" data-slug="school"> <title> 9:45- 9:55 Back to school with Emacs</title> <rect x="70" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect> <g transform="translate(83,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> school</text></g></a> <a href="/2022/talks/handwritten" title="How to incorporate handwritten notes into Emacs Orgmode" data-slug="handwritten"> <title> 10:05-10:15 How to incorporate handwritten notes into Emacs Orgmode</title> <rect x="101" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(114,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> handwritten</text></g></a> <a href="/2022/talks/science" title="Writing and organizing literature notes for scientific writing" data-slug="science"> <title> 10:45-11:05 Writing and organizing literature notes for scientific writing</title> <rect x="164" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(193,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> science</text></g></a> <a href="/2022/talks/buddy" title="The Emacs Buddy initiative" data-slug="buddy"> <title> 11:25-11:35 The Emacs Buddy initiative</title> <rect x="227" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect> <g transform="translate(240,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> buddy</text></g></a> <a href="/2022/talks/meetups" title="Attending and organizing Emacs meetups" data-slug="meetups"> <title> 1:00- 1:20 Attending and organizing Emacs meetups</title> <rect x="376" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(405,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> meetups</text></g></a> <a href="/2022/talks/buttons" title="Linking personal info with Hyperbole implicit buttons" data-slug="buttons"> <title> 1:40- 1:55 Linking personal info with Hyperbole implicit buttons</title> <rect x="439" y="15" opacity="0.8" width="23" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(460,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> buttons</text></g></a> <a href="/2022/talks/realestate" title="Real estate and Org table formulas" data-slug="realestate"> <title> 2:15- 2:40 Real estate and Org table formulas</title> <rect x="494" y="15" opacity="0.8" width="39" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect> <g transform="translate(531,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> realestate</text></g></a> <a href="/2022/talks/health" title="Health data journaling and visualization with Org Mode and gnuplot" data-slug="health"> <title> 3:00- 3:25 Health data journaling and visualization with Org Mode and gnuplot</title> <rect x="564" y="15" opacity="0.8" width="39" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(601,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> health</text></g></a> <a href="/2022/talks/jupyter" title="Edit live Jupyter notebook cells with Emacs" data-slug="jupyter"> <title> 3:45- 4:05 Edit live Jupyter notebook cells with Emacs</title> <rect x="635" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(664,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> jupyter</text></g></a> <a href="/2022/talks/sat-close" title="Saturday closing remarks" data-slug="sat-close"> <title> 4:50- 4:55 Saturday closing remarks</title> <rect x="737" y="15" opacity="0.8" width="7" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(742,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> sat-close</text></g></a> <a href="/2022/talks/treesitter" title="Tree-sitter beyond syntax highlighting" data-slug="treesitter"> <title> 10:00-10:15 Tree-sitter beyond syntax highlighting</title> <rect x="94" y="75" opacity="0.8" width="23" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect> <g transform="translate(115,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> treesitter</text></g></a> <a href="/2022/talks/lspbridge" title="lsp-bridge: a smooth-as-butter asynchronous LSP client" data-slug="lspbridge"> <title> 10:25-10:45 lsp-bridge: a smooth-as-butter asynchronous LSP client</title> <rect x="133" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect> <g transform="translate(162,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> lspbridge</text></g></a> <a href="/2022/talks/asmblox" title="asm-blox: a game based on WebAssembly that no one asked for" data-slug="asmblox"> <title> 10:55-11:15 asm-blox: a game based on WebAssembly that no one asked for</title> <rect x="180" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(209,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> asmblox</text></g></a> <a href="/2022/talks/wayland" title="Emacs should become a Wayland compositor" data-slug="wayland"> <title> 11:25-11:35 Emacs should become a Wayland compositor</title> <rect x="227" y="75" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(240,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> wayland</text></g></a> <a href="/2022/talks/sqlite" title="Using SQLite as a data source: a framework and an example" data-slug="sqlite"> <title> 1:00- 1:25 Using SQLite as a data source: a framework and an example</title> <rect x="376" y="75" opacity="0.8" width="39" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(413,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> sqlite</text></g></a> <a href="/2022/talks/mail" title="Revisiting the anatomy of Emacs mail user agents" data-slug="mail"> <title> 1:50- 2:30 Revisiting the anatomy of Emacs mail user agents</title> <rect x="454" y="75" opacity="0.8" width="62" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(514,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> mail</text></g></a> <a href="/2022/talks/maint" title="Maintaining the Maintainers: Attribution as an Economic Model for Open Source" data-slug="maint"> <title> 2:50- 3:10 Maintaining the Maintainers: Attribution as an Economic Model for Open Source</title> <rect x="549" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(578,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> maint</text></g></a> <a href="/2022/talks/eev" title="Bidirectional links with eev" data-slug="eev"> <title> 3:35- 3:40 Bidirectional links with eev</title> <rect x="619" y="75" opacity="0.8" width="7" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect> <g transform="translate(624,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> eev</text></g></a> <a href="/2022/talks/haskell" title="Haskell code exploration with Emacs" data-slug="haskell"> <title> 4:05- 4:35 Haskell code exploration with Emacs</title> <rect x="666" y="75" opacity="0.8" width="47" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(711,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> haskell</text></g></a> <g transform="translate(0,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 9 AM</text></g> <g transform="translate(94,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 10 AM</text></g> <g transform="translate(188,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 11 AM</text></g> <g transform="translate(282,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 12 PM</text></g> <g transform="translate(376,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 1 PM</text></g> <g transform="translate(470,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 2 PM</text></g> <g transform="translate(564,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 3 PM</text></g> <g transform="translate(658,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 4 PM</text></g> <g transform="translate(752,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 5 PM</text></g></svg></div> \ No newline at end of file
diff --git a/2022/schedule-2022-12-04.md b/2022/schedule-2022-12-04.md
index a3a3d4e2..8ffdff04 100644
--- a/2022/schedule-2022-12-04.md
+++ b/2022/schedule-2022-12-04.md
@@ -1 +1 @@
-<div class="schedule-svg-container"><svg width="800" height="150" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <title> Schedule for Sunday</title> <rect width="800" height="150" x="0" y="0" fill="white"></rect> <text font-size="10" fill="black" y="12" x="3"> Sunday</text> <a href="/2022/talks/sun-open" title="Sunday opening remarks" data-slug="sun-open"> <title> 9:00- 9:05 Sunday opening remarks</title> <rect x="0" y="15" opacity="0.8" width="7" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(5,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> sun-open</text></g></a> <a href="/2022/talks/survey" title="Results of the 2022 Emacs Survey" data-slug="survey"> <title> 9:05- 9:25 Results of the 2022 Emacs Survey</title> <rect x="7" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect> <g transform="translate(36,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> survey</text></g></a> <a href="/2022/talks/orgyear" title="This Year in Org" data-slug="orgyear"> <title> 9:35- 9:45 This Year in Org</title> <rect x="54" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect> <g transform="translate(67,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> orgyear</text></g></a> <a href="/2022/talks/rolodex" title="Build a Zettelkasten with the Hyperbole Rolodex" data-slug="rolodex"> <title> 9:55-10:20 Build a Zettelkasten with the Hyperbole Rolodex</title> <rect x="86" y="15" opacity="0.8" width="39" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect> <g transform="translate(123,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> rolodex</text></g></a> <a href="/2022/talks/orgsuperlinks" title="Linking headings with org-super-links (poor-man's Zettelkasten)" data-slug="orgsuperlinks"> <title> 10:40-10:50 Linking headings with org-super-links (poor-man's Zettelkasten)</title> <rect x="156" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(169,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> orgsuperlinks</text></g></a> <a href="/2022/talks/orgvm" title="orgvm: a simple HTTP server for org" data-slug="orgvm"> <title> 11:10-11:20 orgvm: a simple HTTP server for org</title> <rect x="203" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(216,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> orgvm</text></g></a> <a href="/2022/talks/hyperorg" title="Powerful productivity with Hyperbole and Org Mode" data-slug="hyperorg"> <title> 1:00- 1:30 Powerful productivity with Hyperbole and Org Mode</title> <rect x="376" y="15" opacity="0.8" width="47" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(421,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> hyperorg</text></g></a> <a href="/2022/talks/workflows" title="Org workflows for developers" data-slug="workflows"> <title> 1:50- 2:15 Org workflows for developers</title> <rect x="454" y="15" opacity="0.8" width="39" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(491,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> workflows</text></g></a> <a href="/2022/talks/grail" title="GRAIL---A Generalized Representation and Aggregation of Information Layers" data-slug="grail"> <title> 2:35- 2:55 GRAIL---A Generalized Representation and Aggregation of Information Layers</title> <rect x="525" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(554,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> grail</text></g></a> <a href="/2022/talks/indieweb" title="Putting Org Mode on the Indieweb" data-slug="indieweb"> <title> 3:25- 3:45 Putting Org Mode on the Indieweb</title> <rect x="603" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(632,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> indieweb</text></g></a> <a href="/2022/talks/devel" title="Emacs development updates" data-slug="devel"> <title> 4:05- 4:15 Emacs development updates</title> <rect x="666" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect> <g transform="translate(679,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> devel</text></g></a> <a href="/2022/talks/fanfare" title="Fanfare for the Common Emacs User" data-slug="fanfare"> <title> 4:25- 4:35 Fanfare for the Common Emacs User</title> <rect x="698" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(711,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> fanfare</text></g></a> <a href="/2022/talks/sun-close" title="Sunday closing remarks" data-slug="sun-close"> <title> 4:50- 5:00 Sunday closing remarks</title> <rect x="737" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(750,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> sun-close</text></g></a> <a href="/2022/talks/rde" title="rde Emacs introduction" data-slug="rde"> <title> 10:00-10:25 rde Emacs introduction</title> <rect x="94" y="75" opacity="0.8" width="39" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(131,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> rde</text></g></a> <a href="/2022/talks/justl" title="justl: Driving recipes within Emacs" data-slug="justl"> <title> 10:50-11:05 justl: Driving recipes within Emacs</title> <rect x="172" y="75" opacity="0.8" width="23" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect> <g transform="translate(193,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> justl</text></g></a> <a href="/2022/talks/rms" title="What I'd like to see in Emacs" data-slug="rms"> <title> 11:15-11:35 What I'd like to see in Emacs</title> <rect x="211" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect> <g transform="translate(240,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> rms</text></g></a> <a href="/2022/talks/detached" title="Getting detached from Emacs" data-slug="detached"> <title> 1:00- 1:15 Getting detached from Emacs</title> <rect x="376" y="75" opacity="0.8" width="23" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(397,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> detached</text></g></a> <a href="/2022/talks/eshell" title="Top 10 reasons why you should be using Eshell" data-slug="eshell"> <title> 1:40- 1:55 Top 10 reasons why you should be using Eshell</title> <rect x="439" y="75" opacity="0.8" width="23" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(460,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> eshell</text></g></a> <a href="/2022/talks/async" title="Emacs was async before async was cool" data-slug="async"> <title> 2:20- 2:40 Emacs was async before async was cool</title> <rect x="501" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(530,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> async</text></g></a> <a href="/2022/talks/dbus" title="The Wheels on D-Bus" data-slug="dbus"> <title> 3:15- 3:35 The Wheels on D-Bus</title> <rect x="588" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(617,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> dbus</text></g></a> <a href="/2022/talks/localizing" title="Pre-localizing Emacs" data-slug="localizing"> <title> 4:00- 4:10 Pre-localizing Emacs</title> <rect x="658" y="75" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(671,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> localizing</text></g></a> <a href="/2022/talks/python" title="Short hyperlinks to Python docs" data-slug="python"> <title> 4:30- 4:35 Short hyperlinks to Python docs</title> <rect x="705" y="75" opacity="0.8" width="7" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect> <g transform="translate(710,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> python</text></g></a> <g transform="translate(0,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 9 AM</text></g> <g transform="translate(94,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 10 AM</text></g> <g transform="translate(188,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 11 AM</text></g> <g transform="translate(282,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 12 PM</text></g> <g transform="translate(376,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 1 PM</text></g> <g transform="translate(470,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 2 PM</text></g> <g transform="translate(564,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 3 PM</text></g> <g transform="translate(658,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 4 PM</text></g> <g transform="translate(752,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 5 PM</text></g></svg></div> \ No newline at end of file
+<div class="schedule-svg-container"><svg width="800" height="150" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <title> Schedule for Sunday</title> <rect width="800" height="150" x="0" y="0" fill="white"></rect> <text font-size="10" fill="black" y="12" x="3"> Sunday</text> <a href="/2022/talks/sun-open" title="Sunday opening remarks" data-slug="sun-open"> <title> 9:00- 9:05 Sunday opening remarks</title> <rect x="0" y="15" opacity="0.8" width="7" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(5,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> sun-open</text></g></a> <a href="/2022/talks/survey" title="Results of the 2022 Emacs Survey" data-slug="survey"> <title> 9:06- 9:26 Results of the 2022 Emacs Survey</title> <rect x="9" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect> <g transform="translate(38,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> survey</text></g></a> <a href="/2022/talks/orgyear" title="This Year in Org" data-slug="orgyear"> <title> 9:35- 9:45 This Year in Org</title> <rect x="54" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect> <g transform="translate(67,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> orgyear</text></g></a> <a href="/2022/talks/rolodex" title="Build a Zettelkasten with the Hyperbole Rolodex" data-slug="rolodex"> <title> 9:55-10:20 Build a Zettelkasten with the Hyperbole Rolodex</title> <rect x="86" y="15" opacity="0.8" width="39" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect> <g transform="translate(123,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> rolodex</text></g></a> <a href="/2022/talks/orgsuperlinks" title="Linking headings with org-super-links (poor-man's Zettelkasten)" data-slug="orgsuperlinks"> <title> 10:40-10:50 Linking headings with org-super-links (poor-man's Zettelkasten)</title> <rect x="156" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(169,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> orgsuperlinks</text></g></a> <a href="/2022/talks/orgvm" title="orgvm: a simple HTTP server for org" data-slug="orgvm"> <title> 11:10-11:20 orgvm: a simple HTTP server for org</title> <rect x="203" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(216,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> orgvm</text></g></a> <a href="/2022/talks/hyperorg" title="Powerful productivity with Hyperbole and Org Mode" data-slug="hyperorg"> <title> 1:00- 1:30 Powerful productivity with Hyperbole and Org Mode</title> <rect x="376" y="15" opacity="0.8" width="47" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(421,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> hyperorg</text></g></a> <a href="/2022/talks/workflows" title="Org workflows for developers" data-slug="workflows"> <title> 1:50- 2:15 Org workflows for developers</title> <rect x="454" y="15" opacity="0.8" width="39" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(491,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> workflows</text></g></a> <a href="/2022/talks/grail" title="GRAIL---A Generalized Representation and Aggregation of Information Layers" data-slug="grail"> <title> 2:35- 2:55 GRAIL---A Generalized Representation and Aggregation of Information Layers</title> <rect x="525" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(554,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> grail</text></g></a> <a href="/2022/talks/indieweb" title="Putting Org Mode on the Indieweb" data-slug="indieweb"> <title> 3:25- 3:45 Putting Org Mode on the Indieweb</title> <rect x="603" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(632,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> indieweb</text></g></a> <a href="/2022/talks/devel" title="Emacs development updates" data-slug="devel"> <title> 4:05- 4:15 Emacs development updates</title> <rect x="666" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect> <g transform="translate(679,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> devel</text></g></a> <a href="/2022/talks/fanfare" title="Fanfare for the Common Emacs User" data-slug="fanfare"> <title> 4:25- 4:35 Fanfare for the Common Emacs User</title> <rect x="698" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(711,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> fanfare</text></g></a> <a href="/2022/talks/sun-close" title="Sunday closing remarks" data-slug="sun-close"> <title> 4:50- 5:00 Sunday closing remarks</title> <rect x="737" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(750,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> sun-close</text></g></a> <a href="/2022/talks/rde" title="rde Emacs introduction" data-slug="rde"> <title> 10:00-10:25 rde Emacs introduction</title> <rect x="94" y="75" opacity="0.8" width="39" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(131,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> rde</text></g></a> <a href="/2022/talks/justl" title="justl: Driving recipes within Emacs" data-slug="justl"> <title> 10:50-11:05 justl: Driving recipes within Emacs</title> <rect x="172" y="75" opacity="0.8" width="23" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect> <g transform="translate(193,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> justl</text></g></a> <a href="/2022/talks/rms" title="What I'd like to see in Emacs" data-slug="rms"> <title> 11:15-11:35 What I'd like to see in Emacs</title> <rect x="211" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect> <g transform="translate(240,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> rms</text></g></a> <a href="/2022/talks/detached" title="Getting detached from Emacs" data-slug="detached"> <title> 1:00- 1:15 Getting detached from Emacs</title> <rect x="376" y="75" opacity="0.8" width="23" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(397,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> detached</text></g></a> <a href="/2022/talks/eshell" title="Top 10 reasons why you should be using Eshell" data-slug="eshell"> <title> 1:40- 1:55 Top 10 reasons why you should be using Eshell</title> <rect x="439" y="75" opacity="0.8" width="23" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(460,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> eshell</text></g></a> <a href="/2022/talks/async" title="Emacs was async before async was cool" data-slug="async"> <title> 2:20- 2:40 Emacs was async before async was cool</title> <rect x="501" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(530,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> async</text></g></a> <a href="/2022/talks/dbus" title="The Wheels on D-Bus" data-slug="dbus"> <title> 3:15- 3:35 The Wheels on D-Bus</title> <rect x="588" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(617,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> dbus</text></g></a> <a href="/2022/talks/localizing" title="Pre-localizing Emacs" data-slug="localizing"> <title> 4:00- 4:10 Pre-localizing Emacs</title> <rect x="658" y="75" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(671,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> localizing</text></g></a> <a href="/2022/talks/python" title="Short hyperlinks to Python docs" data-slug="python"> <title> 4:30- 4:35 Short hyperlinks to Python docs</title> <rect x="705" y="75" opacity="0.8" width="7" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect> <g transform="translate(710,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> python</text></g></a> <g transform="translate(0,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 9 AM</text></g> <g transform="translate(94,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 10 AM</text></g> <g transform="translate(188,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 11 AM</text></g> <g transform="translate(282,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 12 PM</text></g> <g transform="translate(376,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 1 PM</text></g> <g transform="translate(470,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 2 PM</text></g> <g transform="translate(564,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 3 PM</text></g> <g transform="translate(658,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 4 PM</text></g> <g transform="translate(752,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 5 PM</text></g></svg></div> \ No newline at end of file
diff --git a/2022/schedule-image.md b/2022/schedule-image.md
index a060e4ec..8695ba81 100644
--- a/2022/schedule-image.md
+++ b/2022/schedule-image.md
@@ -1 +1 @@
-<div class="schedule-svg-container"><svg width="800" height="300" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <title> Graphical view of the schedule</title> <g transform="translate(0,0)"> <title> Schedule for Saturday</title> <rect width="800" height="150" x="0" y="0" fill="white"></rect> <text font-size="10" fill="black" y="12" x="3"> Saturday</text> <a href="/2022/talks/sat-open" title="Saturday opening remarks" data-slug="sat-open"> <title> 9:00- 9:05 Saturday opening remarks</title> <rect x="0" y="15" opacity="0.8" width="7" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(5,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> sat-open</text></g></a> <a href="/2022/talks/journalism" title="Emacs journalism (or everything's a nail if you hit it with Emacs)" data-slug="journalism"> <title> 9:05- 9:25 Emacs journalism (or everything's a nail if you hit it with Emacs)</title> <rect x="7" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(36,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> journalism</text></g></a> <a href="/2022/talks/school" title="Back to school with Emacs" data-slug="school"> <title> 9:45- 9:55 Back to school with Emacs</title> <rect x="70" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect> <g transform="translate(83,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> school</text></g></a> <a href="/2022/talks/handwritten" title="How to incorporate handwritten notes into Emacs Orgmode" data-slug="handwritten"> <title> 10:05-10:15 How to incorporate handwritten notes into Emacs Orgmode</title> <rect x="101" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(114,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> handwritten</text></g></a> <a href="/2022/talks/science" title="Writing and organizing literature notes for scientific writing" data-slug="science"> <title> 10:45-11:05 Writing and organizing literature notes for scientific writing</title> <rect x="164" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(193,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> science</text></g></a> <a href="/2022/talks/buddy" title="The Emacs Buddy initiative" data-slug="buddy"> <title> 11:25-11:35 The Emacs Buddy initiative</title> <rect x="227" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect> <g transform="translate(240,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> buddy</text></g></a> <a href="/2022/talks/meetups" title="Attending and organizing Emacs meetups" data-slug="meetups"> <title> 1:00- 1:20 Attending and organizing Emacs meetups</title> <rect x="376" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(405,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> meetups</text></g></a> <a href="/2022/talks/buttons" title="Linking personal info with Hyperbole implicit buttons" data-slug="buttons"> <title> 1:40- 1:55 Linking personal info with Hyperbole implicit buttons</title> <rect x="439" y="15" opacity="0.8" width="23" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(460,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> buttons</text></g></a> <a href="/2022/talks/realestate" title="Real estate and Org table formulas" data-slug="realestate"> <title> 2:15- 2:40 Real estate and Org table formulas</title> <rect x="494" y="15" opacity="0.8" width="39" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect> <g transform="translate(531,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> realestate</text></g></a> <a href="/2022/talks/maint" title="Maintaining the Maintainers: Attribution as an Economic Model for Open Source" data-slug="maint"> <title> 2:50- 3:10 Maintaining the Maintainers: Attribution as an Economic Model for Open Source</title> <rect x="549" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(578,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> maint</text></g></a> <a href="/2022/talks/health" title="Health data journaling and visualization with Org Mode and gnuplot" data-slug="health"> <title> 3:00- 3:25 Health data journaling and visualization with Org Mode and gnuplot</title> <rect x="564" y="15" opacity="0.8" width="39" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(601,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> health</text></g></a> <a href="/2022/talks/jupyter" title="Edit live Jupyter notebook cells with Emacs" data-slug="jupyter"> <title> 3:45- 4:05 Edit live Jupyter notebook cells with Emacs</title> <rect x="635" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(664,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> jupyter</text></g></a> <a href="/2022/talks/sat-close" title="Saturday closing remarks" data-slug="sat-close"> <title> 4:50- 4:55 Saturday closing remarks</title> <rect x="737" y="15" opacity="0.8" width="7" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(742,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> sat-close</text></g></a> <a href="/2022/talks/treesitter" title="Tree-sitter beyond syntax highlighting" data-slug="treesitter"> <title> 10:00-10:15 Tree-sitter beyond syntax highlighting</title> <rect x="94" y="75" opacity="0.8" width="23" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect> <g transform="translate(115,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> treesitter</text></g></a> <a href="/2022/talks/lspbridge" title="lsp-bridge: a smooth-as-butter asynchronous LSP client" data-slug="lspbridge"> <title> 10:25-10:45 lsp-bridge: a smooth-as-butter asynchronous LSP client</title> <rect x="133" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect> <g transform="translate(162,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> lspbridge</text></g></a> <a href="/2022/talks/asmblox" title="asm-blox: a game based on WebAssembly that no one asked for" data-slug="asmblox"> <title> 10:55-11:15 asm-blox: a game based on WebAssembly that no one asked for</title> <rect x="180" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(209,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> asmblox</text></g></a> <a href="/2022/talks/wayland" title="Emacs should become a Wayland compositor" data-slug="wayland"> <title> 11:25-11:35 Emacs should become a Wayland compositor</title> <rect x="227" y="75" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(240,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> wayland</text></g></a> <a href="/2022/talks/sqlite" title="Using SQLite as a data source: a framework and an example" data-slug="sqlite"> <title> 1:00- 1:25 Using SQLite as a data source: a framework and an example</title> <rect x="376" y="75" opacity="0.8" width="39" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(413,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> sqlite</text></g></a> <a href="/2022/talks/mail" title="Revisiting the anatomy of Emacs mail user agents" data-slug="mail"> <title> 1:50- 2:30 Revisiting the anatomy of Emacs mail user agents</title> <rect x="454" y="75" opacity="0.8" width="62" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(514,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> mail</text></g></a> <a href="/2022/talks/eev" title="Bidirectional links with eev" data-slug="eev"> <title> 3:35- 3:40 Bidirectional links with eev</title> <rect x="619" y="75" opacity="0.8" width="7" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect> <g transform="translate(624,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> eev</text></g></a> <a href="/2022/talks/haskell" title="Haskell code exploration with Emacs" data-slug="haskell"> <title> 4:05- 4:35 Haskell code exploration with Emacs</title> <rect x="666" y="75" opacity="0.8" width="47" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(711,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> haskell</text></g></a> <g transform="translate(0,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 9 AM</text></g> <g transform="translate(94,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 10 AM</text></g> <g transform="translate(188,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 11 AM</text></g> <g transform="translate(282,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 12 PM</text></g> <g transform="translate(376,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 1 PM</text></g> <g transform="translate(470,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 2 PM</text></g> <g transform="translate(564,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 3 PM</text></g> <g transform="translate(658,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 4 PM</text></g> <g transform="translate(752,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 5 PM</text></g></g> <g transform="translate(0,150)"> <title> Schedule for Sunday</title> <rect width="800" height="150" x="0" y="0" fill="white"></rect> <text font-size="10" fill="black" y="12" x="3"> Sunday</text> <a href="/2022/talks/sun-open" title="Sunday opening remarks" data-slug="sun-open"> <title> 9:00- 9:05 Sunday opening remarks</title> <rect x="0" y="15" opacity="0.8" width="7" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(5,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> sun-open</text></g></a> <a href="/2022/talks/survey" title="Results of the 2022 Emacs Survey" data-slug="survey"> <title> 9:05- 9:25 Results of the 2022 Emacs Survey</title> <rect x="7" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect> <g transform="translate(36,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> survey</text></g></a> <a href="/2022/talks/orgyear" title="This Year in Org" data-slug="orgyear"> <title> 9:35- 9:45 This Year in Org</title> <rect x="54" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect> <g transform="translate(67,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> orgyear</text></g></a> <a href="/2022/talks/rolodex" title="Build a Zettelkasten with the Hyperbole Rolodex" data-slug="rolodex"> <title> 9:55-10:20 Build a Zettelkasten with the Hyperbole Rolodex</title> <rect x="86" y="15" opacity="0.8" width="39" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect> <g transform="translate(123,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> rolodex</text></g></a> <a href="/2022/talks/orgsuperlinks" title="Linking headings with org-super-links (poor-man's Zettelkasten)" data-slug="orgsuperlinks"> <title> 10:40-10:50 Linking headings with org-super-links (poor-man's Zettelkasten)</title> <rect x="156" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(169,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> orgsuperlinks</text></g></a> <a href="/2022/talks/orgvm" title="orgvm: a simple HTTP server for org" data-slug="orgvm"> <title> 11:10-11:20 orgvm: a simple HTTP server for org</title> <rect x="203" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(216,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> orgvm</text></g></a> <a href="/2022/talks/hyperorg" title="Powerful productivity with Hyperbole and Org Mode" data-slug="hyperorg"> <title> 1:00- 1:30 Powerful productivity with Hyperbole and Org Mode</title> <rect x="376" y="15" opacity="0.8" width="47" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(421,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> hyperorg</text></g></a> <a href="/2022/talks/workflows" title="Org workflows for developers" data-slug="workflows"> <title> 1:50- 2:15 Org workflows for developers</title> <rect x="454" y="15" opacity="0.8" width="39" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(491,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> workflows</text></g></a> <a href="/2022/talks/grail" title="GRAIL---A Generalized Representation and Aggregation of Information Layers" data-slug="grail"> <title> 2:35- 2:55 GRAIL---A Generalized Representation and Aggregation of Information Layers</title> <rect x="525" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(554,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> grail</text></g></a> <a href="/2022/talks/indieweb" title="Putting Org Mode on the Indieweb" data-slug="indieweb"> <title> 3:25- 3:45 Putting Org Mode on the Indieweb</title> <rect x="603" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(632,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> indieweb</text></g></a> <a href="/2022/talks/devel" title="Emacs development updates" data-slug="devel"> <title> 4:05- 4:15 Emacs development updates</title> <rect x="666" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect> <g transform="translate(679,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> devel</text></g></a> <a href="/2022/talks/fanfare" title="Fanfare for the Common Emacs User" data-slug="fanfare"> <title> 4:25- 4:35 Fanfare for the Common Emacs User</title> <rect x="698" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(711,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> fanfare</text></g></a> <a href="/2022/talks/sun-close" title="Sunday closing remarks" data-slug="sun-close"> <title> 4:50- 5:00 Sunday closing remarks</title> <rect x="737" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(750,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> sun-close</text></g></a> <a href="/2022/talks/rde" title="rde Emacs introduction" data-slug="rde"> <title> 10:00-10:25 rde Emacs introduction</title> <rect x="94" y="75" opacity="0.8" width="39" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(131,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> rde</text></g></a> <a href="/2022/talks/justl" title="justl: Driving recipes within Emacs" data-slug="justl"> <title> 10:50-11:05 justl: Driving recipes within Emacs</title> <rect x="172" y="75" opacity="0.8" width="23" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect> <g transform="translate(193,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> justl</text></g></a> <a href="/2022/talks/rms" title="What I'd like to see in Emacs" data-slug="rms"> <title> 11:15-11:35 What I'd like to see in Emacs</title> <rect x="211" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect> <g transform="translate(240,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> rms</text></g></a> <a href="/2022/talks/detached" title="Getting detached from Emacs" data-slug="detached"> <title> 1:00- 1:15 Getting detached from Emacs</title> <rect x="376" y="75" opacity="0.8" width="23" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(397,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> detached</text></g></a> <a href="/2022/talks/eshell" title="Top 10 reasons why you should be using Eshell" data-slug="eshell"> <title> 1:40- 1:55 Top 10 reasons why you should be using Eshell</title> <rect x="439" y="75" opacity="0.8" width="23" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(460,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> eshell</text></g></a> <a href="/2022/talks/async" title="Emacs was async before async was cool" data-slug="async"> <title> 2:20- 2:40 Emacs was async before async was cool</title> <rect x="501" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(530,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> async</text></g></a> <a href="/2022/talks/dbus" title="The Wheels on D-Bus" data-slug="dbus"> <title> 3:15- 3:35 The Wheels on D-Bus</title> <rect x="588" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(617,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> dbus</text></g></a> <a href="/2022/talks/localizing" title="Pre-localizing Emacs" data-slug="localizing"> <title> 4:00- 4:10 Pre-localizing Emacs</title> <rect x="658" y="75" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(671,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> localizing</text></g></a> <a href="/2022/talks/python" title="Short hyperlinks to Python docs" data-slug="python"> <title> 4:30- 4:35 Short hyperlinks to Python docs</title> <rect x="705" y="75" opacity="0.8" width="7" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect> <g transform="translate(710,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> python</text></g></a> <g transform="translate(0,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 9 AM</text></g> <g transform="translate(94,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 10 AM</text></g> <g transform="translate(188,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 11 AM</text></g> <g transform="translate(282,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 12 PM</text></g> <g transform="translate(376,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 1 PM</text></g> <g transform="translate(470,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 2 PM</text></g> <g transform="translate(564,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 3 PM</text></g> <g transform="translate(658,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 4 PM</text></g> <g transform="translate(752,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 5 PM</text></g></g></svg></div> \ No newline at end of file
+<div class="schedule-svg-container"><svg width="800" height="300" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <title> Graphical view of the schedule</title> <g transform="translate(0,0)"> <title> Schedule for Saturday</title> <rect width="800" height="150" x="0" y="0" fill="white"></rect> <text font-size="10" fill="black" y="12" x="3"> Saturday</text> <a href="/2022/talks/sat-open" title="Saturday opening remarks" data-slug="sat-open"> <title> 9:00- 9:05 Saturday opening remarks</title> <rect x="0" y="15" opacity="0.8" width="7" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(5,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> sat-open</text></g></a> <a href="/2022/talks/journalism" title="Emacs journalism (or everything's a nail if you hit it with Emacs)" data-slug="journalism"> <title> 9:05- 9:25 Emacs journalism (or everything's a nail if you hit it with Emacs)</title> <rect x="7" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(36,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> journalism</text></g></a> <a href="/2022/talks/school" title="Back to school with Emacs" data-slug="school"> <title> 9:45- 9:55 Back to school with Emacs</title> <rect x="70" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect> <g transform="translate(83,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> school</text></g></a> <a href="/2022/talks/handwritten" title="How to incorporate handwritten notes into Emacs Orgmode" data-slug="handwritten"> <title> 10:05-10:15 How to incorporate handwritten notes into Emacs Orgmode</title> <rect x="101" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(114,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> handwritten</text></g></a> <a href="/2022/talks/science" title="Writing and organizing literature notes for scientific writing" data-slug="science"> <title> 10:45-11:05 Writing and organizing literature notes for scientific writing</title> <rect x="164" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(193,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> science</text></g></a> <a href="/2022/talks/buddy" title="The Emacs Buddy initiative" data-slug="buddy"> <title> 11:25-11:35 The Emacs Buddy initiative</title> <rect x="227" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect> <g transform="translate(240,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> buddy</text></g></a> <a href="/2022/talks/meetups" title="Attending and organizing Emacs meetups" data-slug="meetups"> <title> 1:00- 1:20 Attending and organizing Emacs meetups</title> <rect x="376" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(405,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> meetups</text></g></a> <a href="/2022/talks/buttons" title="Linking personal info with Hyperbole implicit buttons" data-slug="buttons"> <title> 1:40- 1:55 Linking personal info with Hyperbole implicit buttons</title> <rect x="439" y="15" opacity="0.8" width="23" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(460,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> buttons</text></g></a> <a href="/2022/talks/realestate" title="Real estate and Org table formulas" data-slug="realestate"> <title> 2:15- 2:40 Real estate and Org table formulas</title> <rect x="494" y="15" opacity="0.8" width="39" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect> <g transform="translate(531,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> realestate</text></g></a> <a href="/2022/talks/health" title="Health data journaling and visualization with Org Mode and gnuplot" data-slug="health"> <title> 3:00- 3:25 Health data journaling and visualization with Org Mode and gnuplot</title> <rect x="564" y="15" opacity="0.8" width="39" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(601,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> health</text></g></a> <a href="/2022/talks/jupyter" title="Edit live Jupyter notebook cells with Emacs" data-slug="jupyter"> <title> 3:45- 4:05 Edit live Jupyter notebook cells with Emacs</title> <rect x="635" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(664,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> jupyter</text></g></a> <a href="/2022/talks/sat-close" title="Saturday closing remarks" data-slug="sat-close"> <title> 4:50- 4:55 Saturday closing remarks</title> <rect x="737" y="15" opacity="0.8" width="7" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(742,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> sat-close</text></g></a> <a href="/2022/talks/treesitter" title="Tree-sitter beyond syntax highlighting" data-slug="treesitter"> <title> 10:00-10:15 Tree-sitter beyond syntax highlighting</title> <rect x="94" y="75" opacity="0.8" width="23" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect> <g transform="translate(115,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> treesitter</text></g></a> <a href="/2022/talks/lspbridge" title="lsp-bridge: a smooth-as-butter asynchronous LSP client" data-slug="lspbridge"> <title> 10:25-10:45 lsp-bridge: a smooth-as-butter asynchronous LSP client</title> <rect x="133" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect> <g transform="translate(162,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> lspbridge</text></g></a> <a href="/2022/talks/asmblox" title="asm-blox: a game based on WebAssembly that no one asked for" data-slug="asmblox"> <title> 10:55-11:15 asm-blox: a game based on WebAssembly that no one asked for</title> <rect x="180" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(209,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> asmblox</text></g></a> <a href="/2022/talks/wayland" title="Emacs should become a Wayland compositor" data-slug="wayland"> <title> 11:25-11:35 Emacs should become a Wayland compositor</title> <rect x="227" y="75" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(240,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> wayland</text></g></a> <a href="/2022/talks/sqlite" title="Using SQLite as a data source: a framework and an example" data-slug="sqlite"> <title> 1:00- 1:25 Using SQLite as a data source: a framework and an example</title> <rect x="376" y="75" opacity="0.8" width="39" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(413,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> sqlite</text></g></a> <a href="/2022/talks/mail" title="Revisiting the anatomy of Emacs mail user agents" data-slug="mail"> <title> 1:50- 2:30 Revisiting the anatomy of Emacs mail user agents</title> <rect x="454" y="75" opacity="0.8" width="62" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(514,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> mail</text></g></a> <a href="/2022/talks/maint" title="Maintaining the Maintainers: Attribution as an Economic Model for Open Source" data-slug="maint"> <title> 2:50- 3:10 Maintaining the Maintainers: Attribution as an Economic Model for Open Source</title> <rect x="549" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(578,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> maint</text></g></a> <a href="/2022/talks/eev" title="Bidirectional links with eev" data-slug="eev"> <title> 3:35- 3:40 Bidirectional links with eev</title> <rect x="619" y="75" opacity="0.8" width="7" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect> <g transform="translate(624,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> eev</text></g></a> <a href="/2022/talks/haskell" title="Haskell code exploration with Emacs" data-slug="haskell"> <title> 4:05- 4:35 Haskell code exploration with Emacs</title> <rect x="666" y="75" opacity="0.8" width="47" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(711,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> haskell</text></g></a> <g transform="translate(0,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 9 AM</text></g> <g transform="translate(94,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 10 AM</text></g> <g transform="translate(188,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 11 AM</text></g> <g transform="translate(282,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 12 PM</text></g> <g transform="translate(376,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 1 PM</text></g> <g transform="translate(470,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 2 PM</text></g> <g transform="translate(564,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 3 PM</text></g> <g transform="translate(658,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 4 PM</text></g> <g transform="translate(752,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 5 PM</text></g></g> <g transform="translate(0,150)"> <title> Schedule for Sunday</title> <rect width="800" height="150" x="0" y="0" fill="white"></rect> <text font-size="10" fill="black" y="12" x="3"> Sunday</text> <a href="/2022/talks/sun-open" title="Sunday opening remarks" data-slug="sun-open"> <title> 9:00- 9:05 Sunday opening remarks</title> <rect x="0" y="15" opacity="0.8" width="7" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(5,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> sun-open</text></g></a> <a href="/2022/talks/survey" title="Results of the 2022 Emacs Survey" data-slug="survey"> <title> 9:06- 9:26 Results of the 2022 Emacs Survey</title> <rect x="9" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect> <g transform="translate(38,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> survey</text></g></a> <a href="/2022/talks/orgyear" title="This Year in Org" data-slug="orgyear"> <title> 9:35- 9:45 This Year in Org</title> <rect x="54" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect> <g transform="translate(67,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> orgyear</text></g></a> <a href="/2022/talks/rolodex" title="Build a Zettelkasten with the Hyperbole Rolodex" data-slug="rolodex"> <title> 9:55-10:20 Build a Zettelkasten with the Hyperbole Rolodex</title> <rect x="86" y="15" opacity="0.8" width="39" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect> <g transform="translate(123,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> rolodex</text></g></a> <a href="/2022/talks/orgsuperlinks" title="Linking headings with org-super-links (poor-man's Zettelkasten)" data-slug="orgsuperlinks"> <title> 10:40-10:50 Linking headings with org-super-links (poor-man's Zettelkasten)</title> <rect x="156" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(169,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> orgsuperlinks</text></g></a> <a href="/2022/talks/orgvm" title="orgvm: a simple HTTP server for org" data-slug="orgvm"> <title> 11:10-11:20 orgvm: a simple HTTP server for org</title> <rect x="203" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(216,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> orgvm</text></g></a> <a href="/2022/talks/hyperorg" title="Powerful productivity with Hyperbole and Org Mode" data-slug="hyperorg"> <title> 1:00- 1:30 Powerful productivity with Hyperbole and Org Mode</title> <rect x="376" y="15" opacity="0.8" width="47" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(421,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> hyperorg</text></g></a> <a href="/2022/talks/workflows" title="Org workflows for developers" data-slug="workflows"> <title> 1:50- 2:15 Org workflows for developers</title> <rect x="454" y="15" opacity="0.8" width="39" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(491,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> workflows</text></g></a> <a href="/2022/talks/grail" title="GRAIL---A Generalized Representation and Aggregation of Information Layers" data-slug="grail"> <title> 2:35- 2:55 GRAIL---A Generalized Representation and Aggregation of Information Layers</title> <rect x="525" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(554,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> grail</text></g></a> <a href="/2022/talks/indieweb" title="Putting Org Mode on the Indieweb" data-slug="indieweb"> <title> 3:25- 3:45 Putting Org Mode on the Indieweb</title> <rect x="603" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(632,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> indieweb</text></g></a> <a href="/2022/talks/devel" title="Emacs development updates" data-slug="devel"> <title> 4:05- 4:15 Emacs development updates</title> <rect x="666" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect> <g transform="translate(679,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> devel</text></g></a> <a href="/2022/talks/fanfare" title="Fanfare for the Common Emacs User" data-slug="fanfare"> <title> 4:25- 4:35 Fanfare for the Common Emacs User</title> <rect x="698" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(711,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> fanfare</text></g></a> <a href="/2022/talks/sun-close" title="Sunday closing remarks" data-slug="sun-close"> <title> 4:50- 5:00 Sunday closing remarks</title> <rect x="737" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(750,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> sun-close</text></g></a> <a href="/2022/talks/rde" title="rde Emacs introduction" data-slug="rde"> <title> 10:00-10:25 rde Emacs introduction</title> <rect x="94" y="75" opacity="0.8" width="39" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(131,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> rde</text></g></a> <a href="/2022/talks/justl" title="justl: Driving recipes within Emacs" data-slug="justl"> <title> 10:50-11:05 justl: Driving recipes within Emacs</title> <rect x="172" y="75" opacity="0.8" width="23" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect> <g transform="translate(193,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> justl</text></g></a> <a href="/2022/talks/rms" title="What I'd like to see in Emacs" data-slug="rms"> <title> 11:15-11:35 What I'd like to see in Emacs</title> <rect x="211" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect> <g transform="translate(240,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> rms</text></g></a> <a href="/2022/talks/detached" title="Getting detached from Emacs" data-slug="detached"> <title> 1:00- 1:15 Getting detached from Emacs</title> <rect x="376" y="75" opacity="0.8" width="23" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(397,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> detached</text></g></a> <a href="/2022/talks/eshell" title="Top 10 reasons why you should be using Eshell" data-slug="eshell"> <title> 1:40- 1:55 Top 10 reasons why you should be using Eshell</title> <rect x="439" y="75" opacity="0.8" width="23" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(460,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> eshell</text></g></a> <a href="/2022/talks/async" title="Emacs was async before async was cool" data-slug="async"> <title> 2:20- 2:40 Emacs was async before async was cool</title> <rect x="501" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(530,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> async</text></g></a> <a href="/2022/talks/dbus" title="The Wheels on D-Bus" data-slug="dbus"> <title> 3:15- 3:35 The Wheels on D-Bus</title> <rect x="588" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(617,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> dbus</text></g></a> <a href="/2022/talks/localizing" title="Pre-localizing Emacs" data-slug="localizing"> <title> 4:00- 4:10 Pre-localizing Emacs</title> <rect x="658" y="75" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(671,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> localizing</text></g></a> <a href="/2022/talks/python" title="Short hyperlinks to Python docs" data-slug="python"> <title> 4:30- 4:35 Short hyperlinks to Python docs</title> <rect x="705" y="75" opacity="0.8" width="7" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect> <g transform="translate(710,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> python</text></g></a> <g transform="translate(0,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 9 AM</text></g> <g transform="translate(94,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 10 AM</text></g> <g transform="translate(188,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 11 AM</text></g> <g transform="translate(282,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 12 PM</text></g> <g transform="translate(376,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 1 PM</text></g> <g transform="translate(470,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 2 PM</text></g> <g transform="translate(564,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 3 PM</text></g> <g transform="translate(658,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 4 PM</text></g> <g transform="translate(752,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 5 PM</text></g></g></svg></div> \ No newline at end of file