From 7989a856e670e3603e52b1aa325a5a863af5ea3f Mon Sep 17 00:00:00 2001 From: Sacha Chua Date: Fri, 1 Dec 2023 10:29:46 -0500 Subject: start sun-open a little early so that it fits --- ...rack-conference--sacha-chua--main--chapters.vtt | 26 +- ...n-a-multitrack-conference--sacha-chua--main.vtt | 390 ++++++++++----------- 2023/info/cubing-before.md | 2 +- 2023/info/eat-before.md | 2 +- 2023/info/emacsconf-after.md | 254 +++++++------- 2023/info/emacsconf-before.md | 26 +- 2023/info/emacsen-before.md | 2 +- 2023/info/emms-before.md | 2 +- 2023/info/flat-before.md | 2 +- 2023/info/gc-before.md | 2 +- 2023/info/hyperamp-before.md | 2 +- 2023/info/hyperdrive-before.md | 4 +- 2023/info/koutline-before.md | 2 +- 2023/info/lspocaml-before.md | 4 +- 2023/info/mentor-before.md | 2 +- 2023/info/parallel-before.md | 2 +- 2023/info/poltys-before.md | 2 +- 2023/info/sat-open-before.md | 4 +- 2023/info/scheme-before.md | 2 +- 2023/info/sharing-before.md | 2 +- 2023/info/steno-before.md | 2 +- 2023/info/sun-close-before.md | 2 +- 2023/info/sun-open-before.md | 6 +- 2023/info/test-before.md | 2 +- 2023/info/web-before.md | 2 +- 2023/info/windows-before.md | 2 +- 2023/info/world-before.md | 2 +- 2023/schedule-2023-12-03.md | 2 +- 2023/schedule-details.md | 6 +- 29 files changed, 376 insertions(+), 384 deletions(-) (limited to '2023') diff --git a/2023/captions/emacsconf-2023-emacsconf--emacsconforg-how-we-use-org-mode-and-tramp-to-organize-and-run-a-multitrack-conference--sacha-chua--main--chapters.vtt b/2023/captions/emacsconf-2023-emacsconf--emacsconforg-how-we-use-org-mode-and-tramp-to-organize-and-run-a-multitrack-conference--sacha-chua--main--chapters.vtt index 6ec32228..2a53cea7 100644 --- a/2023/captions/emacsconf-2023-emacsconf--emacsconforg-how-we-use-org-mode-and-tramp-to-organize-and-run-a-multitrack-conference--sacha-chua--main--chapters.vtt +++ b/2023/captions/emacsconf-2023-emacsconf--emacsconforg-how-we-use-org-mode-and-tramp-to-organize-and-run-a-multitrack-conference--sacha-chua--main--chapters.vtt @@ -13,41 +13,41 @@ Information 00:02:09.160 --> 00:03:53.119 Properties -00:03:53.120 --> 00:04:29.119 +00:03:53.120 --> 00:04:29.719 Timezones -00:04:29.120 --> 00:05:39.079 +00:04:29.720 --> 00:05:41.779 Scheduling -00:05:42.360 --> 00:06:48.119 +00:05:41.780 --> 00:06:48.399 Templates -00:06:48.120 --> 00:08:03.959 +00:06:48.400 --> 00:08:04.379 Wiki -00:08:03.960 --> 00:08:27.679 +00:08:04.380 --> 00:08:28.199 Etherpad -00:08:27.680 --> 00:09:05.479 +00:08:28.200 --> 00:09:05.919 E-mail -00:09:05.480 --> 00:10:07.759 +00:09:05.920 --> 00:10:08.120 BigBlueButton web conferences -00:10:07.760 --> 00:10:36.199 +00:10:08.121 --> 00:10:36.699 Shortcuts -00:10:36.200 --> 00:11:03.319 +00:10:36.700 --> 00:11:03.679 Logbook -00:11:03.320 --> 00:12:12.519 +00:11:03.680 --> 00:12:13.219 Captions -00:12:12.520 --> 00:13:10.839 +00:12:13.220 --> 00:13:11.279 Crontabs and playing the talks -00:13:10.840 --> 00:13:49.639 +00:13:11.280 --> 00:13:49.879 Transitions -00:13:49.640 --> 00:15:05.200 +00:13:49.880 --> 00:15:05.200 Wrapping up diff --git a/2023/captions/emacsconf-2023-emacsconf--emacsconforg-how-we-use-org-mode-and-tramp-to-organize-and-run-a-multitrack-conference--sacha-chua--main.vtt b/2023/captions/emacsconf-2023-emacsconf--emacsconforg-how-we-use-org-mode-and-tramp-to-organize-and-run-a-multitrack-conference--sacha-chua--main.vtt index d97b9aa8..cbec1bb1 100644 --- a/2023/captions/emacsconf-2023-emacsconf--emacsconforg-how-we-use-org-mode-and-tramp-to-organize-and-run-a-multitrack-conference--sacha-chua--main.vtt +++ b/2023/captions/emacsconf-2023-emacsconf--emacsconforg-how-we-use-org-mode-and-tramp-to-organize-and-run-a-multitrack-conference--sacha-chua--main.vtt @@ -1,4 +1,4 @@ -WEBVTT captioned by sachac +WEBVTT captioned by sachac, checked by sachac NOTE Intro @@ -206,10 +206,10 @@ based on the current region. I bind that to `C-c C-x p`. 00:02:56.040 --> 00:02:58.599 That makes it much easier to set properties -00:02:58.600 --> 00:03:00.639 +00:02:58.600 --> 00:03:01.239 that couldn't automatically be recognized. -00:03:00.640 --> 00:03:04.519 +00:03:01.240 --> 00:03:04.519 Sometimes it makes sense to dynamically generate a property 00:03:04.520 --> 00:03:07.679 @@ -265,19 +265,19 @@ NOTE Timezones 00:03:53.120 --> 00:03:55.639 Another example of semi-structured information -00:03:55.640 --> 00:03:56.759 +00:03:55.640 --> 00:03:57.299 is speaker availability. -00:03:56.760 --> 00:03:59.319 +00:03:57.300 --> 00:03:59.619 We have speakers from all over the world, -00:03:59.320 --> 00:04:02.599 +00:03:59.620 --> 00:04:03.019 so we try to schedule live Q&A sessions when they're around. -00:04:02.600 --> 00:04:04.559 +00:04:03.020 --> 00:04:05.019 That means working with timezones. -00:04:04.560 --> 00:04:08.439 +00:04:05.020 --> 00:04:08.439 Completion makes it much easier to set the timezone property 00:04:08.440 --> 00:04:10.599 @@ -286,10 +286,10 @@ without worrying about typos. 00:04:10.600 --> 00:04:14.359 We can take advantage of the timezone list from the tzc package, -00:04:14.360 --> 00:04:16.679 +00:04:14.360 --> 00:04:17.159 which works with Unix timezone definitions. -00:04:16.680 --> 00:04:19.919 +00:04:17.160 --> 00:04:19.919 Then we can convert times using Emacs. 00:04:19.920 --> 00:04:22.639 @@ -301,18 +301,18 @@ makes it easier to parse. 00:04:24.400 --> 00:04:27.439 I can use those availability constraints to report errors -00:04:27.440 --> 00:04:29.119 +00:04:27.440 --> 00:04:29.719 when I'm experimenting with the schedule. NOTE Scheduling -00:04:29.120 --> 00:04:30.759 +00:04:29.720 --> 00:04:31.679 Now that I have the availability information, -00:04:30.760 --> 00:04:31.919 +00:04:31.680 --> 00:04:33.940 I can think about scheduling. -00:04:34.480 --> 00:04:38.239 +00:04:33.941 --> 00:04:38.239 When we were planning EmacsConf 2022, the schedule was so full, 00:04:38.240 --> 00:04:40.839 @@ -348,10 +348,10 @@ also helped me test scheduling ideas and think out loud. 00:05:04.200 --> 00:05:06.879 I could change the time between talks, the order of the talks, -00:05:06.880 --> 00:05:08.599 +00:05:06.880 --> 00:05:08.939 and even what tracks the talks were in. -00:05:08.600 --> 00:05:10.719 +00:05:08.940 --> 00:05:10.719 This was helpful when I needed to include 00:05:10.720 --> 00:05:13.239 @@ -372,27 +372,27 @@ I also love how I can have an Emacs Lisp block 00:05:25.400 --> 00:05:28.599 in an Org Mode document that updates an SVG -00:05:28.600 --> 00:05:31.279 +00:05:28.600 --> 00:05:31.999 that I can view right there in my text editor. -00:05:31.280 --> 00:05:34.799 +00:05:32.000 --> 00:05:34.799 Setting the timezone lets me automatically translate times -00:05:34.800 --> 00:05:36.919 +00:05:34.800 --> 00:05:37.819 to the speaker's local timezone when I e-mail them. -00:05:36.920 --> 00:05:39.079 +00:05:37.820 --> 00:05:41.779 That's mostly a matter of using `format-time-string` with a timezone. NOTE Templates -00:05:42.360 --> 00:05:43.159 -There's also a lot of text to work with, +00:05:41.780 --> 00:05:43.159 +There's a lot of text to work with, -00:05:43.160 --> 00:05:45.119 +00:05:43.160 --> 00:05:45.699 which means templates are super handy. -00:05:45.120 --> 00:05:48.119 +00:05:45.700 --> 00:05:48.119 There are a number of templating functions for Emacs Lisp, 00:05:48.120 --> 00:05:52.959 @@ -401,10 +401,10 @@ like the built-in `tempo.el` or `s-lex-format` from `s.el`. 00:05:52.960 --> 00:05:54.439 I ended up writing something -00:05:54.440 --> 00:05:57.279 +00:05:54.440 --> 00:05:58.019 that works with property lists (plists) instead, -00:05:57.280 --> 00:06:02.199 +00:05:58.020 --> 00:06:02.199 since we use plists all over the emacsconf-el library. 00:06:02.200 --> 00:06:03.999 @@ -419,60 +419,60 @@ I use this mostly because I have a hard time 00:06:07.560 --> 00:06:11.079 keeping track of which `%s` is which when I use `format`, -00:06:11.080 --> 00:06:13.919 +00:06:11.080 --> 00:06:14.299 and it's hard to get an overall view if I just use `concat`. -00:06:13.920 --> 00:06:17.599 +00:06:14.300 --> 00:06:17.599 The code looks for the properties and replaces them with the values. -00:06:17.600 --> 00:06:20.919 +00:06:17.600 --> 00:06:21.299 I just find it a little easier to think about sometimes. -00:06:20.920 --> 00:06:24.079 +00:06:21.300 --> 00:06:24.079 Getting all the information is just a matter of going over -00:06:24.080 --> 00:06:26.999 +00:06:24.080 --> 00:06:27.399 all the talk entries using `org-map-entries`. -00:06:27.000 --> 00:06:30.319 +00:06:27.400 --> 00:06:30.699 This builds the talk info by running a bunch of functions. -00:06:30.320 --> 00:06:33.439 +00:06:30.700 --> 00:06:33.819 Some functions get the information from the Org file. -00:06:33.440 --> 00:06:36.359 +00:06:33.820 --> 00:06:36.959 Other functions use the info already collected. -00:06:36.360 --> 00:06:39.039 +00:06:36.960 --> 00:06:39.259 This can take a while to do again and again. -00:06:39.040 --> 00:06:41.479 +00:06:39.260 --> 00:06:41.739 It's useful to `memoize` this function -00:06:41.480 --> 00:06:43.239 +00:06:41.740 --> 00:06:43.499 when I know I'll be using it a lot, -00:06:43.240 --> 00:06:45.679 +00:06:43.500 --> 00:06:45.959 like when I export the organizers notebook. -00:06:45.680 --> 00:06:48.119 +00:06:45.960 --> 00:06:48.399 Memoize caches recent values. NOTE Wiki -00:06:48.120 --> 00:06:50.239 +00:06:48.400 --> 00:06:50.239 We combine this templating function 00:06:50.240 --> 00:06:51.479 with the talk information -00:06:51.480 --> 00:06:53.119 +00:06:51.480 --> 00:06:53.439 to fill in the conference wiki, -00:06:53.120 --> 00:06:56.279 +00:06:53.440 --> 00:06:56.479 since that's a matter of writing templated strings to files. -00:06:56.280 --> 00:06:58.279 +00:06:56.480 --> 00:06:58.279 The talk pages are generated once 00:06:58.280 --> 00:07:00.279 @@ -481,16 +481,16 @@ and then left alone for manual editing, 00:07:00.280 --> 00:07:02.399 while the navigation is regenerated -00:07:02.400 --> 00:07:04.199 +00:07:02.400 --> 00:07:04.659 every time we change the details. -00:07:04.200 --> 00:07:05.799 +00:07:04.660 --> 00:07:05.799 Here are some examples -00:07:05.800 --> 00:07:07.319 +00:07:05.800 --> 00:07:07.919 of how we fill in the conference wiki. -00:07:07.320 --> 00:07:10.959 +00:07:07.920 --> 00:07:10.959 We put in the format of the talk, how Q&A works, 00:07:10.960 --> 00:07:12.319 @@ -499,72 +499,72 @@ and what the status is. 00:07:12.320 --> 00:07:14.959 Once the talk is live, we include the video -00:07:14.960 --> 00:07:16.479 +00:07:14.960 --> 00:07:17.079 and the links to the files, too. -00:07:16.480 --> 00:07:18.719 +00:07:17.080 --> 00:07:18.719 The code is a little bit long, 00:07:18.720 --> 00:07:20.079 but the important part is that -00:07:20.080 --> 00:07:22.639 +00:07:20.080 --> 00:07:22.879 we fill in a plist with the values we calculate, -00:07:22.640 --> 00:07:26.159 +00:07:22.880 --> 00:07:26.379 and then we can use `emacsconf-replace-plist-in-string` -00:07:26.160 --> 00:07:27.719 +00:07:26.380 --> 00:07:28.019 to put that all together. -00:07:27.720 --> 00:07:30.079 +00:07:28.020 --> 00:07:30.279 The schedule is a little more complicated. -00:07:30.080 --> 00:07:32.079 +00:07:30.280 --> 00:07:32.079 I wrote an Ikiwiki directive -00:07:32.080 --> 00:07:33.839 +00:07:32.080 --> 00:07:34.019 so that the markup is more manageable, -00:07:33.840 --> 00:07:36.159 +00:07:34.020 --> 00:07:36.519 and the Emacs Lisp function uses that. -00:07:36.160 --> 00:07:40.399 +00:07:36.520 --> 00:07:40.619 The Ikiwiki directive takes all the data and turns it into HTML... -00:07:40.400 --> 00:07:42.959 +00:07:40.620 --> 00:07:42.959 ...so we can use Emacs Lisp to iterate over -00:07:42.960 --> 00:07:44.679 +00:07:42.960 --> 00:07:44.819 a slightly smaller property list -00:07:44.680 --> 00:07:47.479 +00:07:44.820 --> 00:07:47.779 and put them into the format Ikiwiki expects. -00:07:47.480 --> 00:07:50.079 +00:07:47.780 --> 00:07:50.079 It's nice to be able to navigate between talks -00:07:50.080 --> 00:07:52.319 +00:07:50.080 --> 00:07:52.839 without going back to the schedule page each time. -00:07:52.320 --> 00:07:55.399 +00:07:52.840 --> 00:07:55.579 This is handled by keeping two extra copies of the list: -00:07:55.400 --> 00:07:57.319 +00:07:55.580 --> 00:07:57.559 one with the first talk popped off, -00:07:57.320 --> 00:08:00.159 +00:07:57.560 --> 00:08:00.359 and one with an extra element added to the beginning. -00:08:00.160 --> 00:08:02.439 +00:08:00.360 --> 00:08:02.439 Then we can use the heads of those lists -00:08:02.440 --> 00:08:03.959 +00:08:02.440 --> 00:08:04.379 for next/previous links. NOTE Etherpad -00:08:03.960 --> 00:08:06.679 +00:08:04.380 --> 00:08:06.679 Links to the next talks are also handy 00:08:06.680 --> 00:08:08.639 @@ -576,63 +576,63 @@ that we use for collecting questions, answers, and notes 00:08:12.040 --> 00:08:12.839 during each talk. -00:08:12.840 --> 00:08:14.679 +00:08:12.840 --> 00:08:15.299 Etherpad has an API... -00:08:14.680 --> 00:08:17.319 +00:08:15.300 --> 00:08:17.319 ...so I can start the pads off with a template -00:08:17.320 --> 00:08:18.559 +00:08:17.320 --> 00:08:18.939 before the conference. -00:08:18.560 --> 00:08:21.239 +00:08:18.940 --> 00:08:21.239 I don't want to accidentally overwrite a pad -00:08:21.240 --> 00:08:22.679 +00:08:21.240 --> 00:08:22.939 that has been manually edited. -00:08:22.680 --> 00:08:25.719 +00:08:22.940 --> 00:08:25.719 We can save the timestamp of the last modification -00:08:25.720 --> 00:08:27.679 +00:08:25.720 --> 00:08:28.199 and then compare it before overwriting. NOTE E-mail -00:08:27.680 --> 00:08:30.839 +00:08:28.200 --> 00:08:31.239 Templates are also very handy when it comes to e-mail. -00:08:30.840 --> 00:08:33.599 +00:08:31.240 --> 00:08:33.599 Sometimes we send e-mails one at a time, 00:08:33.600 --> 00:08:35.199 like when we let a speaker know -00:08:35.200 --> 00:08:36.599 +00:08:35.200 --> 00:08:36.879 that we've received their proposal. -00:08:36.600 --> 00:08:39.559 +00:08:36.880 --> 00:08:39.559 That's mostly a matter of plugging the talk's properties -00:08:39.560 --> 00:08:41.119 +00:08:39.560 --> 00:08:41.559 into the right places in the template. -00:08:41.120 --> 00:08:44.799 +00:08:41.560 --> 00:08:45.019 Sometimes we send e-mails to lots of speakers at the same time, -00:08:44.800 --> 00:08:47.999 +00:08:45.020 --> 00:08:48.299 like when we send them instructions for uploading their files. -00:08:48.000 --> 00:08:51.439 +00:08:48.300 --> 00:08:51.619 Instead of sending one e-mail and Bcc-ing everyone, -00:08:51.440 --> 00:08:53.479 +00:08:51.620 --> 00:08:53.479 or sending people multiple e-mails -00:08:53.480 --> 00:08:54.999 +00:08:53.480 --> 00:08:55.139 because they have multiple talks, -00:08:55.000 --> 00:08:57.559 +00:08:55.140 --> 00:08:57.559 I like to draft these as individual e-mails 00:08:57.560 --> 00:08:59.799 @@ -641,98 +641,92 @@ to each speaker (or group of speakers, 00:08:59.800 --> 00:09:02.599 if more than one person is associated with a talk). -00:09:02.600 --> 00:09:05.479 +00:09:02.600 --> 00:09:05.919 That gives me an opportunity to personalize it further. NOTE BigBlueButton web conferences -00:09:05.480 --> 00:09:08.119 +00:09:05.920 --> 00:09:08.119 Many speakers answer questions live 00:09:08.120 --> 00:09:10.039 in BigBlueButton web conference rooms. -00:09:10.040 --> 00:09:12.639 +00:09:10.440 --> 00:09:12.639 Setting up one room per group of speakers 00:09:12.640 --> 00:09:15.199 makes it easy to give the speakers the details -00:09:15.200 --> 00:09:18.519 +00:09:15.400 --> 00:09:18.719 and associate the recorded video with the talk afterwards. -00:09:18.520 --> 00:09:20.599 +00:09:18.720 --> 00:09:20.599 For EmacsConf 2023, -00:09:20.600 --> 00:09:24.839 +00:09:20.600 --> 00:09:25.079 I used Spookfox to control Mozilla Firefox from Emacs -00:09:24.840 --> 00:09:27.479 +00:09:25.080 --> 00:09:27.479 so that I could automate creating the rooms 00:09:27.480 --> 00:09:30.919 and adding the URLs to the talk properties in my Org file. -00:09:30.920 --> 00:09:33.959 +00:09:30.957 --> 00:09:33.959 Then I can use mail merge to send each speaker -00:09:33.960 --> 00:09:36.399 +00:09:33.960 --> 00:09:36.899 the check-in instructions for their specific room. -00:09:36.400 --> 00:09:38.679 +00:09:36.900 --> 00:09:39.139 Some speakers will take questions by e-mail -00:09:38.680 --> 00:09:41.399 +00:09:39.140 --> 00:09:41.619 after the conference instead of attending live, -00:09:41.400 --> 00:09:43.359 +00:09:41.620 --> 00:09:43.359 so we send them shorter instructions -00:09:43.360 --> 00:09:45.119 +00:09:43.360 --> 00:09:45.539 just in case they want to drop by. -00:09:45.120 --> 00:09:46.479 -Live Q&A sessions start off +00:09:45.540 --> 00:09:47.799 +[Live Q&A sessions]: After the first rush of questions, -00:09:46.480 --> 00:09:46.919 -with just the speaker and the host. - -00:09:46.920 --> 00:09:48.119 -After the first rush of questions, - -00:09:48.120 --> 00:09:49.959 +00:09:47.800 --> 00:09:50.579 we can open it up for other people to join. -00:09:49.960 --> 00:09:52.759 +00:09:50.580 --> 00:09:53.039 This is handled by changing the public page -00:09:52.760 --> 00:09:55.119 +00:09:53.040 --> 00:09:55.119 from one that just refreshes in a loop -00:09:55.120 --> 00:09:58.119 +00:09:55.120 --> 00:09:58.820 to one that redirects to the actual web conference room. -00:09:58.120 --> 00:10:00.079 +00:09:58.821 --> 00:10:00.079 Just in case, we also 00:10:00.080 --> 00:10:02.159 generate static copies of those redirects -00:10:02.160 --> 00:10:04.039 +00:10:02.160 --> 00:10:04.299 so that we can copy them if needed. -00:10:04.040 --> 00:10:06.679 +00:10:04.300 --> 00:10:06.679 That way, I don't have to count on Emacs being able to -00:10:06.680 --> 00:10:07.759 +00:10:06.680 --> 00:10:08.120 publish them over TRAMP. NOTE Shortcuts -00:10:07.760 --> 00:10:11.239 +00:10:08.121 --> 00:10:11.659 During the conference, I'm often jumping from talk to talk. -00:10:11.240 --> 00:10:13.199 +00:10:11.660 --> 00:10:13.199 Instead of going to the Org file 00:10:13.200 --> 00:10:14.519 @@ -744,80 +738,80 @@ I've made a little Hydra with keyboard shortcuts. 00:10:17.240 --> 00:10:19.079 One of these shortcuts lets me -00:10:19.080 --> 00:10:20.799 +00:10:19.080 --> 00:10:20.959 jump to a talk with completion -00:10:20.800 --> 00:10:23.999 +00:10:20.960 --> 00:10:24.259 so that I can just type in part of the talk ID, -00:10:24.000 --> 00:10:25.679 +00:10:24.260 --> 00:10:26.399 title, or speaker name. -00:10:25.680 --> 00:10:28.679 +00:10:26.400 --> 00:10:28.679 I've also defined some Embark actions -00:10:28.680 --> 00:10:31.719 +00:10:28.680 --> 00:10:32.079 so that I can act on a talk right from the completion menu. -00:10:31.720 --> 00:10:34.719 +00:10:32.080 --> 00:10:35.079 For example, I might want to jump to the wiki page -00:10:34.720 --> 00:10:36.199 +00:10:35.080 --> 00:10:36.699 or e-mail the speaker. NOTE Logbook -00:10:36.200 --> 00:10:39.839 +00:10:36.700 --> 00:10:40.099 I can also add notes to a talk while looking at an email, -00:10:39.840 --> 00:10:41.639 +00:10:40.100 --> 00:10:41.639 like when a speaker lets me know -00:10:41.640 --> 00:10:42.839 +00:10:41.640 --> 00:10:43.279 that their video will be late. -00:10:42.840 --> 00:10:45.799 +00:10:43.280 --> 00:10:45.799 Making it easy to add a note turns Emacs into -00:10:45.800 --> 00:10:49.439 +00:10:45.800 --> 00:10:49.959 a very basic contact relationship management system, or CRM. -00:10:49.440 --> 00:10:52.439 +00:10:49.960 --> 00:10:52.439 The way this works is that we have a function -00:10:52.440 --> 00:10:55.159 +00:10:52.440 --> 00:10:55.459 that lists all the email addresses associated with a talk. -00:10:55.160 --> 00:10:57.919 +00:10:55.460 --> 00:10:57.919 We can then map that over the list of talks, 00:10:57.920 --> 00:10:59.959 look up the author of the current email, -00:10:59.960 --> 00:11:03.319 +00:10:59.960 --> 00:11:03.679 prompt the user for the talk to add the note to, and add the note. NOTE Captions -00:11:03.320 --> 00:11:04.679 +00:11:03.680 --> 00:11:04.679 On to captions. 00:11:04.680 --> 00:11:07.239 We've been doing captions for the last couple of years, -00:11:07.240 --> 00:11:09.959 +00:11:07.240 --> 00:11:10.419 and now we have a small army of volunteer captioners. -00:11:09.960 --> 00:11:12.679 +00:11:10.420 --> 00:11:12.679 They get early access to the recorded talks 00:11:12.680 --> 00:11:16.159 and fix up misrecognized words, format keyboard shortcuts -00:11:16.160 --> 00:11:19.359 +00:11:16.160 --> 00:11:19.579 to follow Emacs conventions, spell names correctly, -00:11:19.360 --> 00:11:21.839 +00:11:19.580 --> 00:11:21.839 and do all sorts of other wonderful things. 00:11:21.840 --> 00:11:24.399 @@ -826,152 +820,152 @@ One of our evil plans with EmacsConf 00:11:24.400 --> 00:11:28.359 is to get cool stuff out of people's heads into videos -00:11:28.360 --> 00:11:31.799 +00:11:28.360 --> 00:11:32.039 and also make captions so that those videos can be searched. -00:11:31.800 --> 00:11:34.999 +00:11:32.040 --> 00:11:34.999 To make that possible, we first need a backstage area -00:11:35.000 --> 00:11:36.639 +00:11:35.000 --> 00:11:36.919 where volunteers can get the files. -00:11:36.640 --> 00:11:39.839 +00:11:36.920 --> 00:11:39.839 This is just a simple password-protected directory -00:11:39.840 --> 00:11:43.559 +00:11:39.840 --> 00:11:43.739 with a static HTML page that lists the talks by status -00:11:43.560 --> 00:11:46.119 +00:11:43.740 --> 00:11:46.379 and shows the files related to each talk. -00:11:46.120 --> 00:11:49.599 +00:11:46.380 --> 00:11:49.899 As a talk moves through the process, I update its TODO state -00:11:49.600 --> 00:11:51.359 +00:11:49.900 --> 00:11:51.359 and republish this index. 00:11:51.360 --> 00:11:54.519 Talks that are ready to be captioned show up in that section, -00:11:54.520 --> 00:11:57.679 +00:11:54.520 --> 00:11:58.179 and volunteers can call dibs on the talk they're interested in. -00:11:57.680 --> 00:12:00.799 +00:11:58.180 --> 00:12:00.979 That's all done with a function that formats the information -00:12:00.800 --> 00:12:03.839 +00:12:00.980 --> 00:12:04.319 and uses TRAMP to save the file directly to the server. -00:12:03.840 --> 00:12:06.679 +00:12:04.320 --> 00:12:06.679 You can find more details on our captioning process 00:12:06.680 --> 00:12:09.039 at emacsconf.org/captioning. -00:12:09.040 --> 00:12:12.519 +00:12:09.040 --> 00:12:13.219 I like using subed to edit subtitles within Emacs. NOTE Crontabs and playing the talks -00:12:12.520 --> 00:12:15.399 +00:12:13.220 --> 00:12:16.059 Let's talk about actually playing the talks. -00:12:15.400 --> 00:12:19.559 +00:12:16.060 --> 00:12:19.559 For EmacsConf 2022, we tried using Emacs timers -00:12:19.560 --> 00:12:20.519 +00:12:19.560 --> 00:12:20.939 to run the talks. -00:12:20.520 --> 00:12:24.079 +00:12:20.940 --> 00:12:24.079 It turns out that you can't call TRAMP from a timer 00:12:24.080 --> 00:12:26.719 when you're already using TRAMP from another timer -00:12:26.720 --> 00:12:27.439 +00:12:26.720 --> 00:12:27.799 at the same time. -00:12:27.440 --> 00:12:29.719 +00:12:27.800 --> 00:12:29.719 I thought about just tweaking the schedule 00:12:29.720 --> 00:12:31.799 so that we always start things at different times, -00:12:31.800 --> 00:12:34.799 +00:12:31.800 --> 00:12:35.119 but I figured there's probably a more elegant way to do this. -00:12:34.800 --> 00:12:37.519 +00:12:35.120 --> 00:12:37.519 This year, I'm planning to experiment with using cron -00:12:37.520 --> 00:12:38.959 +00:12:37.520 --> 00:12:39.599 to start talks on autopilot. -00:12:38.960 --> 00:12:42.119 +00:12:39.600 --> 00:12:42.479 The shell scripts will take care of playing the videos... -00:12:42.120 --> 00:12:44.399 +00:12:42.480 --> 00:12:44.839 ... figuring out the appropriate Q&A... -00:12:44.400 --> 00:12:47.119 +00:12:44.840 --> 00:12:47.579 ... and joining the web conference if needed. -00:12:47.120 --> 00:12:49.599 +00:12:47.580 --> 00:12:49.599 We just need to format the information... -00:12:49.600 --> 00:12:51.759 +00:12:49.600 --> 00:12:52.219 ...and install it as the track's crontab. -00:12:51.760 --> 00:12:54.079 +00:12:52.220 --> 00:12:54.079 It's useful to be able to switch tracks -00:12:54.080 --> 00:12:55.599 +00:12:54.080 --> 00:12:55.879 to manual mode independently, -00:12:55.600 --> 00:12:57.679 +00:12:55.880 --> 00:12:57.899 just in case things go haywire. -00:12:57.680 --> 00:12:59.719 +00:12:57.900 --> 00:13:00.119 Then we can start everything manually. -00:12:59.720 --> 00:13:02.359 +00:13:00.120 --> 00:13:02.799 I can also manually update a talk's status, -00:13:02.360 --> 00:13:05.919 +00:13:02.800 --> 00:13:06.519 like when the host tells me that it's okay to open up the Q&A. -00:13:05.920 --> 00:13:08.719 +00:13:06.520 --> 00:13:08.719 The shell scripts we run from the crontab -00:13:08.720 --> 00:13:10.839 +00:13:08.720 --> 00:13:11.279 can also update the talk status themselves. NOTE Transitions -00:13:10.840 --> 00:13:14.319 -Then a bunch of things happen automatically based on +00:13:11.280 --> 00:13:14.319 +Then a bunch of things automatically happen based on 00:13:14.320 --> 00:13:15.599 the talk status changes. 00:13:15.600 --> 00:13:18.959 -This uses org-after-todo-state-change-hook. +This uses `org-after-todo-state-change-hook`. 00:13:18.960 --> 00:13:20.359 We get the talk information -00:13:20.360 --> 00:13:21.959 +00:13:20.360 --> 00:13:22.519 and pass it to a list of functions. -00:13:21.960 --> 00:13:26.279 +00:13:22.520 --> 00:13:26.279 Internet Relay Chat or IRC is an easy way for people -00:13:26.280 --> 00:13:28.719 +00:13:26.280 --> 00:13:29.139 to join the conversation around EmacsConf. -00:13:28.720 --> 00:13:31.239 +00:13:29.140 --> 00:13:31.799 We announce a talk whenever it changes state. -00:13:31.240 --> 00:13:33.599 +00:13:31.800 --> 00:13:33.599 For example, when a talk starts, 00:13:33.600 --> 00:13:36.039 @@ -986,42 +980,42 @@ so anyone can see the current talk's information 00:13:41.880 --> 00:13:43.039 even if they're a little late. -00:13:43.040 --> 00:13:45.799 +00:13:43.180 --> 00:13:45.799 This is easy to do with a little bit of Emacs Lisp 00:13:45.800 --> 00:13:48.519 because (of course!) Emacs has an IRC client. -00:13:48.520 --> 00:13:49.639 +00:13:48.520 --> 00:13:49.879 In fact, it has several. NOTE Wrapping up -00:13:49.640 --> 00:13:52.799 +00:13:49.880 --> 00:13:53.139 It seems like a lot of automation and Emacs Lisp, -00:13:52.800 --> 00:13:56.439 +00:13:53.140 --> 00:13:56.899 but really, all of this was just built up little by little. -00:13:56.440 --> 00:13:59.279 +00:13:56.900 --> 00:13:59.279 And tinkering with this is *fun*, you know? -00:13:59.280 --> 00:14:00.679 +00:13:59.280 --> 00:14:01.259 It's like always being able to ask, -00:14:00.680 --> 00:14:02.159 +00:14:01.260 --> 00:14:03.300 "Hey, wouldn't it be cool if..." -00:14:02.160 --> 00:14:05.279 +00:14:03.301 --> 00:14:05.279 and then actually being able to go and do it. 00:14:05.280 --> 00:14:07.999 Sometimes it feels like EmacsConf is an excuse -00:14:08.000 --> 00:14:09.359 +00:14:08.000 --> 00:14:10.199 for me to play with Emacs. -00:14:09.360 --> 00:14:11.999 +00:14:10.200 --> 00:14:11.999 It's pretty amazing what you can do 00:14:12.000 --> 00:14:13.799 @@ -1051,28 +1045,28 @@ An email client. A chat client. 00:14:27.760 --> 00:14:29.639 You can smoosh them all together -00:14:29.640 --> 00:14:32.319 +00:14:29.640 --> 00:14:32.699 in a way that you couldn't if they were all separate things. -00:14:32.320 --> 00:14:35.879 +00:14:32.700 --> 00:14:36.279 The code is in the emacsconf-el repository. -00:14:35.880 --> 00:14:39.119 +00:14:36.280 --> 00:14:39.119 It's a bit of a tangle because it's accumulating organically 00:14:39.120 --> 00:14:40.879 and I haven't really had the brainspace -00:14:40.880 --> 00:14:42.359 +00:14:40.880 --> 00:14:42.579 to step back and clean it up. -00:14:42.360 --> 00:14:45.519 +00:14:42.580 --> 00:14:45.919 But if you spotted anything interesting in this presentation, -00:14:45.520 --> 00:14:48.279 +00:14:45.920 --> 00:14:48.619 you can go check it out and see what you can scavenge. -00:14:48.280 --> 00:14:50.999 +00:14:48.620 --> 00:14:50.999 The link and this presentation are available 00:14:51.000 --> 00:14:59.119 diff --git a/2023/info/cubing-before.md b/2023/info/cubing-before.md index 8b07e57b..2f0a8ef1 100644 --- a/2023/info/cubing-before.md +++ b/2023/info/cubing-before.md @@ -1,7 +1,7 @@ The following image shows where the talk is in the schedule for Sun 2023-12-03. Solid lines show talks with Q&A via BigBlueButton. Dashed lines show talks with Q&A via IRC or Etherpad.
- Schedule for Sunday Sunday 9:00- 9:05 Sunday opening remarks sun-open 9:05- 9:25 Top 10 ways Hyperbole amps up Emacs hyperamp 9:40-10:00 Using Koutline for stream of thought journaling koutline 10:10-10:20 Parallel text replacement parallel 10:35-10:45 Eat and Eat powered Eshell, fast featureful terminal inside Emacs eat 11:00-11:20 The browser in a buffer poltys 11:35-11:55 Speedcubing in Emacs cubing 1:00- 1:40 Emacs MultiMedia System (EMMS) emms 1:55- 2:25 Programming with steno steno 2:35- 2:45 Mentoring VS-Coders as an Emacsian (or How to show not tell people about the wonders of Emacs) mentor 3:10- 3:40 Emacs saves the Web (maybe) web 3:55- 4:15 Sharing Emacs is Caring Emacs: Emacs education and why I embraced video sharing 4:30- 4:40 Sunday closing remarks sun-close 10:00-10:20 Bringing joy to Scheme programming scheme 10:35-10:55 GNU Emacs: A World of Possibilities world 11:10-11:20 A modern Emacs look-and-feel without pain flat 11:35-11:55 The Emacsen family, the design of an Emacs and the importance of Lisp emacsen 1:00- 1:20 emacs-gc-stats: Does garbage collection actually slow down Emacs? gc 1:35- 2:15 hyperdrive.el: Peer-to-peer filesystem in Emacs hyperdrive 2:30- 2:45 Writing a language server in OCaml for Emacs, fun, and profit lspocaml 3:00- 3:30 What I learned by writing test cases for GNU Hyperbole test 3:45- 4:25 Windows into Freedom windows 9 AM 10 AM 11 AM 12 PM 1 PM 2 PM 3 PM 4 PM 5 PM + Schedule for Sunday Sunday 8:59- 9:05 Sunday opening remarks sun-open 9:05- 9:25 Top 10 ways Hyperbole amps up Emacs hyperamp 9:40-10:00 Using Koutline for stream of thought journaling koutline 10:10-10:20 Parallel text replacement parallel 10:35-10:45 Eat and Eat powered Eshell, fast featureful terminal inside Emacs eat 11:00-11:20 The browser in a buffer poltys 11:35-11:55 Speedcubing in Emacs cubing 1:00- 1:40 Emacs MultiMedia System (EMMS) emms 1:55- 2:25 Programming with steno steno 2:35- 2:45 Mentoring VS-Coders as an Emacsian (or How to show not tell people about the wonders of Emacs) mentor 3:10- 3:40 Emacs saves the Web (maybe) web 3:55- 4:15 Sharing Emacs is Caring Emacs: Emacs education and why I embraced video sharing 4:30- 4:40 Sunday closing remarks sun-close 10:00-10:20 Bringing joy to Scheme programming scheme 10:35-10:55 GNU Emacs: A World of Possibilities world 11:10-11:20 A modern Emacs look-and-feel without pain flat 11:35-11:55 The Emacsen family, the design of an Emacs and the importance of Lisp emacsen 1:00- 1:20 emacs-gc-stats: Does garbage collection actually slow down Emacs? gc 1:35- 2:15 hyperdrive.el: Peer-to-peer filesystem in Emacs hyperdrive 2:30- 2:45 Writing a language server in OCaml for Emacs, fun, and profit lspocaml 3:00- 3:30 What I learned by writing test cases for GNU Hyperbole test 3:45- 4:25 Windows into Freedom windows 9 AM 10 AM 11 AM 12 PM 1 PM 2 PM 3 PM 4 PM 5 PM
[[!toc ]] diff --git a/2023/info/eat-before.md b/2023/info/eat-before.md index a957fd47..47b031f8 100644 --- a/2023/info/eat-before.md +++ b/2023/info/eat-before.md @@ -1,7 +1,7 @@ The following image shows where the talk is in the schedule for Sun 2023-12-03. Solid lines show talks with Q&A via BigBlueButton. Dashed lines show talks with Q&A via IRC or Etherpad.
- Schedule for Sunday Sunday 9:00- 9:05 Sunday opening remarks sun-open 9:05- 9:25 Top 10 ways Hyperbole amps up Emacs hyperamp 9:40-10:00 Using Koutline for stream of thought journaling koutline 10:10-10:20 Parallel text replacement parallel 10:35-10:45 Eat and Eat powered Eshell, fast featureful terminal inside Emacs eat 11:00-11:20 The browser in a buffer poltys 11:35-11:55 Speedcubing in Emacs cubing 1:00- 1:40 Emacs MultiMedia System (EMMS) emms 1:55- 2:25 Programming with steno steno 2:35- 2:45 Mentoring VS-Coders as an Emacsian (or How to show not tell people about the wonders of Emacs) mentor 3:10- 3:40 Emacs saves the Web (maybe) web 3:55- 4:15 Sharing Emacs is Caring Emacs: Emacs education and why I embraced video sharing 4:30- 4:40 Sunday closing remarks sun-close 10:00-10:20 Bringing joy to Scheme programming scheme 10:35-10:55 GNU Emacs: A World of Possibilities world 11:10-11:20 A modern Emacs look-and-feel without pain flat 11:35-11:55 The Emacsen family, the design of an Emacs and the importance of Lisp emacsen 1:00- 1:20 emacs-gc-stats: Does garbage collection actually slow down Emacs? gc 1:35- 2:15 hyperdrive.el: Peer-to-peer filesystem in Emacs hyperdrive 2:30- 2:45 Writing a language server in OCaml for Emacs, fun, and profit lspocaml 3:00- 3:30 What I learned by writing test cases for GNU Hyperbole test 3:45- 4:25 Windows into Freedom windows 9 AM 10 AM 11 AM 12 PM 1 PM 2 PM 3 PM 4 PM 5 PM + Schedule for Sunday Sunday 8:59- 9:05 Sunday opening remarks sun-open 9:05- 9:25 Top 10 ways Hyperbole amps up Emacs hyperamp 9:40-10:00 Using Koutline for stream of thought journaling koutline 10:10-10:20 Parallel text replacement parallel 10:35-10:45 Eat and Eat powered Eshell, fast featureful terminal inside Emacs eat 11:00-11:20 The browser in a buffer poltys 11:35-11:55 Speedcubing in Emacs cubing 1:00- 1:40 Emacs MultiMedia System (EMMS) emms 1:55- 2:25 Programming with steno steno 2:35- 2:45 Mentoring VS-Coders as an Emacsian (or How to show not tell people about the wonders of Emacs) mentor 3:10- 3:40 Emacs saves the Web (maybe) web 3:55- 4:15 Sharing Emacs is Caring Emacs: Emacs education and why I embraced video sharing 4:30- 4:40 Sunday closing remarks sun-close 10:00-10:20 Bringing joy to Scheme programming scheme 10:35-10:55 GNU Emacs: A World of Possibilities world 11:10-11:20 A modern Emacs look-and-feel without pain flat 11:35-11:55 The Emacsen family, the design of an Emacs and the importance of Lisp emacsen 1:00- 1:20 emacs-gc-stats: Does garbage collection actually slow down Emacs? gc 1:35- 2:15 hyperdrive.el: Peer-to-peer filesystem in Emacs hyperdrive 2:30- 2:45 Writing a language server in OCaml for Emacs, fun, and profit lspocaml 3:00- 3:30 What I learned by writing test cases for GNU Hyperbole test 3:45- 4:25 Windows into Freedom windows 9 AM 10 AM 11 AM 12 PM 1 PM 2 PM 3 PM 4 PM 5 PM
[[!toc ]] diff --git a/2023/info/emacsconf-after.md b/2023/info/emacsconf-after.md index 4898332a..4979770a 100644 --- a/2023/info/emacsconf-after.md +++ b/2023/info/emacsconf-after.md @@ -71,7 +71,7 @@ [[!template text="""based on the current region. I bind that to `C-c C-x p`.""" start="00:02:51.040" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""That makes it much easier to set properties""" start="00:02:56.040" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""that couldn't automatically be recognized.""" start="00:02:58.600" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""Sometimes it makes sense to dynamically generate a property""" start="00:03:00.640" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""Sometimes it makes sense to dynamically generate a property""" start="00:03:01.240" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""and then edit it, like with filenames.""" start="00:03:04.520" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""We like to name all the talk files the same way,""" start="00:03:07.680" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""but sometimes special characters in talk titles or speaker names""" start="00:03:10.400" video="mainVideo-emacsconf" id="subtitle"]] @@ -90,21 +90,21 @@ [[!template text="""and use it in shell scripts.""" start="00:03:51.120" video="mainVideo-emacsconf" id="subtitle"]] [[!template new="1" text="""Another example of semi-structured information""" start="00:03:53.120" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""is speaker availability.""" start="00:03:55.640" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""We have speakers from all over the world,""" start="00:03:56.760" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""so we try to schedule live Q&A sessions when they're around.""" start="00:03:59.320" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""That means working with timezones.""" start="00:04:02.600" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""Completion makes it much easier to set the timezone property""" start="00:04:04.560" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""We have speakers from all over the world,""" start="00:03:57.300" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""so we try to schedule live Q&A sessions when they're around.""" start="00:03:59.620" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""That means working with timezones.""" start="00:04:03.020" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""Completion makes it much easier to set the timezone property""" start="00:04:05.020" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""without worrying about typos.""" start="00:04:08.440" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""We can take advantage of the timezone list from the tzc package,""" start="00:04:10.600" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""which works with Unix timezone definitions.""" start="00:04:14.360" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""Then we can convert times using Emacs.""" start="00:04:16.680" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""Then we can convert times using Emacs.""" start="00:04:17.160" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""Using a standard format to encode the availability""" start="00:04:19.920" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""makes it easier to parse.""" start="00:04:22.640" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""I can use those availability constraints to report errors""" start="00:04:24.400" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""when I'm experimenting with the schedule.""" start="00:04:27.440" video="mainVideo-emacsconf" id="subtitle"]] -[[!template new="1" text="""Now that I have the availability information,""" start="00:04:29.120" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""I can think about scheduling.""" start="00:04:30.760" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""When we were planning EmacsConf 2022, the schedule was so full,""" start="00:04:34.480" video="mainVideo-emacsconf" id="subtitle"]] +[[!template new="1" text="""Now that I have the availability information,""" start="00:04:29.720" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""I can think about scheduling.""" start="00:04:31.680" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""When we were planning EmacsConf 2022, the schedule was so full,""" start="00:04:33.941" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""I wanted to see if we could make it more manageable""" start="00:04:38.240" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""by splitting it up into two tracks.""" start="00:04:40.840" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""It was hard to think about times with just a table.""" start="00:04:43.040" video="mainVideo-emacsconf" id="subtitle"]] @@ -117,7 +117,7 @@ [[!template text="""also helped me test scheduling ideas and think out loud.""" start="00:05:00.640" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""I could change the time between talks, the order of the talks,""" start="00:05:04.200" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""and even what tracks the talks were in.""" start="00:05:06.880" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""This was helpful when I needed to include""" start="00:05:08.600" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""This was helpful when I needed to include""" start="00:05:08.940" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""some late submissions or availability changes""" start="00:05:10.720" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""and I wanted to ask speakers what they thought.""" start="00:05:13.240" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""They could see the different schedule options themselves.""" start="00:05:15.600" video="mainVideo-emacsconf" id="subtitle"]] @@ -125,215 +125,213 @@ [[!template text="""I also love how I can have an Emacs Lisp block""" start="00:05:22.680" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""in an Org Mode document that updates an SVG""" start="00:05:25.400" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""that I can view right there in my text editor.""" start="00:05:28.600" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""Setting the timezone lets me automatically translate times""" start="00:05:31.280" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""Setting the timezone lets me automatically translate times""" start="00:05:32.000" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""to the speaker's local timezone when I e-mail them.""" start="00:05:34.800" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""That's mostly a matter of using `format-time-string` with a timezone.""" start="00:05:36.920" video="mainVideo-emacsconf" id="subtitle"]] -[[!template new="1" text="""There's also a lot of text to work with,""" start="00:05:42.360" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""That's mostly a matter of using `format-time-string` with a timezone.""" start="00:05:37.820" video="mainVideo-emacsconf" id="subtitle"]] +[[!template new="1" text="""There's a lot of text to work with,""" start="00:05:41.780" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""which means templates are super handy.""" start="00:05:43.160" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""There are a number of templating functions for Emacs Lisp,""" start="00:05:45.120" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""There are a number of templating functions for Emacs Lisp,""" start="00:05:45.700" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""like the built-in `tempo.el` or `s-lex-format` from `s.el`.""" start="00:05:48.120" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""I ended up writing something""" start="00:05:52.960" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""that works with property lists (plists) instead,""" start="00:05:54.440" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""since we use plists all over the emacsconf-el library.""" start="00:05:57.280" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""since we use plists all over the emacsconf-el library.""" start="00:05:58.020" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""All it does is replace `${variable}`""" start="00:06:02.200" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""with the value from a property list.""" start="00:06:04.000" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""I use this mostly because I have a hard time""" start="00:06:05.520" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""keeping track of which `%s` is which when I use `format`,""" start="00:06:07.560" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""and it's hard to get an overall view if I just use `concat`.""" start="00:06:11.080" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""The code looks for the properties and replaces them with the values.""" start="00:06:13.920" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""The code looks for the properties and replaces them with the values.""" start="00:06:14.300" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""I just find it a little easier to think about sometimes.""" start="00:06:17.600" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""Getting all the information is just a matter of going over""" start="00:06:20.920" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""Getting all the information is just a matter of going over""" start="00:06:21.300" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""all the talk entries using `org-map-entries`.""" start="00:06:24.080" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""This builds the talk info by running a bunch of functions.""" start="00:06:27.000" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""Some functions get the information from the Org file.""" start="00:06:30.320" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""Other functions use the info already collected.""" start="00:06:33.440" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""This can take a while to do again and again.""" start="00:06:36.360" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""It's useful to `memoize` this function""" start="00:06:39.040" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""when I know I'll be using it a lot,""" start="00:06:41.480" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""like when I export the organizers notebook.""" start="00:06:43.240" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""Memoize caches recent values.""" start="00:06:45.680" video="mainVideo-emacsconf" id="subtitle"]] -[[!template new="1" text="""We combine this templating function""" start="00:06:48.120" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""This builds the talk info by running a bunch of functions.""" start="00:06:27.400" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""Some functions get the information from the Org file.""" start="00:06:30.700" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""Other functions use the info already collected.""" start="00:06:33.820" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""This can take a while to do again and again.""" start="00:06:36.960" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""It's useful to `memoize` this function""" start="00:06:39.260" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""when I know I'll be using it a lot,""" start="00:06:41.740" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""like when I export the organizers notebook.""" start="00:06:43.500" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""Memoize caches recent values.""" start="00:06:45.960" video="mainVideo-emacsconf" id="subtitle"]] +[[!template new="1" text="""We combine this templating function""" start="00:06:48.400" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""with the talk information""" start="00:06:50.240" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""to fill in the conference wiki,""" start="00:06:51.480" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""since that's a matter of writing templated strings to files.""" start="00:06:53.120" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""The talk pages are generated once""" start="00:06:56.280" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""since that's a matter of writing templated strings to files.""" start="00:06:53.440" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""The talk pages are generated once""" start="00:06:56.480" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""and then left alone for manual editing,""" start="00:06:58.280" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""while the navigation is regenerated""" start="00:07:00.280" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""every time we change the details.""" start="00:07:02.400" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""Here are some examples""" start="00:07:04.200" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""Here are some examples""" start="00:07:04.660" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""of how we fill in the conference wiki.""" start="00:07:05.800" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""We put in the format of the talk, how Q&A works,""" start="00:07:07.320" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""We put in the format of the talk, how Q&A works,""" start="00:07:07.920" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""and what the status is.""" start="00:07:10.960" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""Once the talk is live, we include the video""" start="00:07:12.320" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""and the links to the files, too.""" start="00:07:14.960" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""The code is a little bit long,""" start="00:07:16.480" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""The code is a little bit long,""" start="00:07:17.080" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""but the important part is that""" start="00:07:18.720" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""we fill in a plist with the values we calculate,""" start="00:07:20.080" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""and then we can use `emacsconf-replace-plist-in-string`""" start="00:07:22.640" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""to put that all together.""" start="00:07:26.160" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""The schedule is a little more complicated.""" start="00:07:27.720" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""I wrote an Ikiwiki directive""" start="00:07:30.080" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""and then we can use `emacsconf-replace-plist-in-string`""" start="00:07:22.880" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""to put that all together.""" start="00:07:26.380" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""The schedule is a little more complicated.""" start="00:07:28.020" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""I wrote an Ikiwiki directive""" start="00:07:30.280" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""so that the markup is more manageable,""" start="00:07:32.080" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""and the Emacs Lisp function uses that.""" start="00:07:33.840" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""The Ikiwiki directive takes all the data and turns it into HTML...""" start="00:07:36.160" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""...so we can use Emacs Lisp to iterate over""" start="00:07:40.400" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""and the Emacs Lisp function uses that.""" start="00:07:34.020" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""The Ikiwiki directive takes all the data and turns it into HTML...""" start="00:07:36.520" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""...so we can use Emacs Lisp to iterate over""" start="00:07:40.620" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""a slightly smaller property list""" start="00:07:42.960" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""and put them into the format Ikiwiki expects.""" start="00:07:44.680" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""It's nice to be able to navigate between talks""" start="00:07:47.480" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""and put them into the format Ikiwiki expects.""" start="00:07:44.820" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""It's nice to be able to navigate between talks""" start="00:07:47.780" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""without going back to the schedule page each time.""" start="00:07:50.080" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""This is handled by keeping two extra copies of the list:""" start="00:07:52.320" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""one with the first talk popped off,""" start="00:07:55.400" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""and one with an extra element added to the beginning.""" start="00:07:57.320" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""Then we can use the heads of those lists""" start="00:08:00.160" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""This is handled by keeping two extra copies of the list:""" start="00:07:52.840" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""one with the first talk popped off,""" start="00:07:55.580" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""and one with an extra element added to the beginning.""" start="00:07:57.560" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""Then we can use the heads of those lists""" start="00:08:00.360" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""for next/previous links.""" start="00:08:02.440" video="mainVideo-emacsconf" id="subtitle"]] -[[!template new="1" text="""Links to the next talks are also handy""" start="00:08:03.960" video="mainVideo-emacsconf" id="subtitle"]] +[[!template new="1" text="""Links to the next talks are also handy""" start="00:08:04.380" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""on the collaborative Etherpad documents""" start="00:08:06.680" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""that we use for collecting questions, answers, and notes""" start="00:08:08.640" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""during each talk.""" start="00:08:12.040" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""Etherpad has an API...""" start="00:08:12.840" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""...so I can start the pads off with a template""" start="00:08:14.680" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""...so I can start the pads off with a template""" start="00:08:15.300" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""before the conference.""" start="00:08:17.320" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""I don't want to accidentally overwrite a pad""" start="00:08:18.560" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""I don't want to accidentally overwrite a pad""" start="00:08:18.940" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""that has been manually edited.""" start="00:08:21.240" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""We can save the timestamp of the last modification""" start="00:08:22.680" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""We can save the timestamp of the last modification""" start="00:08:22.940" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""and then compare it before overwriting.""" start="00:08:25.720" video="mainVideo-emacsconf" id="subtitle"]] -[[!template new="1" text="""Templates are also very handy when it comes to e-mail.""" start="00:08:27.680" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""Sometimes we send e-mails one at a time,""" start="00:08:30.840" video="mainVideo-emacsconf" id="subtitle"]] +[[!template new="1" text="""Templates are also very handy when it comes to e-mail.""" start="00:08:28.200" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""Sometimes we send e-mails one at a time,""" start="00:08:31.240" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""like when we let a speaker know""" start="00:08:33.600" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""that we've received their proposal.""" start="00:08:35.200" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""That's mostly a matter of plugging the talk's properties""" start="00:08:36.600" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""That's mostly a matter of plugging the talk's properties""" start="00:08:36.880" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""into the right places in the template.""" start="00:08:39.560" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""Sometimes we send e-mails to lots of speakers at the same time,""" start="00:08:41.120" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""like when we send them instructions for uploading their files.""" start="00:08:44.800" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""Instead of sending one e-mail and Bcc-ing everyone,""" start="00:08:48.000" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""or sending people multiple e-mails""" start="00:08:51.440" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""Sometimes we send e-mails to lots of speakers at the same time,""" start="00:08:41.560" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""like when we send them instructions for uploading their files.""" start="00:08:45.020" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""Instead of sending one e-mail and Bcc-ing everyone,""" start="00:08:48.300" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""or sending people multiple e-mails""" start="00:08:51.620" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""because they have multiple talks,""" start="00:08:53.480" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""I like to draft these as individual e-mails""" start="00:08:55.000" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""I like to draft these as individual e-mails""" start="00:08:55.140" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""to each speaker (or group of speakers,""" start="00:08:57.560" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""if more than one person is associated with a talk).""" start="00:08:59.800" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""That gives me an opportunity to personalize it further.""" start="00:09:02.600" video="mainVideo-emacsconf" id="subtitle"]] -[[!template new="1" text="""Many speakers answer questions live""" start="00:09:05.480" video="mainVideo-emacsconf" id="subtitle"]] +[[!template new="1" text="""Many speakers answer questions live""" start="00:09:05.920" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""in BigBlueButton web conference rooms.""" start="00:09:08.120" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""Setting up one room per group of speakers""" start="00:09:10.040" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""Setting up one room per group of speakers""" start="00:09:10.440" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""makes it easy to give the speakers the details""" start="00:09:12.640" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""and associate the recorded video with the talk afterwards.""" start="00:09:15.200" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""For EmacsConf 2023,""" start="00:09:18.520" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""and associate the recorded video with the talk afterwards.""" start="00:09:15.400" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""For EmacsConf 2023,""" start="00:09:18.720" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""I used Spookfox to control Mozilla Firefox from Emacs""" start="00:09:20.600" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""so that I could automate creating the rooms""" start="00:09:24.840" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""so that I could automate creating the rooms""" start="00:09:25.080" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""and adding the URLs to the talk properties in my Org file.""" start="00:09:27.480" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""Then I can use mail merge to send each speaker""" start="00:09:30.920" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""Then I can use mail merge to send each speaker""" start="00:09:30.957" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""the check-in instructions for their specific room.""" start="00:09:33.960" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""Some speakers will take questions by e-mail""" start="00:09:36.400" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""after the conference instead of attending live,""" start="00:09:38.680" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""so we send them shorter instructions""" start="00:09:41.400" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""Some speakers will take questions by e-mail""" start="00:09:36.900" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""after the conference instead of attending live,""" start="00:09:39.140" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""so we send them shorter instructions""" start="00:09:41.620" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""just in case they want to drop by.""" start="00:09:43.360" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""Live Q&A sessions start off""" start="00:09:45.120" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""with just the speaker and the host.""" start="00:09:46.480" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""After the first rush of questions,""" start="00:09:46.920" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""we can open it up for other people to join.""" start="00:09:48.120" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""This is handled by changing the public page""" start="00:09:49.960" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""from one that just refreshes in a loop""" start="00:09:52.760" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""[Live Q&A sessions]: After the first rush of questions,""" start="00:09:45.540" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""we can open it up for other people to join.""" start="00:09:47.800" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""This is handled by changing the public page""" start="00:09:50.580" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""from one that just refreshes in a loop""" start="00:09:53.040" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""to one that redirects to the actual web conference room.""" start="00:09:55.120" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""Just in case, we also""" start="00:09:58.120" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""Just in case, we also""" start="00:09:58.821" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""generate static copies of those redirects""" start="00:10:00.080" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""so that we can copy them if needed.""" start="00:10:02.160" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""That way, I don't have to count on Emacs being able to""" start="00:10:04.040" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""That way, I don't have to count on Emacs being able to""" start="00:10:04.300" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""publish them over TRAMP.""" start="00:10:06.680" video="mainVideo-emacsconf" id="subtitle"]] -[[!template new="1" text="""During the conference, I'm often jumping from talk to talk.""" start="00:10:07.760" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""Instead of going to the Org file""" start="00:10:11.240" video="mainVideo-emacsconf" id="subtitle"]] +[[!template new="1" text="""During the conference, I'm often jumping from talk to talk.""" start="00:10:08.121" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""Instead of going to the Org file""" start="00:10:11.660" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""and then searching for the talk,""" start="00:10:13.200" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""I've made a little Hydra with keyboard shortcuts.""" start="00:10:14.520" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""One of these shortcuts lets me""" start="00:10:17.240" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""jump to a talk with completion""" start="00:10:19.080" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""so that I can just type in part of the talk ID,""" start="00:10:20.800" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""title, or speaker name.""" start="00:10:24.000" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""I've also defined some Embark actions""" start="00:10:25.680" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""so that I can just type in part of the talk ID,""" start="00:10:20.960" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""title, or speaker name.""" start="00:10:24.260" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""I've also defined some Embark actions""" start="00:10:26.400" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""so that I can act on a talk right from the completion menu.""" start="00:10:28.680" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""For example, I might want to jump to the wiki page""" start="00:10:31.720" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""or e-mail the speaker.""" start="00:10:34.720" video="mainVideo-emacsconf" id="subtitle"]] -[[!template new="1" text="""I can also add notes to a talk while looking at an email,""" start="00:10:36.200" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""like when a speaker lets me know""" start="00:10:39.840" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""For example, I might want to jump to the wiki page""" start="00:10:32.080" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""or e-mail the speaker.""" start="00:10:35.080" video="mainVideo-emacsconf" id="subtitle"]] +[[!template new="1" text="""I can also add notes to a talk while looking at an email,""" start="00:10:36.700" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""like when a speaker lets me know""" start="00:10:40.100" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""that their video will be late.""" start="00:10:41.640" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""Making it easy to add a note turns Emacs into""" start="00:10:42.840" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""Making it easy to add a note turns Emacs into""" start="00:10:43.280" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""a very basic contact relationship management system, or CRM.""" start="00:10:45.800" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""The way this works is that we have a function""" start="00:10:49.440" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""The way this works is that we have a function""" start="00:10:49.960" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""that lists all the email addresses associated with a talk.""" start="00:10:52.440" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""We can then map that over the list of talks,""" start="00:10:55.160" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""We can then map that over the list of talks,""" start="00:10:55.460" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""look up the author of the current email,""" start="00:10:57.920" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""prompt the user for the talk to add the note to, and add the note.""" start="00:10:59.960" video="mainVideo-emacsconf" id="subtitle"]] -[[!template new="1" text="""On to captions.""" start="00:11:03.320" video="mainVideo-emacsconf" id="subtitle"]] +[[!template new="1" text="""On to captions.""" start="00:11:03.680" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""We've been doing captions for the last couple of years,""" start="00:11:04.680" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""and now we have a small army of volunteer captioners.""" start="00:11:07.240" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""They get early access to the recorded talks""" start="00:11:09.960" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""They get early access to the recorded talks""" start="00:11:10.420" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""and fix up misrecognized words, format keyboard shortcuts""" start="00:11:12.680" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""to follow Emacs conventions, spell names correctly,""" start="00:11:16.160" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""and do all sorts of other wonderful things.""" start="00:11:19.360" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""and do all sorts of other wonderful things.""" start="00:11:19.580" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""One of our evil plans with EmacsConf""" start="00:11:21.840" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""is to get cool stuff out of people's heads into videos""" start="00:11:24.400" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""and also make captions so that those videos can be searched.""" start="00:11:28.360" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""To make that possible, we first need a backstage area""" start="00:11:31.800" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""To make that possible, we first need a backstage area""" start="00:11:32.040" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""where volunteers can get the files.""" start="00:11:35.000" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""This is just a simple password-protected directory""" start="00:11:36.640" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""This is just a simple password-protected directory""" start="00:11:36.920" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""with a static HTML page that lists the talks by status""" start="00:11:39.840" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""and shows the files related to each talk.""" start="00:11:43.560" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""As a talk moves through the process, I update its TODO state""" start="00:11:46.120" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""and republish this index.""" start="00:11:49.600" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""and shows the files related to each talk.""" start="00:11:43.740" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""As a talk moves through the process, I update its TODO state""" start="00:11:46.380" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""and republish this index.""" start="00:11:49.900" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""Talks that are ready to be captioned show up in that section,""" start="00:11:51.360" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""and volunteers can call dibs on the talk they're interested in.""" start="00:11:54.520" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""That's all done with a function that formats the information""" start="00:11:57.680" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""and uses TRAMP to save the file directly to the server.""" start="00:12:00.800" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""You can find more details on our captioning process""" start="00:12:03.840" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""That's all done with a function that formats the information""" start="00:11:58.180" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""and uses TRAMP to save the file directly to the server.""" start="00:12:00.980" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""You can find more details on our captioning process""" start="00:12:04.320" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""at emacsconf.org/captioning.""" start="00:12:06.680" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""I like using subed to edit subtitles within Emacs.""" start="00:12:09.040" video="mainVideo-emacsconf" id="subtitle"]] -[[!template new="1" text="""Let's talk about actually playing the talks.""" start="00:12:12.520" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""For EmacsConf 2022, we tried using Emacs timers""" start="00:12:15.400" video="mainVideo-emacsconf" id="subtitle"]] +[[!template new="1" text="""Let's talk about actually playing the talks.""" start="00:12:13.220" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""For EmacsConf 2022, we tried using Emacs timers""" start="00:12:16.060" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""to run the talks.""" start="00:12:19.560" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""It turns out that you can't call TRAMP from a timer""" start="00:12:20.520" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""It turns out that you can't call TRAMP from a timer""" start="00:12:20.940" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""when you're already using TRAMP from another timer""" start="00:12:24.080" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""at the same time.""" start="00:12:26.720" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""I thought about just tweaking the schedule""" start="00:12:27.440" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""I thought about just tweaking the schedule""" start="00:12:27.800" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""so that we always start things at different times,""" start="00:12:29.720" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""but I figured there's probably a more elegant way to do this.""" start="00:12:31.800" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""This year, I'm planning to experiment with using cron""" start="00:12:34.800" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""This year, I'm planning to experiment with using cron""" start="00:12:35.120" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""to start talks on autopilot.""" start="00:12:37.520" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""The shell scripts will take care of playing the videos...""" start="00:12:38.960" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""... figuring out the appropriate Q&A...""" start="00:12:42.120" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""... and joining the web conference if needed.""" start="00:12:44.400" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""We just need to format the information...""" start="00:12:47.120" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""The shell scripts will take care of playing the videos...""" start="00:12:39.600" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""... figuring out the appropriate Q&A...""" start="00:12:42.480" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""... and joining the web conference if needed.""" start="00:12:44.840" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""We just need to format the information...""" start="00:12:47.580" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""...and install it as the track's crontab.""" start="00:12:49.600" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""It's useful to be able to switch tracks""" start="00:12:51.760" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""It's useful to be able to switch tracks""" start="00:12:52.220" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""to manual mode independently,""" start="00:12:54.080" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""just in case things go haywire.""" start="00:12:55.600" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""Then we can start everything manually.""" start="00:12:57.680" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""I can also manually update a talk's status,""" start="00:12:59.720" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""like when the host tells me that it's okay to open up the Q&A.""" start="00:13:02.360" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""The shell scripts we run from the crontab""" start="00:13:05.920" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""just in case things go haywire.""" start="00:12:55.880" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""Then we can start everything manually.""" start="00:12:57.900" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""I can also manually update a talk's status,""" start="00:13:00.120" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""like when the host tells me that it's okay to open up the Q&A.""" start="00:13:02.800" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""The shell scripts we run from the crontab""" start="00:13:06.520" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""can also update the talk status themselves.""" start="00:13:08.720" video="mainVideo-emacsconf" id="subtitle"]] -[[!template new="1" text="""Then a bunch of things happen automatically based on""" start="00:13:10.840" video="mainVideo-emacsconf" id="subtitle"]] +[[!template new="1" text="""Then a bunch of things automatically happen based on""" start="00:13:11.280" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""the talk status changes.""" start="00:13:14.320" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""This uses org-after-todo-state-change-hook.""" start="00:13:15.600" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""This uses `org-after-todo-state-change-hook`.""" start="00:13:15.600" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""We get the talk information""" start="00:13:18.960" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""and pass it to a list of functions.""" start="00:13:20.360" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""Internet Relay Chat or IRC is an easy way for people""" start="00:13:21.960" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""Internet Relay Chat or IRC is an easy way for people""" start="00:13:22.520" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""to join the conversation around EmacsConf.""" start="00:13:26.280" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""We announce a talk whenever it changes state.""" start="00:13:28.720" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""For example, when a talk starts,""" start="00:13:31.240" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""We announce a talk whenever it changes state.""" start="00:13:29.140" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""For example, when a talk starts,""" start="00:13:31.800" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""we post the URLs to the talk webpage""" start="00:13:33.600" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""and the Etherpad for questions. We change the topic as well,""" start="00:13:36.040" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""so anyone can see the current talk's information""" start="00:13:39.440" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""even if they're a little late.""" start="00:13:41.880" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""This is easy to do with a little bit of Emacs Lisp""" start="00:13:43.040" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""This is easy to do with a little bit of Emacs Lisp""" start="00:13:43.180" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""because (of course!) Emacs has an IRC client.""" start="00:13:45.800" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""In fact, it has several.""" start="00:13:48.520" video="mainVideo-emacsconf" id="subtitle"]] -[[!template new="1" text="""It seems like a lot of automation and Emacs Lisp,""" start="00:13:49.640" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""but really, all of this was just built up little by little.""" start="00:13:52.800" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""And tinkering with this is *fun*, you know?""" start="00:13:56.440" video="mainVideo-emacsconf" id="subtitle"]] +[[!template new="1" text="""It seems like a lot of automation and Emacs Lisp,""" start="00:13:49.880" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""but really, all of this was just built up little by little.""" start="00:13:53.140" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""And tinkering with this is *fun*, you know?""" start="00:13:56.900" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""It's like always being able to ask,""" start="00:13:59.280" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text=""""Hey, wouldn't it be cool if..."""" start="00:14:00.680" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""and then actually being able to go and do it.""" start="00:14:02.160" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text=""""Hey, wouldn't it be cool if..."""" start="00:14:01.260" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""and then actually being able to go and do it.""" start="00:14:03.301" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""Sometimes it feels like EmacsConf is an excuse""" start="00:14:05.280" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""for me to play with Emacs.""" start="00:14:08.000" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""It's pretty amazing what you can do""" start="00:14:09.360" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""It's pretty amazing what you can do""" start="00:14:10.200" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""by combining a bunch of pieces.""" start="00:14:12.000" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""A way to store slightly-structured information.""" start="00:14:13.800" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""A way to get it out again. Templates.""" start="00:14:16.720" video="mainVideo-emacsconf" id="subtitle"]] @@ -344,13 +342,13 @@ [[!template text="""An email client. A chat client.""" start="00:14:25.400" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""You can smoosh them all together""" start="00:14:27.760" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""in a way that you couldn't if they were all separate things.""" start="00:14:29.640" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""The code is in the emacsconf-el repository.""" start="00:14:32.320" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""It's a bit of a tangle because it's accumulating organically""" start="00:14:35.880" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""The code is in the emacsconf-el repository.""" start="00:14:32.700" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""It's a bit of a tangle because it's accumulating organically""" start="00:14:36.280" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""and I haven't really had the brainspace""" start="00:14:39.120" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""to step back and clean it up.""" start="00:14:40.880" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""But if you spotted anything interesting in this presentation,""" start="00:14:42.360" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""you can go check it out and see what you can scavenge.""" start="00:14:45.520" video="mainVideo-emacsconf" id="subtitle"]] -[[!template text="""The link and this presentation are available""" start="00:14:48.280" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""But if you spotted anything interesting in this presentation,""" start="00:14:42.580" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""you can go check it out and see what you can scavenge.""" start="00:14:45.920" video="mainVideo-emacsconf" id="subtitle"]] +[[!template text="""The link and this presentation are available""" start="00:14:48.620" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""from this talk's webpage at emacsconf.org/2023/talks/emacsconf .""" start="00:14:51.000" video="mainVideo-emacsconf" id="subtitle"]] [[!template text="""Let's figure out how to make Emacsconf even awesomer next year!""" start="00:14:59.120" video="mainVideo-emacsconf" id="subtitle"]] diff --git a/2023/info/emacsconf-before.md b/2023/info/emacsconf-before.md index 501be31b..10a91134 100644 --- a/2023/info/emacsconf-before.md +++ b/2023/info/emacsconf-before.md @@ -7,7 +7,7 @@ The following image shows where the talk is in the schedule for Sat 2023-12-02. [[!toc ]] Format: 16-min talk; Q&A: BigBlueButton conference room Discuss on IRC: [#emacsconf](https://chat.emacsconf.org/?join=emacsconf) -Status: Quality check +Status: Ready to stream
Times in different timezones:
Saturday, Dec 2 2023, ~3:45 PM - 4:05 PM EST (US/Eastern)
which is the same as:
Saturday, Dec 2 2023, ~2:45 PM - 3:05 PM CST (US/Central)
Saturday, Dec 2 2023, ~1:45 PM - 2:05 PM MST (US/Mountain)
Saturday, Dec 2 2023, ~12:45 PM - 1:05 PM PST (US/Pacific)
Saturday, Dec 2 2023, ~8:45 PM - 9:05 PM UTC
Saturday, Dec 2 2023, ~9:45 PM - 10:05 PM CET (Europe/Paris)
Saturday, Dec 2 2023, ~10:45 PM - 11:05 PM EET (Europe/Athens)
Sunday, Dec 3 2023, ~2:15 AM - 2:35 AM IST (Asia/Kolkata)
Sunday, Dec 3 2023, ~4:45 AM - 5:05 AM +08 (Asia/Singapore)
Sunday, Dec 3 2023, ~5:45 AM - 6:05 AM JST (Asia/Tokyo)
Find out how to watch and participate
@@ -19,18 +19,18 @@ Status: Quality check 01:09.400 Information 02:09.160 Properties 03:53.120 Timezones -04:29.120 Scheduling -05:42.360 Templates -06:48.120 Wiki -08:03.960 Etherpad -08:27.680 E-mail -09:05.480 BigBlueButton web conferences -10:07.760 Shortcuts -10:36.200 Logbook -11:03.320 Captions -12:12.520 Crontabs and playing the talks -13:10.840 Transitions -13:49.640 Wrapping up +04:29.720 Scheduling +05:41.780 Templates +06:48.400 Wiki +08:04.380 Etherpad +08:28.200 E-mail +09:05.920 BigBlueButton web conferences +10:08.121 Shortcuts +10:36.700 Logbook +11:03.680 Captions +12:13.220 Crontabs and playing the talks +13:11.280 Transitions +13:49.880 Wrapping up """]]
Duration: 15:05 minutes # Description diff --git a/2023/info/emacsen-before.md b/2023/info/emacsen-before.md index f9e0649d..08f7117e 100644 --- a/2023/info/emacsen-before.md +++ b/2023/info/emacsen-before.md @@ -1,7 +1,7 @@ The following image shows where the talk is in the schedule for Sun 2023-12-03. Solid lines show talks with Q&A via BigBlueButton. Dashed lines show talks with Q&A via IRC or Etherpad.
- Schedule for Sunday Sunday 9:00- 9:05 Sunday opening remarks sun-open 9:05- 9:25 Top 10 ways Hyperbole amps up Emacs hyperamp 9:40-10:00 Using Koutline for stream of thought journaling koutline 10:10-10:20 Parallel text replacement parallel 10:35-10:45 Eat and Eat powered Eshell, fast featureful terminal inside Emacs eat 11:00-11:20 The browser in a buffer poltys 11:35-11:55 Speedcubing in Emacs cubing 1:00- 1:40 Emacs MultiMedia System (EMMS) emms 1:55- 2:25 Programming with steno steno 2:35- 2:45 Mentoring VS-Coders as an Emacsian (or How to show not tell people about the wonders of Emacs) mentor 3:10- 3:40 Emacs saves the Web (maybe) web 3:55- 4:15 Sharing Emacs is Caring Emacs: Emacs education and why I embraced video sharing 4:30- 4:40 Sunday closing remarks sun-close 10:00-10:20 Bringing joy to Scheme programming scheme 10:35-10:55 GNU Emacs: A World of Possibilities world 11:10-11:20 A modern Emacs look-and-feel without pain flat 11:35-11:55 The Emacsen family, the design of an Emacs and the importance of Lisp emacsen 1:00- 1:20 emacs-gc-stats: Does garbage collection actually slow down Emacs? gc 1:35- 2:15 hyperdrive.el: Peer-to-peer filesystem in Emacs hyperdrive 2:30- 2:45 Writing a language server in OCaml for Emacs, fun, and profit lspocaml 3:00- 3:30 What I learned by writing test cases for GNU Hyperbole test 3:45- 4:25 Windows into Freedom windows 9 AM 10 AM 11 AM 12 PM 1 PM 2 PM 3 PM 4 PM 5 PM + Schedule for Sunday Sunday 8:59- 9:05 Sunday opening remarks sun-open 9:05- 9:25 Top 10 ways Hyperbole amps up Emacs hyperamp 9:40-10:00 Using Koutline for stream of thought journaling koutline 10:10-10:20 Parallel text replacement parallel 10:35-10:45 Eat and Eat powered Eshell, fast featureful terminal inside Emacs eat 11:00-11:20 The browser in a buffer poltys 11:35-11:55 Speedcubing in Emacs cubing 1:00- 1:40 Emacs MultiMedia System (EMMS) emms 1:55- 2:25 Programming with steno steno 2:35- 2:45 Mentoring VS-Coders as an Emacsian (or How to show not tell people about the wonders of Emacs) mentor 3:10- 3:40 Emacs saves the Web (maybe) web 3:55- 4:15 Sharing Emacs is Caring Emacs: Emacs education and why I embraced video sharing 4:30- 4:40 Sunday closing remarks sun-close 10:00-10:20 Bringing joy to Scheme programming scheme 10:35-10:55 GNU Emacs: A World of Possibilities world 11:10-11:20 A modern Emacs look-and-feel without pain flat 11:35-11:55 The Emacsen family, the design of an Emacs and the importance of Lisp emacsen 1:00- 1:20 emacs-gc-stats: Does garbage collection actually slow down Emacs? gc 1:35- 2:15 hyperdrive.el: Peer-to-peer filesystem in Emacs hyperdrive 2:30- 2:45 Writing a language server in OCaml for Emacs, fun, and profit lspocaml 3:00- 3:30 What I learned by writing test cases for GNU Hyperbole test 3:45- 4:25 Windows into Freedom windows 9 AM 10 AM 11 AM 12 PM 1 PM 2 PM 3 PM 4 PM 5 PM
[[!toc ]] diff --git a/2023/info/emms-before.md b/2023/info/emms-before.md index 05f6882f..100eda80 100644 --- a/2023/info/emms-before.md +++ b/2023/info/emms-before.md @@ -1,7 +1,7 @@ The following image shows where the talk is in the schedule for Sun 2023-12-03. Solid lines show talks with Q&A via BigBlueButton. Dashed lines show talks with Q&A via IRC or Etherpad.
- Schedule for Sunday Sunday 9:00- 9:05 Sunday opening remarks sun-open 9:05- 9:25 Top 10 ways Hyperbole amps up Emacs hyperamp 9:40-10:00 Using Koutline for stream of thought journaling koutline 10:10-10:20 Parallel text replacement parallel 10:35-10:45 Eat and Eat powered Eshell, fast featureful terminal inside Emacs eat 11:00-11:20 The browser in a buffer poltys 11:35-11:55 Speedcubing in Emacs cubing 1:00- 1:40 Emacs MultiMedia System (EMMS) emms 1:55- 2:25 Programming with steno steno 2:35- 2:45 Mentoring VS-Coders as an Emacsian (or How to show not tell people about the wonders of Emacs) mentor 3:10- 3:40 Emacs saves the Web (maybe) web 3:55- 4:15 Sharing Emacs is Caring Emacs: Emacs education and why I embraced video sharing 4:30- 4:40 Sunday closing remarks sun-close 10:00-10:20 Bringing joy to Scheme programming scheme 10:35-10:55 GNU Emacs: A World of Possibilities world 11:10-11:20 A modern Emacs look-and-feel without pain flat 11:35-11:55 The Emacsen family, the design of an Emacs and the importance of Lisp emacsen 1:00- 1:20 emacs-gc-stats: Does garbage collection actually slow down Emacs? gc 1:35- 2:15 hyperdrive.el: Peer-to-peer filesystem in Emacs hyperdrive 2:30- 2:45 Writing a language server in OCaml for Emacs, fun, and profit lspocaml 3:00- 3:30 What I learned by writing test cases for GNU Hyperbole test 3:45- 4:25 Windows into Freedom windows 9 AM 10 AM 11 AM 12 PM 1 PM 2 PM 3 PM 4 PM 5 PM + Schedule for Sunday Sunday 8:59- 9:05 Sunday opening remarks sun-open 9:05- 9:25 Top 10 ways Hyperbole amps up Emacs hyperamp 9:40-10:00 Using Koutline for stream of thought journaling koutline 10:10-10:20 Parallel text replacement parallel 10:35-10:45 Eat and Eat powered Eshell, fast featureful terminal inside Emacs eat 11:00-11:20 The browser in a buffer poltys 11:35-11:55 Speedcubing in Emacs cubing 1:00- 1:40 Emacs MultiMedia System (EMMS) emms 1:55- 2:25 Programming with steno steno 2:35- 2:45 Mentoring VS-Coders as an Emacsian (or How to show not tell people about the wonders of Emacs) mentor 3:10- 3:40 Emacs saves the Web (maybe) web 3:55- 4:15 Sharing Emacs is Caring Emacs: Emacs education and why I embraced video sharing 4:30- 4:40 Sunday closing remarks sun-close 10:00-10:20 Bringing joy to Scheme programming scheme 10:35-10:55 GNU Emacs: A World of Possibilities world 11:10-11:20 A modern Emacs look-and-feel without pain flat 11:35-11:55 The Emacsen family, the design of an Emacs and the importance of Lisp emacsen 1:00- 1:20 emacs-gc-stats: Does garbage collection actually slow down Emacs? gc 1:35- 2:15 hyperdrive.el: Peer-to-peer filesystem in Emacs hyperdrive 2:30- 2:45 Writing a language server in OCaml for Emacs, fun, and profit lspocaml 3:00- 3:30 What I learned by writing test cases for GNU Hyperbole test 3:45- 4:25 Windows into Freedom windows 9 AM 10 AM 11 AM 12 PM 1 PM 2 PM 3 PM 4 PM 5 PM
[[!toc ]] diff --git a/2023/info/flat-before.md b/2023/info/flat-before.md index 95888eaf..855a6f0a 100644 --- a/2023/info/flat-before.md +++ b/2023/info/flat-before.md @@ -1,7 +1,7 @@ The following image shows where the talk is in the schedule for Sun 2023-12-03. Solid lines show talks with Q&A via BigBlueButton. Dashed lines show talks with Q&A via IRC or Etherpad.
- Schedule for Sunday Sunday 9:00- 9:05 Sunday opening remarks sun-open 9:05- 9:25 Top 10 ways Hyperbole amps up Emacs hyperamp 9:40-10:00 Using Koutline for stream of thought journaling koutline 10:10-10:20 Parallel text replacement parallel 10:35-10:45 Eat and Eat powered Eshell, fast featureful terminal inside Emacs eat 11:00-11:20 The browser in a buffer poltys 11:35-11:55 Speedcubing in Emacs cubing 1:00- 1:40 Emacs MultiMedia System (EMMS) emms 1:55- 2:25 Programming with steno steno 2:35- 2:45 Mentoring VS-Coders as an Emacsian (or How to show not tell people about the wonders of Emacs) mentor 3:10- 3:40 Emacs saves the Web (maybe) web 3:55- 4:15 Sharing Emacs is Caring Emacs: Emacs education and why I embraced video sharing 4:30- 4:40 Sunday closing remarks sun-close 10:00-10:20 Bringing joy to Scheme programming scheme 10:35-10:55 GNU Emacs: A World of Possibilities world 11:10-11:20 A modern Emacs look-and-feel without pain flat 11:35-11:55 The Emacsen family, the design of an Emacs and the importance of Lisp emacsen 1:00- 1:20 emacs-gc-stats: Does garbage collection actually slow down Emacs? gc 1:35- 2:15 hyperdrive.el: Peer-to-peer filesystem in Emacs hyperdrive 2:30- 2:45 Writing a language server in OCaml for Emacs, fun, and profit lspocaml 3:00- 3:30 What I learned by writing test cases for GNU Hyperbole test 3:45- 4:25 Windows into Freedom windows 9 AM 10 AM 11 AM 12 PM 1 PM 2 PM 3 PM 4 PM 5 PM + Schedule for Sunday Sunday 8:59- 9:05 Sunday opening remarks sun-open 9:05- 9:25 Top 10 ways Hyperbole amps up Emacs hyperamp 9:40-10:00 Using Koutline for stream of thought journaling koutline 10:10-10:20 Parallel text replacement parallel 10:35-10:45 Eat and Eat powered Eshell, fast featureful terminal inside Emacs eat 11:00-11:20 The browser in a buffer poltys 11:35-11:55 Speedcubing in Emacs cubing 1:00- 1:40 Emacs MultiMedia System (EMMS) emms 1:55- 2:25 Programming with steno steno 2:35- 2:45 Mentoring VS-Coders as an Emacsian (or How to show not tell people about the wonders of Emacs) mentor 3:10- 3:40 Emacs saves the Web (maybe) web 3:55- 4:15 Sharing Emacs is Caring Emacs: Emacs education and why I embraced video sharing 4:30- 4:40 Sunday closing remarks sun-close 10:00-10:20 Bringing joy to Scheme programming scheme 10:35-10:55 GNU Emacs: A World of Possibilities world 11:10-11:20 A modern Emacs look-and-feel without pain flat 11:35-11:55 The Emacsen family, the design of an Emacs and the importance of Lisp emacsen 1:00- 1:20 emacs-gc-stats: Does garbage collection actually slow down Emacs? gc 1:35- 2:15 hyperdrive.el: Peer-to-peer filesystem in Emacs hyperdrive 2:30- 2:45 Writing a language server in OCaml for Emacs, fun, and profit lspocaml 3:00- 3:30 What I learned by writing test cases for GNU Hyperbole test 3:45- 4:25 Windows into Freedom windows 9 AM 10 AM 11 AM 12 PM 1 PM 2 PM 3 PM 4 PM 5 PM
[[!toc ]] diff --git a/2023/info/gc-before.md b/2023/info/gc-before.md index 294f1ff6..f787655f 100644 --- a/2023/info/gc-before.md +++ b/2023/info/gc-before.md @@ -1,7 +1,7 @@ The following image shows where the talk is in the schedule for Sun 2023-12-03. Solid lines show talks with Q&A via BigBlueButton. Dashed lines show talks with Q&A via IRC or Etherpad.
- Schedule for Sunday Sunday 9:00- 9:05 Sunday opening remarks sun-open 9:05- 9:25 Top 10 ways Hyperbole amps up Emacs hyperamp 9:40-10:00 Using Koutline for stream of thought journaling koutline 10:10-10:20 Parallel text replacement parallel 10:35-10:45 Eat and Eat powered Eshell, fast featureful terminal inside Emacs eat 11:00-11:20 The browser in a buffer poltys 11:35-11:55 Speedcubing in Emacs cubing 1:00- 1:40 Emacs MultiMedia System (EMMS) emms 1:55- 2:25 Programming with steno steno 2:35- 2:45 Mentoring VS-Coders as an Emacsian (or How to show not tell people about the wonders of Emacs) mentor 3:10- 3:40 Emacs saves the Web (maybe) web 3:55- 4:15 Sharing Emacs is Caring Emacs: Emacs education and why I embraced video sharing 4:30- 4:40 Sunday closing remarks sun-close 10:00-10:20 Bringing joy to Scheme programming scheme 10:35-10:55 GNU Emacs: A World of Possibilities world 11:10-11:20 A modern Emacs look-and-feel without pain flat 11:35-11:55 The Emacsen family, the design of an Emacs and the importance of Lisp emacsen 1:00- 1:20 emacs-gc-stats: Does garbage collection actually slow down Emacs? gc 1:35- 2:15 hyperdrive.el: Peer-to-peer filesystem in Emacs hyperdrive 2:30- 2:45 Writing a language server in OCaml for Emacs, fun, and profit lspocaml 3:00- 3:30 What I learned by writing test cases for GNU Hyperbole test 3:45- 4:25 Windows into Freedom windows 9 AM 10 AM 11 AM 12 PM 1 PM 2 PM 3 PM 4 PM 5 PM + Schedule for Sunday Sunday 8:59- 9:05 Sunday opening remarks sun-open 9:05- 9:25 Top 10 ways Hyperbole amps up Emacs hyperamp 9:40-10:00 Using Koutline for stream of thought journaling koutline 10:10-10:20 Parallel text replacement parallel 10:35-10:45 Eat and Eat powered Eshell, fast featureful terminal inside Emacs eat 11:00-11:20 The browser in a buffer poltys 11:35-11:55 Speedcubing in Emacs cubing 1:00- 1:40 Emacs MultiMedia System (EMMS) emms 1:55- 2:25 Programming with steno steno 2:35- 2:45 Mentoring VS-Coders as an Emacsian (or How to show not tell people about the wonders of Emacs) mentor 3:10- 3:40 Emacs saves the Web (maybe) web 3:55- 4:15 Sharing Emacs is Caring Emacs: Emacs education and why I embraced video sharing 4:30- 4:40 Sunday closing remarks sun-close 10:00-10:20 Bringing joy to Scheme programming scheme 10:35-10:55 GNU Emacs: A World of Possibilities world 11:10-11:20 A modern Emacs look-and-feel without pain flat 11:35-11:55 The Emacsen family, the design of an Emacs and the importance of Lisp emacsen 1:00- 1:20 emacs-gc-stats: Does garbage collection actually slow down Emacs? gc 1:35- 2:15 hyperdrive.el: Peer-to-peer filesystem in Emacs hyperdrive 2:30- 2:45 Writing a language server in OCaml for Emacs, fun, and profit lspocaml 3:00- 3:30 What I learned by writing test cases for GNU Hyperbole test 3:45- 4:25 Windows into Freedom windows 9 AM 10 AM 11 AM 12 PM 1 PM 2 PM 3 PM 4 PM 5 PM
[[!toc ]] diff --git a/2023/info/hyperamp-before.md b/2023/info/hyperamp-before.md index 082400e7..393b7f08 100644 --- a/2023/info/hyperamp-before.md +++ b/2023/info/hyperamp-before.md @@ -1,7 +1,7 @@ The following image shows where the talk is in the schedule for Sun 2023-12-03. Solid lines show talks with Q&A via BigBlueButton. Dashed lines show talks with Q&A via IRC or Etherpad.
- Schedule for Sunday Sunday 9:00- 9:05 Sunday opening remarks sun-open 9:05- 9:25 Top 10 ways Hyperbole amps up Emacs hyperamp 9:40-10:00 Using Koutline for stream of thought journaling koutline 10:10-10:20 Parallel text replacement parallel 10:35-10:45 Eat and Eat powered Eshell, fast featureful terminal inside Emacs eat 11:00-11:20 The browser in a buffer poltys 11:35-11:55 Speedcubing in Emacs cubing 1:00- 1:40 Emacs MultiMedia System (EMMS) emms 1:55- 2:25 Programming with steno steno 2:35- 2:45 Mentoring VS-Coders as an Emacsian (or How to show not tell people about the wonders of Emacs) mentor 3:10- 3:40 Emacs saves the Web (maybe) web 3:55- 4:15 Sharing Emacs is Caring Emacs: Emacs education and why I embraced video sharing 4:30- 4:40 Sunday closing remarks sun-close 10:00-10:20 Bringing joy to Scheme programming scheme 10:35-10:55 GNU Emacs: A World of Possibilities world 11:10-11:20 A modern Emacs look-and-feel without pain flat 11:35-11:55 The Emacsen family, the design of an Emacs and the importance of Lisp emacsen 1:00- 1:20 emacs-gc-stats: Does garbage collection actually slow down Emacs? gc 1:35- 2:15 hyperdrive.el: Peer-to-peer filesystem in Emacs hyperdrive 2:30- 2:45 Writing a language server in OCaml for Emacs, fun, and profit lspocaml 3:00- 3:30 What I learned by writing test cases for GNU Hyperbole test 3:45- 4:25 Windows into Freedom windows 9 AM 10 AM 11 AM 12 PM 1 PM 2 PM 3 PM 4 PM 5 PM + Schedule for Sunday Sunday 8:59- 9:05 Sunday opening remarks sun-open 9:05- 9:25 Top 10 ways Hyperbole amps up Emacs hyperamp 9:40-10:00 Using Koutline for stream of thought journaling koutline 10:10-10:20 Parallel text replacement parallel 10:35-10:45 Eat and Eat powered Eshell, fast featureful terminal inside Emacs eat 11:00-11:20 The browser in a buffer poltys 11:35-11:55 Speedcubing in Emacs cubing 1:00- 1:40 Emacs MultiMedia System (EMMS) emms 1:55- 2:25 Programming with steno steno 2:35- 2:45 Mentoring VS-Coders as an Emacsian (or How to show not tell people about the wonders of Emacs) mentor 3:10- 3:40 Emacs saves the Web (maybe) web 3:55- 4:15 Sharing Emacs is Caring Emacs: Emacs education and why I embraced video sharing 4:30- 4:40 Sunday closing remarks sun-close 10:00-10:20 Bringing joy to Scheme programming scheme 10:35-10:55 GNU Emacs: A World of Possibilities world 11:10-11:20 A modern Emacs look-and-feel without pain flat 11:35-11:55 The Emacsen family, the design of an Emacs and the importance of Lisp emacsen 1:00- 1:20 emacs-gc-stats: Does garbage collection actually slow down Emacs? gc 1:35- 2:15 hyperdrive.el: Peer-to-peer filesystem in Emacs hyperdrive 2:30- 2:45 Writing a language server in OCaml for Emacs, fun, and profit lspocaml 3:00- 3:30 What I learned by writing test cases for GNU Hyperbole test 3:45- 4:25 Windows into Freedom windows 9 AM 10 AM 11 AM 12 PM 1 PM 2 PM 3 PM 4 PM 5 PM
[[!toc ]] diff --git a/2023/info/hyperdrive-before.md b/2023/info/hyperdrive-before.md index 9ece7c72..34cf3753 100644 --- a/2023/info/hyperdrive-before.md +++ b/2023/info/hyperdrive-before.md @@ -3,13 +3,13 @@ Actually a general-audience talk; just on the development track for scheduling p The following image shows where the talk is in the schedule for Sun 2023-12-03. Solid lines show talks with Q&A via BigBlueButton. Dashed lines show talks with Q&A via IRC or Etherpad.
- Schedule for Sunday Sunday 9:00- 9:05 Sunday opening remarks sun-open 9:05- 9:25 Top 10 ways Hyperbole amps up Emacs hyperamp 9:40-10:00 Using Koutline for stream of thought journaling koutline 10:10-10:20 Parallel text replacement parallel 10:35-10:45 Eat and Eat powered Eshell, fast featureful terminal inside Emacs eat 11:00-11:20 The browser in a buffer poltys 11:35-11:55 Speedcubing in Emacs cubing 1:00- 1:40 Emacs MultiMedia System (EMMS) emms 1:55- 2:25 Programming with steno steno 2:35- 2:45 Mentoring VS-Coders as an Emacsian (or How to show not tell people about the wonders of Emacs) mentor 3:10- 3:40 Emacs saves the Web (maybe) web 3:55- 4:15 Sharing Emacs is Caring Emacs: Emacs education and why I embraced video sharing 4:30- 4:40 Sunday closing remarks sun-close 10:00-10:20 Bringing joy to Scheme programming scheme 10:35-10:55 GNU Emacs: A World of Possibilities world 11:10-11:20 A modern Emacs look-and-feel without pain flat 11:35-11:55 The Emacsen family, the design of an Emacs and the importance of Lisp emacsen 1:00- 1:20 emacs-gc-stats: Does garbage collection actually slow down Emacs? gc 1:35- 2:15 hyperdrive.el: Peer-to-peer filesystem in Emacs hyperdrive 2:30- 2:45 Writing a language server in OCaml for Emacs, fun, and profit lspocaml 3:00- 3:30 What I learned by writing test cases for GNU Hyperbole test 3:45- 4:25 Windows into Freedom windows 9 AM 10 AM 11 AM 12 PM 1 PM 2 PM 3 PM 4 PM 5 PM + Schedule for Sunday Sunday 8:59- 9:05 Sunday opening remarks sun-open 9:05- 9:25 Top 10 ways Hyperbole amps up Emacs hyperamp 9:40-10:00 Using Koutline for stream of thought journaling koutline 10:10-10:20 Parallel text replacement parallel 10:35-10:45 Eat and Eat powered Eshell, fast featureful terminal inside Emacs eat 11:00-11:20 The browser in a buffer poltys 11:35-11:55 Speedcubing in Emacs cubing 1:00- 1:40 Emacs MultiMedia System (EMMS) emms 1:55- 2:25 Programming with steno steno 2:35- 2:45 Mentoring VS-Coders as an Emacsian (or How to show not tell people about the wonders of Emacs) mentor 3:10- 3:40 Emacs saves the Web (maybe) web 3:55- 4:15 Sharing Emacs is Caring Emacs: Emacs education and why I embraced video sharing 4:30- 4:40 Sunday closing remarks sun-close 10:00-10:20 Bringing joy to Scheme programming scheme 10:35-10:55 GNU Emacs: A World of Possibilities world 11:10-11:20 A modern Emacs look-and-feel without pain flat 11:35-11:55 The Emacsen family, the design of an Emacs and the importance of Lisp emacsen 1:00- 1:20 emacs-gc-stats: Does garbage collection actually slow down Emacs? gc 1:35- 2:15 hyperdrive.el: Peer-to-peer filesystem in Emacs hyperdrive 2:30- 2:45 Writing a language server in OCaml for Emacs, fun, and profit lspocaml 3:00- 3:30 What I learned by writing test cases for GNU Hyperbole test 3:45- 4:25 Windows into Freedom windows 9 AM 10 AM 11 AM 12 PM 1 PM 2 PM 3 PM 4 PM 5 PM
[[!toc ]] Format: 41-min talk; Q&A: BigBlueButton conference room Discuss on IRC: [#emacsconf](https://chat.emacsconf.org/?join=emacsconf) -Status: Quality check +Status: Ready to stream
Times in different timezones:
Sunday, Dec 3 2023, ~1:35 PM - 2:15 PM EST (US/Eastern)
which is the same as:
Sunday, Dec 3 2023, ~12:35 PM - 1:15 PM CST (US/Central)
Sunday, Dec 3 2023, ~11:35 AM - 12:15 PM MST (US/Mountain)
Sunday, Dec 3 2023, ~10:35 AM - 11:15 AM PST (US/Pacific)
Sunday, Dec 3 2023, ~6:35 PM - 7:15 PM UTC
Sunday, Dec 3 2023, ~7:35 PM - 8:15 PM CET (Europe/Paris)
Sunday, Dec 3 2023, ~8:35 PM - 9:15 PM EET (Europe/Athens)
Monday, Dec 4 2023, ~12:05 AM - 12:45 AM IST (Asia/Kolkata)
Monday, Dec 4 2023, ~2:35 AM - 3:15 AM +08 (Asia/Singapore)
Monday, Dec 4 2023, ~3:35 AM - 4:15 AM JST (Asia/Tokyo)
Find out how to watch and participate
diff --git a/2023/info/koutline-before.md b/2023/info/koutline-before.md index 7822d40c..cf1b3364 100644 --- a/2023/info/koutline-before.md +++ b/2023/info/koutline-before.md @@ -1,7 +1,7 @@ The following image shows where the talk is in the schedule for Sun 2023-12-03. Solid lines show talks with Q&A via BigBlueButton. Dashed lines show talks with Q&A via IRC or Etherpad.
- Schedule for Sunday Sunday 9:00- 9:05 Sunday opening remarks sun-open 9:05- 9:25 Top 10 ways Hyperbole amps up Emacs hyperamp 9:40-10:00 Using Koutline for stream of thought journaling koutline 10:10-10:20 Parallel text replacement parallel 10:35-10:45 Eat and Eat powered Eshell, fast featureful terminal inside Emacs eat 11:00-11:20 The browser in a buffer poltys 11:35-11:55 Speedcubing in Emacs cubing 1:00- 1:40 Emacs MultiMedia System (EMMS) emms 1:55- 2:25 Programming with steno steno 2:35- 2:45 Mentoring VS-Coders as an Emacsian (or How to show not tell people about the wonders of Emacs) mentor 3:10- 3:40 Emacs saves the Web (maybe) web 3:55- 4:15 Sharing Emacs is Caring Emacs: Emacs education and why I embraced video sharing 4:30- 4:40 Sunday closing remarks sun-close 10:00-10:20 Bringing joy to Scheme programming scheme 10:35-10:55 GNU Emacs: A World of Possibilities world 11:10-11:20 A modern Emacs look-and-feel without pain flat 11:35-11:55 The Emacsen family, the design of an Emacs and the importance of Lisp emacsen 1:00- 1:20 emacs-gc-stats: Does garbage collection actually slow down Emacs? gc 1:35- 2:15 hyperdrive.el: Peer-to-peer filesystem in Emacs hyperdrive 2:30- 2:45 Writing a language server in OCaml for Emacs, fun, and profit lspocaml 3:00- 3:30 What I learned by writing test cases for GNU Hyperbole test 3:45- 4:25 Windows into Freedom windows 9 AM 10 AM 11 AM 12 PM 1 PM 2 PM 3 PM 4 PM 5 PM + Schedule for Sunday Sunday 8:59- 9:05 Sunday opening remarks sun-open 9:05- 9:25 Top 10 ways Hyperbole amps up Emacs hyperamp 9:40-10:00 Using Koutline for stream of thought journaling koutline 10:10-10:20 Parallel text replacement parallel 10:35-10:45 Eat and Eat powered Eshell, fast featureful terminal inside Emacs eat 11:00-11:20 The browser in a buffer poltys 11:35-11:55 Speedcubing in Emacs cubing 1:00- 1:40 Emacs MultiMedia System (EMMS) emms 1:55- 2:25 Programming with steno steno 2:35- 2:45 Mentoring VS-Coders as an Emacsian (or How to show not tell people about the wonders of Emacs) mentor 3:10- 3:40 Emacs saves the Web (maybe) web 3:55- 4:15 Sharing Emacs is Caring Emacs: Emacs education and why I embraced video sharing 4:30- 4:40 Sunday closing remarks sun-close 10:00-10:20 Bringing joy to Scheme programming scheme 10:35-10:55 GNU Emacs: A World of Possibilities world 11:10-11:20 A modern Emacs look-and-feel without pain flat 11:35-11:55 The Emacsen family, the design of an Emacs and the importance of Lisp emacsen 1:00- 1:20 emacs-gc-stats: Does garbage collection actually slow down Emacs? gc 1:35- 2:15 hyperdrive.el: Peer-to-peer filesystem in Emacs hyperdrive 2:30- 2:45 Writing a language server in OCaml for Emacs, fun, and profit lspocaml 3:00- 3:30 What I learned by writing test cases for GNU Hyperbole test 3:45- 4:25 Windows into Freedom windows 9 AM 10 AM 11 AM 12 PM 1 PM 2 PM 3 PM 4 PM 5 PM
[[!toc ]] diff --git a/2023/info/lspocaml-before.md b/2023/info/lspocaml-before.md index e38fc8d9..68f6107f 100644 --- a/2023/info/lspocaml-before.md +++ b/2023/info/lspocaml-before.md @@ -1,13 +1,13 @@ The following image shows where the talk is in the schedule for Sun 2023-12-03. Solid lines show talks with Q&A via BigBlueButton. Dashed lines show talks with Q&A via IRC or Etherpad.
- Schedule for Sunday Sunday 9:00- 9:05 Sunday opening remarks sun-open 9:05- 9:25 Top 10 ways Hyperbole amps up Emacs hyperamp 9:40-10:00 Using Koutline for stream of thought journaling koutline 10:10-10:20 Parallel text replacement parallel 10:35-10:45 Eat and Eat powered Eshell, fast featureful terminal inside Emacs eat 11:00-11:20 The browser in a buffer poltys 11:35-11:55 Speedcubing in Emacs cubing 1:00- 1:40 Emacs MultiMedia System (EMMS) emms 1:55- 2:25 Programming with steno steno 2:35- 2:45 Mentoring VS-Coders as an Emacsian (or How to show not tell people about the wonders of Emacs) mentor 3:10- 3:40 Emacs saves the Web (maybe) web 3:55- 4:15 Sharing Emacs is Caring Emacs: Emacs education and why I embraced video sharing 4:30- 4:40 Sunday closing remarks sun-close 10:00-10:20 Bringing joy to Scheme programming scheme 10:35-10:55 GNU Emacs: A World of Possibilities world 11:10-11:20 A modern Emacs look-and-feel without pain flat 11:35-11:55 The Emacsen family, the design of an Emacs and the importance of Lisp emacsen 1:00- 1:20 emacs-gc-stats: Does garbage collection actually slow down Emacs? gc 1:35- 2:15 hyperdrive.el: Peer-to-peer filesystem in Emacs hyperdrive 2:30- 2:45 Writing a language server in OCaml for Emacs, fun, and profit lspocaml 3:00- 3:30 What I learned by writing test cases for GNU Hyperbole test 3:45- 4:25 Windows into Freedom windows 9 AM 10 AM 11 AM 12 PM 1 PM 2 PM 3 PM 4 PM 5 PM + Schedule for Sunday Sunday 8:59- 9:05 Sunday opening remarks sun-open 9:05- 9:25 Top 10 ways Hyperbole amps up Emacs hyperamp 9:40-10:00 Using Koutline for stream of thought journaling koutline 10:10-10:20 Parallel text replacement parallel 10:35-10:45 Eat and Eat powered Eshell, fast featureful terminal inside Emacs eat 11:00-11:20 The browser in a buffer poltys 11:35-11:55 Speedcubing in Emacs cubing 1:00- 1:40 Emacs MultiMedia System (EMMS) emms 1:55- 2:25 Programming with steno steno 2:35- 2:45 Mentoring VS-Coders as an Emacsian (or How to show not tell people about the wonders of Emacs) mentor 3:10- 3:40 Emacs saves the Web (maybe) web 3:55- 4:15 Sharing Emacs is Caring Emacs: Emacs education and why I embraced video sharing 4:30- 4:40 Sunday closing remarks sun-close 10:00-10:20 Bringing joy to Scheme programming scheme 10:35-10:55 GNU Emacs: A World of Possibilities world 11:10-11:20 A modern Emacs look-and-feel without pain flat 11:35-11:55 The Emacsen family, the design of an Emacs and the importance of Lisp emacsen 1:00- 1:20 emacs-gc-stats: Does garbage collection actually slow down Emacs? gc 1:35- 2:15 hyperdrive.el: Peer-to-peer filesystem in Emacs hyperdrive 2:30- 2:45 Writing a language server in OCaml for Emacs, fun, and profit lspocaml 3:00- 3:30 What I learned by writing test cases for GNU Hyperbole test 3:45- 4:25 Windows into Freedom windows 9 AM 10 AM 11 AM 12 PM 1 PM 2 PM 3 PM 4 PM 5 PM
[[!toc ]] Format: 17-min talk; Q&A: BigBlueButton conference room Discuss on IRC: [#emacsconf](https://chat.emacsconf.org/?join=emacsconf) -Status: Processing uploaded video +Status: Ready to stream
Times in different timezones:
Sunday, Dec 3 2023, ~2:30 PM - 2:45 PM EST (US/Eastern)
which is the same as:
Sunday, Dec 3 2023, ~1:30 PM - 1:45 PM CST (US/Central)
Sunday, Dec 3 2023, ~12:30 PM - 12:45 PM MST (US/Mountain)
Sunday, Dec 3 2023, ~11:30 AM - 11:45 AM PST (US/Pacific)
Sunday, Dec 3 2023, ~7:30 PM - 7:45 PM UTC
Sunday, Dec 3 2023, ~8:30 PM - 8:45 PM CET (Europe/Paris)
Sunday, Dec 3 2023, ~9:30 PM - 9:45 PM EET (Europe/Athens)
Monday, Dec 4 2023, ~1:00 AM - 1:15 AM IST (Asia/Kolkata)
Monday, Dec 4 2023, ~3:30 AM - 3:45 AM +08 (Asia/Singapore)
Monday, Dec 4 2023, ~4:30 AM - 4:45 AM JST (Asia/Tokyo)
Find out how to watch and participate
diff --git a/2023/info/mentor-before.md b/2023/info/mentor-before.md index a1156fac..7b6fdb89 100644 --- a/2023/info/mentor-before.md +++ b/2023/info/mentor-before.md @@ -1,7 +1,7 @@ The following image shows where the talk is in the schedule for Sun 2023-12-03. Solid lines show talks with Q&A via BigBlueButton. Dashed lines show talks with Q&A via IRC or Etherpad.
- Schedule for Sunday Sunday 9:00- 9:05 Sunday opening remarks sun-open 9:05- 9:25 Top 10 ways Hyperbole amps up Emacs hyperamp 9:40-10:00 Using Koutline for stream of thought journaling koutline 10:10-10:20 Parallel text replacement parallel 10:35-10:45 Eat and Eat powered Eshell, fast featureful terminal inside Emacs eat 11:00-11:20 The browser in a buffer poltys 11:35-11:55 Speedcubing in Emacs cubing 1:00- 1:40 Emacs MultiMedia System (EMMS) emms 1:55- 2:25 Programming with steno steno 2:35- 2:45 Mentoring VS-Coders as an Emacsian (or How to show not tell people about the wonders of Emacs) mentor 3:10- 3:40 Emacs saves the Web (maybe) web 3:55- 4:15 Sharing Emacs is Caring Emacs: Emacs education and why I embraced video sharing 4:30- 4:40 Sunday closing remarks sun-close 10:00-10:20 Bringing joy to Scheme programming scheme 10:35-10:55 GNU Emacs: A World of Possibilities world 11:10-11:20 A modern Emacs look-and-feel without pain flat 11:35-11:55 The Emacsen family, the design of an Emacs and the importance of Lisp emacsen 1:00- 1:20 emacs-gc-stats: Does garbage collection actually slow down Emacs? gc 1:35- 2:15 hyperdrive.el: Peer-to-peer filesystem in Emacs hyperdrive 2:30- 2:45 Writing a language server in OCaml for Emacs, fun, and profit lspocaml 3:00- 3:30 What I learned by writing test cases for GNU Hyperbole test 3:45- 4:25 Windows into Freedom windows 9 AM 10 AM 11 AM 12 PM 1 PM 2 PM 3 PM 4 PM 5 PM + Schedule for Sunday Sunday 8:59- 9:05 Sunday opening remarks sun-open 9:05- 9:25 Top 10 ways Hyperbole amps up Emacs hyperamp 9:40-10:00 Using Koutline for stream of thought journaling koutline 10:10-10:20 Parallel text replacement parallel 10:35-10:45 Eat and Eat powered Eshell, fast featureful terminal inside Emacs eat 11:00-11:20 The browser in a buffer poltys 11:35-11:55 Speedcubing in Emacs cubing 1:00- 1:40 Emacs MultiMedia System (EMMS) emms 1:55- 2:25 Programming with steno steno 2:35- 2:45 Mentoring VS-Coders as an Emacsian (or How to show not tell people about the wonders of Emacs) mentor 3:10- 3:40 Emacs saves the Web (maybe) web 3:55- 4:15 Sharing Emacs is Caring Emacs: Emacs education and why I embraced video sharing 4:30- 4:40 Sunday closing remarks sun-close 10:00-10:20 Bringing joy to Scheme programming scheme 10:35-10:55 GNU Emacs: A World of Possibilities world 11:10-11:20 A modern Emacs look-and-feel without pain flat 11:35-11:55 The Emacsen family, the design of an Emacs and the importance of Lisp emacsen 1:00- 1:20 emacs-gc-stats: Does garbage collection actually slow down Emacs? gc 1:35- 2:15 hyperdrive.el: Peer-to-peer filesystem in Emacs hyperdrive 2:30- 2:45 Writing a language server in OCaml for Emacs, fun, and profit lspocaml 3:00- 3:30 What I learned by writing test cases for GNU Hyperbole test 3:45- 4:25 Windows into Freedom windows 9 AM 10 AM 11 AM 12 PM 1 PM 2 PM 3 PM 4 PM 5 PM
[[!toc ]] diff --git a/2023/info/parallel-before.md b/2023/info/parallel-before.md index ae9c3368..c04ff885 100644 --- a/2023/info/parallel-before.md +++ b/2023/info/parallel-before.md @@ -1,7 +1,7 @@ The following image shows where the talk is in the schedule for Sun 2023-12-03. Solid lines show talks with Q&A via BigBlueButton. Dashed lines show talks with Q&A via IRC or Etherpad.
- Schedule for Sunday Sunday 9:00- 9:05 Sunday opening remarks sun-open 9:05- 9:25 Top 10 ways Hyperbole amps up Emacs hyperamp 9:40-10:00 Using Koutline for stream of thought journaling koutline 10:10-10:20 Parallel text replacement parallel 10:35-10:45 Eat and Eat powered Eshell, fast featureful terminal inside Emacs eat 11:00-11:20 The browser in a buffer poltys 11:35-11:55 Speedcubing in Emacs cubing 1:00- 1:40 Emacs MultiMedia System (EMMS) emms 1:55- 2:25 Programming with steno steno 2:35- 2:45 Mentoring VS-Coders as an Emacsian (or How to show not tell people about the wonders of Emacs) mentor 3:10- 3:40 Emacs saves the Web (maybe) web 3:55- 4:15 Sharing Emacs is Caring Emacs: Emacs education and why I embraced video sharing 4:30- 4:40 Sunday closing remarks sun-close 10:00-10:20 Bringing joy to Scheme programming scheme 10:35-10:55 GNU Emacs: A World of Possibilities world 11:10-11:20 A modern Emacs look-and-feel without pain flat 11:35-11:55 The Emacsen family, the design of an Emacs and the importance of Lisp emacsen 1:00- 1:20 emacs-gc-stats: Does garbage collection actually slow down Emacs? gc 1:35- 2:15 hyperdrive.el: Peer-to-peer filesystem in Emacs hyperdrive 2:30- 2:45 Writing a language server in OCaml for Emacs, fun, and profit lspocaml 3:00- 3:30 What I learned by writing test cases for GNU Hyperbole test 3:45- 4:25 Windows into Freedom windows 9 AM 10 AM 11 AM 12 PM 1 PM 2 PM 3 PM 4 PM 5 PM + Schedule for Sunday Sunday 8:59- 9:05 Sunday opening remarks sun-open 9:05- 9:25 Top 10 ways Hyperbole amps up Emacs hyperamp 9:40-10:00 Using Koutline for stream of thought journaling koutline 10:10-10:20 Parallel text replacement parallel 10:35-10:45 Eat and Eat powered Eshell, fast featureful terminal inside Emacs eat 11:00-11:20 The browser in a buffer poltys 11:35-11:55 Speedcubing in Emacs cubing 1:00- 1:40 Emacs MultiMedia System (EMMS) emms 1:55- 2:25 Programming with steno steno 2:35- 2:45 Mentoring VS-Coders as an Emacsian (or How to show not tell people about the wonders of Emacs) mentor 3:10- 3:40 Emacs saves the Web (maybe) web 3:55- 4:15 Sharing Emacs is Caring Emacs: Emacs education and why I embraced video sharing 4:30- 4:40 Sunday closing remarks sun-close 10:00-10:20 Bringing joy to Scheme programming scheme 10:35-10:55 GNU Emacs: A World of Possibilities world 11:10-11:20 A modern Emacs look-and-feel without pain flat 11:35-11:55 The Emacsen family, the design of an Emacs and the importance of Lisp emacsen 1:00- 1:20 emacs-gc-stats: Does garbage collection actually slow down Emacs? gc 1:35- 2:15 hyperdrive.el: Peer-to-peer filesystem in Emacs hyperdrive 2:30- 2:45 Writing a language server in OCaml for Emacs, fun, and profit lspocaml 3:00- 3:30 What I learned by writing test cases for GNU Hyperbole test 3:45- 4:25 Windows into Freedom windows 9 AM 10 AM 11 AM 12 PM 1 PM 2 PM 3 PM 4 PM 5 PM
[[!toc ]] diff --git a/2023/info/poltys-before.md b/2023/info/poltys-before.md index 5d3cba6b..f4fa8037 100644 --- a/2023/info/poltys-before.md +++ b/2023/info/poltys-before.md @@ -1,7 +1,7 @@ The following image shows where the talk is in the schedule for Sun 2023-12-03. Solid lines show talks with Q&A via BigBlueButton. Dashed lines show talks with Q&A via IRC or Etherpad.
- Schedule for Sunday Sunday 9:00- 9:05 Sunday opening remarks sun-open 9:05- 9:25 Top 10 ways Hyperbole amps up Emacs hyperamp 9:40-10:00 Using Koutline for stream of thought journaling koutline 10:10-10:20 Parallel text replacement parallel 10:35-10:45 Eat and Eat powered Eshell, fast featureful terminal inside Emacs eat 11:00-11:20 The browser in a buffer poltys 11:35-11:55 Speedcubing in Emacs cubing 1:00- 1:40 Emacs MultiMedia System (EMMS) emms 1:55- 2:25 Programming with steno steno 2:35- 2:45 Mentoring VS-Coders as an Emacsian (or How to show not tell people about the wonders of Emacs) mentor 3:10- 3:40 Emacs saves the Web (maybe) web 3:55- 4:15 Sharing Emacs is Caring Emacs: Emacs education and why I embraced video sharing 4:30- 4:40 Sunday closing remarks sun-close 10:00-10:20 Bringing joy to Scheme programming scheme 10:35-10:55 GNU Emacs: A World of Possibilities world 11:10-11:20 A modern Emacs look-and-feel without pain flat 11:35-11:55 The Emacsen family, the design of an Emacs and the importance of Lisp emacsen 1:00- 1:20 emacs-gc-stats: Does garbage collection actually slow down Emacs? gc 1:35- 2:15 hyperdrive.el: Peer-to-peer filesystem in Emacs hyperdrive 2:30- 2:45 Writing a language server in OCaml for Emacs, fun, and profit lspocaml 3:00- 3:30 What I learned by writing test cases for GNU Hyperbole test 3:45- 4:25 Windows into Freedom windows 9 AM 10 AM 11 AM 12 PM 1 PM 2 PM 3 PM 4 PM 5 PM + Schedule for Sunday Sunday 8:59- 9:05 Sunday opening remarks sun-open 9:05- 9:25 Top 10 ways Hyperbole amps up Emacs hyperamp 9:40-10:00 Using Koutline for stream of thought journaling koutline 10:10-10:20 Parallel text replacement parallel 10:35-10:45 Eat and Eat powered Eshell, fast featureful terminal inside Emacs eat 11:00-11:20 The browser in a buffer poltys 11:35-11:55 Speedcubing in Emacs cubing 1:00- 1:40 Emacs MultiMedia System (EMMS) emms 1:55- 2:25 Programming with steno steno 2:35- 2:45 Mentoring VS-Coders as an Emacsian (or How to show not tell people about the wonders of Emacs) mentor 3:10- 3:40 Emacs saves the Web (maybe) web 3:55- 4:15 Sharing Emacs is Caring Emacs: Emacs education and why I embraced video sharing 4:30- 4:40 Sunday closing remarks sun-close 10:00-10:20 Bringing joy to Scheme programming scheme 10:35-10:55 GNU Emacs: A World of Possibilities world 11:10-11:20 A modern Emacs look-and-feel without pain flat 11:35-11:55 The Emacsen family, the design of an Emacs and the importance of Lisp emacsen 1:00- 1:20 emacs-gc-stats: Does garbage collection actually slow down Emacs? gc 1:35- 2:15 hyperdrive.el: Peer-to-peer filesystem in Emacs hyperdrive 2:30- 2:45 Writing a language server in OCaml for Emacs, fun, and profit lspocaml 3:00- 3:30 What I learned by writing test cases for GNU Hyperbole test 3:45- 4:25 Windows into Freedom windows 9 AM 10 AM 11 AM 12 PM 1 PM 2 PM 3 PM 4 PM 5 PM
[[!toc ]] diff --git a/2023/info/sat-open-before.md b/2023/info/sat-open-before.md index 657a1db9..30a73639 100644 --- a/2023/info/sat-open-before.md +++ b/2023/info/sat-open-before.md @@ -5,9 +5,9 @@ The following image shows where the talk is in the schedule for Sat 2023-12-02. [[!toc ]] -Format: 0-min talk; Q&A: ask questions via Etherpad/IRC; we'll e-mail the speaker and post answers on this wiki page after the conference +Format: 6-min talk; Q&A: ask questions via Etherpad/IRC; we'll e-mail the speaker and post answers on this wiki page after the conference Discuss on IRC: [#emacsconf](https://chat.emacsconf.org/?join=emacsconf) -Status: Quality check +Status: Ready to stream
Times in different timezones:
Saturday, Dec 2 2023, ~9:00 AM - 9:10 AM EST (US/Eastern)
which is the same as:
Saturday, Dec 2 2023, ~8:00 AM - 8:10 AM CST (US/Central)
Saturday, Dec 2 2023, ~7:00 AM - 7:10 AM MST (US/Mountain)
Saturday, Dec 2 2023, ~6:00 AM - 6:10 AM PST (US/Pacific)
Saturday, Dec 2 2023, ~2:00 PM - 2:10 PM UTC
Saturday, Dec 2 2023, ~3:00 PM - 3:10 PM CET (Europe/Paris)
Saturday, Dec 2 2023, ~4:00 PM - 4:10 PM EET (Europe/Athens)
Saturday, Dec 2 2023, ~7:30 PM - 7:40 PM IST (Asia/Kolkata)
Saturday, Dec 2 2023, ~10:00 PM - 10:10 PM +08 (Asia/Singapore)
Saturday, Dec 2 2023, ~11:00 PM - 11:10 PM JST (Asia/Tokyo)
Find out how to watch and participate
diff --git a/2023/info/scheme-before.md b/2023/info/scheme-before.md index efb079cd..8acbcab6 100644 --- a/2023/info/scheme-before.md +++ b/2023/info/scheme-before.md @@ -1,7 +1,7 @@ The following image shows where the talk is in the schedule for Sun 2023-12-03. Solid lines show talks with Q&A via BigBlueButton. Dashed lines show talks with Q&A via IRC or Etherpad.
- Schedule for Sunday Sunday 9:00- 9:05 Sunday opening remarks sun-open 9:05- 9:25 Top 10 ways Hyperbole amps up Emacs hyperamp 9:40-10:00 Using Koutline for stream of thought journaling koutline 10:10-10:20 Parallel text replacement parallel 10:35-10:45 Eat and Eat powered Eshell, fast featureful terminal inside Emacs eat 11:00-11:20 The browser in a buffer poltys 11:35-11:55 Speedcubing in Emacs cubing 1:00- 1:40 Emacs MultiMedia System (EMMS) emms 1:55- 2:25 Programming with steno steno 2:35- 2:45 Mentoring VS-Coders as an Emacsian (or How to show not tell people about the wonders of Emacs) mentor 3:10- 3:40 Emacs saves the Web (maybe) web 3:55- 4:15 Sharing Emacs is Caring Emacs: Emacs education and why I embraced video sharing 4:30- 4:40 Sunday closing remarks sun-close 10:00-10:20 Bringing joy to Scheme programming scheme 10:35-10:55 GNU Emacs: A World of Possibilities world 11:10-11:20 A modern Emacs look-and-feel without pain flat 11:35-11:55 The Emacsen family, the design of an Emacs and the importance of Lisp emacsen 1:00- 1:20 emacs-gc-stats: Does garbage collection actually slow down Emacs? gc 1:35- 2:15 hyperdrive.el: Peer-to-peer filesystem in Emacs hyperdrive 2:30- 2:45 Writing a language server in OCaml for Emacs, fun, and profit lspocaml 3:00- 3:30 What I learned by writing test cases for GNU Hyperbole test 3:45- 4:25 Windows into Freedom windows 9 AM 10 AM 11 AM 12 PM 1 PM 2 PM 3 PM 4 PM 5 PM + Schedule for Sunday Sunday 8:59- 9:05 Sunday opening remarks sun-open 9:05- 9:25 Top 10 ways Hyperbole amps up Emacs hyperamp 9:40-10:00 Using Koutline for stream of thought journaling koutline 10:10-10:20 Parallel text replacement parallel 10:35-10:45 Eat and Eat powered Eshell, fast featureful terminal inside Emacs eat 11:00-11:20 The browser in a buffer poltys 11:35-11:55 Speedcubing in Emacs cubing 1:00- 1:40 Emacs MultiMedia System (EMMS) emms 1:55- 2:25 Programming with steno steno 2:35- 2:45 Mentoring VS-Coders as an Emacsian (or How to show not tell people about the wonders of Emacs) mentor 3:10- 3:40 Emacs saves the Web (maybe) web 3:55- 4:15 Sharing Emacs is Caring Emacs: Emacs education and why I embraced video sharing 4:30- 4:40 Sunday closing remarks sun-close 10:00-10:20 Bringing joy to Scheme programming scheme 10:35-10:55 GNU Emacs: A World of Possibilities world 11:10-11:20 A modern Emacs look-and-feel without pain flat 11:35-11:55 The Emacsen family, the design of an Emacs and the importance of Lisp emacsen 1:00- 1:20 emacs-gc-stats: Does garbage collection actually slow down Emacs? gc 1:35- 2:15 hyperdrive.el: Peer-to-peer filesystem in Emacs hyperdrive 2:30- 2:45 Writing a language server in OCaml for Emacs, fun, and profit lspocaml 3:00- 3:30 What I learned by writing test cases for GNU Hyperbole test 3:45- 4:25 Windows into Freedom windows 9 AM 10 AM 11 AM 12 PM 1 PM 2 PM 3 PM 4 PM 5 PM
[[!toc ]] diff --git a/2023/info/sharing-before.md b/2023/info/sharing-before.md index a2d7ce55..ad353a7b 100644 --- a/2023/info/sharing-before.md +++ b/2023/info/sharing-before.md @@ -1,7 +1,7 @@ The following image shows where the talk is in the schedule for Sun 2023-12-03. Solid lines show talks with Q&A via BigBlueButton. Dashed lines show talks with Q&A via IRC or Etherpad.
- Schedule for Sunday Sunday 9:00- 9:05 Sunday opening remarks sun-open 9:05- 9:25 Top 10 ways Hyperbole amps up Emacs hyperamp 9:40-10:00 Using Koutline for stream of thought journaling koutline 10:10-10:20 Parallel text replacement parallel 10:35-10:45 Eat and Eat powered Eshell, fast featureful terminal inside Emacs eat 11:00-11:20 The browser in a buffer poltys 11:35-11:55 Speedcubing in Emacs cubing 1:00- 1:40 Emacs MultiMedia System (EMMS) emms 1:55- 2:25 Programming with steno steno 2:35- 2:45 Mentoring VS-Coders as an Emacsian (or How to show not tell people about the wonders of Emacs) mentor 3:10- 3:40 Emacs saves the Web (maybe) web 3:55- 4:15 Sharing Emacs is Caring Emacs: Emacs education and why I embraced video sharing 4:30- 4:40 Sunday closing remarks sun-close 10:00-10:20 Bringing joy to Scheme programming scheme 10:35-10:55 GNU Emacs: A World of Possibilities world 11:10-11:20 A modern Emacs look-and-feel without pain flat 11:35-11:55 The Emacsen family, the design of an Emacs and the importance of Lisp emacsen 1:00- 1:20 emacs-gc-stats: Does garbage collection actually slow down Emacs? gc 1:35- 2:15 hyperdrive.el: Peer-to-peer filesystem in Emacs hyperdrive 2:30- 2:45 Writing a language server in OCaml for Emacs, fun, and profit lspocaml 3:00- 3:30 What I learned by writing test cases for GNU Hyperbole test 3:45- 4:25 Windows into Freedom windows 9 AM 10 AM 11 AM 12 PM 1 PM 2 PM 3 PM 4 PM 5 PM + Schedule for Sunday Sunday 8:59- 9:05 Sunday opening remarks sun-open 9:05- 9:25 Top 10 ways Hyperbole amps up Emacs hyperamp 9:40-10:00 Using Koutline for stream of thought journaling koutline 10:10-10:20 Parallel text replacement parallel 10:35-10:45 Eat and Eat powered Eshell, fast featureful terminal inside Emacs eat 11:00-11:20 The browser in a buffer poltys 11:35-11:55 Speedcubing in Emacs cubing 1:00- 1:40 Emacs MultiMedia System (EMMS) emms 1:55- 2:25 Programming with steno steno 2:35- 2:45 Mentoring VS-Coders as an Emacsian (or How to show not tell people about the wonders of Emacs) mentor 3:10- 3:40 Emacs saves the Web (maybe) web 3:55- 4:15 Sharing Emacs is Caring Emacs: Emacs education and why I embraced video sharing 4:30- 4:40 Sunday closing remarks sun-close 10:00-10:20 Bringing joy to Scheme programming scheme 10:35-10:55 GNU Emacs: A World of Possibilities world 11:10-11:20 A modern Emacs look-and-feel without pain flat 11:35-11:55 The Emacsen family, the design of an Emacs and the importance of Lisp emacsen 1:00- 1:20 emacs-gc-stats: Does garbage collection actually slow down Emacs? gc 1:35- 2:15 hyperdrive.el: Peer-to-peer filesystem in Emacs hyperdrive 2:30- 2:45 Writing a language server in OCaml for Emacs, fun, and profit lspocaml 3:00- 3:30 What I learned by writing test cases for GNU Hyperbole test 3:45- 4:25 Windows into Freedom windows 9 AM 10 AM 11 AM 12 PM 1 PM 2 PM 3 PM 4 PM 5 PM
[[!toc ]] diff --git a/2023/info/steno-before.md b/2023/info/steno-before.md index 04833e8f..ad2e9ea0 100644 --- a/2023/info/steno-before.md +++ b/2023/info/steno-before.md @@ -1,7 +1,7 @@ The following image shows where the talk is in the schedule for Sun 2023-12-03. Solid lines show talks with Q&A via BigBlueButton. Dashed lines show talks with Q&A via IRC or Etherpad.
- Schedule for Sunday Sunday 9:00- 9:05 Sunday opening remarks sun-open 9:05- 9:25 Top 10 ways Hyperbole amps up Emacs hyperamp 9:40-10:00 Using Koutline for stream of thought journaling koutline 10:10-10:20 Parallel text replacement parallel 10:35-10:45 Eat and Eat powered Eshell, fast featureful terminal inside Emacs eat 11:00-11:20 The browser in a buffer poltys 11:35-11:55 Speedcubing in Emacs cubing 1:00- 1:40 Emacs MultiMedia System (EMMS) emms 1:55- 2:25 Programming with steno steno 2:35- 2:45 Mentoring VS-Coders as an Emacsian (or How to show not tell people about the wonders of Emacs) mentor 3:10- 3:40 Emacs saves the Web (maybe) web 3:55- 4:15 Sharing Emacs is Caring Emacs: Emacs education and why I embraced video sharing 4:30- 4:40 Sunday closing remarks sun-close 10:00-10:20 Bringing joy to Scheme programming scheme 10:35-10:55 GNU Emacs: A World of Possibilities world 11:10-11:20 A modern Emacs look-and-feel without pain flat 11:35-11:55 The Emacsen family, the design of an Emacs and the importance of Lisp emacsen 1:00- 1:20 emacs-gc-stats: Does garbage collection actually slow down Emacs? gc 1:35- 2:15 hyperdrive.el: Peer-to-peer filesystem in Emacs hyperdrive 2:30- 2:45 Writing a language server in OCaml for Emacs, fun, and profit lspocaml 3:00- 3:30 What I learned by writing test cases for GNU Hyperbole test 3:45- 4:25 Windows into Freedom windows 9 AM 10 AM 11 AM 12 PM 1 PM 2 PM 3 PM 4 PM 5 PM + Schedule for Sunday Sunday 8:59- 9:05 Sunday opening remarks sun-open 9:05- 9:25 Top 10 ways Hyperbole amps up Emacs hyperamp 9:40-10:00 Using Koutline for stream of thought journaling koutline 10:10-10:20 Parallel text replacement parallel 10:35-10:45 Eat and Eat powered Eshell, fast featureful terminal inside Emacs eat 11:00-11:20 The browser in a buffer poltys 11:35-11:55 Speedcubing in Emacs cubing 1:00- 1:40 Emacs MultiMedia System (EMMS) emms 1:55- 2:25 Programming with steno steno 2:35- 2:45 Mentoring VS-Coders as an Emacsian (or How to show not tell people about the wonders of Emacs) mentor 3:10- 3:40 Emacs saves the Web (maybe) web 3:55- 4:15 Sharing Emacs is Caring Emacs: Emacs education and why I embraced video sharing 4:30- 4:40 Sunday closing remarks sun-close 10:00-10:20 Bringing joy to Scheme programming scheme 10:35-10:55 GNU Emacs: A World of Possibilities world 11:10-11:20 A modern Emacs look-and-feel without pain flat 11:35-11:55 The Emacsen family, the design of an Emacs and the importance of Lisp emacsen 1:00- 1:20 emacs-gc-stats: Does garbage collection actually slow down Emacs? gc 1:35- 2:15 hyperdrive.el: Peer-to-peer filesystem in Emacs hyperdrive 2:30- 2:45 Writing a language server in OCaml for Emacs, fun, and profit lspocaml 3:00- 3:30 What I learned by writing test cases for GNU Hyperbole test 3:45- 4:25 Windows into Freedom windows 9 AM 10 AM 11 AM 12 PM 1 PM 2 PM 3 PM 4 PM 5 PM
[[!toc ]] diff --git a/2023/info/sun-close-before.md b/2023/info/sun-close-before.md index ce333144..cd3b1c49 100644 --- a/2023/info/sun-close-before.md +++ b/2023/info/sun-close-before.md @@ -1,7 +1,7 @@ The following image shows where the talk is in the schedule for Sun 2023-12-03. Solid lines show talks with Q&A via BigBlueButton. Dashed lines show talks with Q&A via IRC or Etherpad.
- Schedule for Sunday Sunday 9:00- 9:05 Sunday opening remarks sun-open 9:05- 9:25 Top 10 ways Hyperbole amps up Emacs hyperamp 9:40-10:00 Using Koutline for stream of thought journaling koutline 10:10-10:20 Parallel text replacement parallel 10:35-10:45 Eat and Eat powered Eshell, fast featureful terminal inside Emacs eat 11:00-11:20 The browser in a buffer poltys 11:35-11:55 Speedcubing in Emacs cubing 1:00- 1:40 Emacs MultiMedia System (EMMS) emms 1:55- 2:25 Programming with steno steno 2:35- 2:45 Mentoring VS-Coders as an Emacsian (or How to show not tell people about the wonders of Emacs) mentor 3:10- 3:40 Emacs saves the Web (maybe) web 3:55- 4:15 Sharing Emacs is Caring Emacs: Emacs education and why I embraced video sharing 4:30- 4:40 Sunday closing remarks sun-close 10:00-10:20 Bringing joy to Scheme programming scheme 10:35-10:55 GNU Emacs: A World of Possibilities world 11:10-11:20 A modern Emacs look-and-feel without pain flat 11:35-11:55 The Emacsen family, the design of an Emacs and the importance of Lisp emacsen 1:00- 1:20 emacs-gc-stats: Does garbage collection actually slow down Emacs? gc 1:35- 2:15 hyperdrive.el: Peer-to-peer filesystem in Emacs hyperdrive 2:30- 2:45 Writing a language server in OCaml for Emacs, fun, and profit lspocaml 3:00- 3:30 What I learned by writing test cases for GNU Hyperbole test 3:45- 4:25 Windows into Freedom windows 9 AM 10 AM 11 AM 12 PM 1 PM 2 PM 3 PM 4 PM 5 PM + Schedule for Sunday Sunday 8:59- 9:05 Sunday opening remarks sun-open 9:05- 9:25 Top 10 ways Hyperbole amps up Emacs hyperamp 9:40-10:00 Using Koutline for stream of thought journaling koutline 10:10-10:20 Parallel text replacement parallel 10:35-10:45 Eat and Eat powered Eshell, fast featureful terminal inside Emacs eat 11:00-11:20 The browser in a buffer poltys 11:35-11:55 Speedcubing in Emacs cubing 1:00- 1:40 Emacs MultiMedia System (EMMS) emms 1:55- 2:25 Programming with steno steno 2:35- 2:45 Mentoring VS-Coders as an Emacsian (or How to show not tell people about the wonders of Emacs) mentor 3:10- 3:40 Emacs saves the Web (maybe) web 3:55- 4:15 Sharing Emacs is Caring Emacs: Emacs education and why I embraced video sharing 4:30- 4:40 Sunday closing remarks sun-close 10:00-10:20 Bringing joy to Scheme programming scheme 10:35-10:55 GNU Emacs: A World of Possibilities world 11:10-11:20 A modern Emacs look-and-feel without pain flat 11:35-11:55 The Emacsen family, the design of an Emacs and the importance of Lisp emacsen 1:00- 1:20 emacs-gc-stats: Does garbage collection actually slow down Emacs? gc 1:35- 2:15 hyperdrive.el: Peer-to-peer filesystem in Emacs hyperdrive 2:30- 2:45 Writing a language server in OCaml for Emacs, fun, and profit lspocaml 3:00- 3:30 What I learned by writing test cases for GNU Hyperbole test 3:45- 4:25 Windows into Freedom windows 9 AM 10 AM 11 AM 12 PM 1 PM 2 PM 3 PM 4 PM 5 PM
[[!toc ]] diff --git a/2023/info/sun-open-before.md b/2023/info/sun-open-before.md index cb47d360..7641393e 100644 --- a/2023/info/sun-open-before.md +++ b/2023/info/sun-open-before.md @@ -1,14 +1,14 @@ The following image shows where the talk is in the schedule for Sun 2023-12-03. Solid lines show talks with Q&A via BigBlueButton. Dashed lines show talks with Q&A via IRC or Etherpad.
- Schedule for Sunday Sunday 9:00- 9:05 Sunday opening remarks sun-open 9:05- 9:25 Top 10 ways Hyperbole amps up Emacs hyperamp 9:40-10:00 Using Koutline for stream of thought journaling koutline 10:10-10:20 Parallel text replacement parallel 10:35-10:45 Eat and Eat powered Eshell, fast featureful terminal inside Emacs eat 11:00-11:20 The browser in a buffer poltys 11:35-11:55 Speedcubing in Emacs cubing 1:00- 1:40 Emacs MultiMedia System (EMMS) emms 1:55- 2:25 Programming with steno steno 2:35- 2:45 Mentoring VS-Coders as an Emacsian (or How to show not tell people about the wonders of Emacs) mentor 3:10- 3:40 Emacs saves the Web (maybe) web 3:55- 4:15 Sharing Emacs is Caring Emacs: Emacs education and why I embraced video sharing 4:30- 4:40 Sunday closing remarks sun-close 10:00-10:20 Bringing joy to Scheme programming scheme 10:35-10:55 GNU Emacs: A World of Possibilities world 11:10-11:20 A modern Emacs look-and-feel without pain flat 11:35-11:55 The Emacsen family, the design of an Emacs and the importance of Lisp emacsen 1:00- 1:20 emacs-gc-stats: Does garbage collection actually slow down Emacs? gc 1:35- 2:15 hyperdrive.el: Peer-to-peer filesystem in Emacs hyperdrive 2:30- 2:45 Writing a language server in OCaml for Emacs, fun, and profit lspocaml 3:00- 3:30 What I learned by writing test cases for GNU Hyperbole test 3:45- 4:25 Windows into Freedom windows 9 AM 10 AM 11 AM 12 PM 1 PM 2 PM 3 PM 4 PM 5 PM + Schedule for Sunday Sunday 8:59- 9:05 Sunday opening remarks sun-open 9:05- 9:25 Top 10 ways Hyperbole amps up Emacs hyperamp 9:40-10:00 Using Koutline for stream of thought journaling koutline 10:10-10:20 Parallel text replacement parallel 10:35-10:45 Eat and Eat powered Eshell, fast featureful terminal inside Emacs eat 11:00-11:20 The browser in a buffer poltys 11:35-11:55 Speedcubing in Emacs cubing 1:00- 1:40 Emacs MultiMedia System (EMMS) emms 1:55- 2:25 Programming with steno steno 2:35- 2:45 Mentoring VS-Coders as an Emacsian (or How to show not tell people about the wonders of Emacs) mentor 3:10- 3:40 Emacs saves the Web (maybe) web 3:55- 4:15 Sharing Emacs is Caring Emacs: Emacs education and why I embraced video sharing 4:30- 4:40 Sunday closing remarks sun-close 10:00-10:20 Bringing joy to Scheme programming scheme 10:35-10:55 GNU Emacs: A World of Possibilities world 11:10-11:20 A modern Emacs look-and-feel without pain flat 11:35-11:55 The Emacsen family, the design of an Emacs and the importance of Lisp emacsen 1:00- 1:20 emacs-gc-stats: Does garbage collection actually slow down Emacs? gc 1:35- 2:15 hyperdrive.el: Peer-to-peer filesystem in Emacs hyperdrive 2:30- 2:45 Writing a language server in OCaml for Emacs, fun, and profit lspocaml 3:00- 3:30 What I learned by writing test cases for GNU Hyperbole test 3:45- 4:25 Windows into Freedom windows 9 AM 10 AM 11 AM 12 PM 1 PM 2 PM 3 PM 4 PM 5 PM
[[!toc ]] Format: 6-min talk; Q&A: ask questions via Etherpad/IRC; we'll e-mail the speaker and post answers on this wiki page after the conference Discuss on IRC: [#emacsconf](https://chat.emacsconf.org/?join=emacsconf) -Status: Quality check -
Times in different timezones:
Sunday, Dec 3 2023, ~9:00 AM - 9:05 AM EST (US/Eastern)
which is the same as:
Sunday, Dec 3 2023, ~8:00 AM - 8:05 AM CST (US/Central)
Sunday, Dec 3 2023, ~7:00 AM - 7:05 AM MST (US/Mountain)
Sunday, Dec 3 2023, ~6:00 AM - 6:05 AM PST (US/Pacific)
Sunday, Dec 3 2023, ~2:00 PM - 2:05 PM UTC
Sunday, Dec 3 2023, ~3:00 PM - 3:05 PM CET (Europe/Paris)
Sunday, Dec 3 2023, ~4:00 PM - 4:05 PM EET (Europe/Athens)
Sunday, Dec 3 2023, ~7:30 PM - 7:35 PM IST (Asia/Kolkata)
Sunday, Dec 3 2023, ~10:00 PM - 10:05 PM +08 (Asia/Singapore)
Sunday, Dec 3 2023, ~11:00 PM - 11:05 PM JST (Asia/Tokyo)
Find out how to watch and participate
+Status: Ready to stream +
Times in different timezones:
Sunday, Dec 3 2023, ~8:59 AM - 9:05 AM EST (US/Eastern)
which is the same as:
Sunday, Dec 3 2023, ~7:59 AM - 8:05 AM CST (US/Central)
Sunday, Dec 3 2023, ~6:59 AM - 7:05 AM MST (US/Mountain)
Sunday, Dec 3 2023, ~5:59 AM - 6:05 AM PST (US/Pacific)
Sunday, Dec 3 2023, ~1:59 PM - 2:05 PM UTC
Sunday, Dec 3 2023, ~2:59 PM - 3:05 PM CET (Europe/Paris)
Sunday, Dec 3 2023, ~3:59 PM - 4:05 PM EET (Europe/Athens)
Sunday, Dec 3 2023, ~7:29 PM - 7:35 PM IST (Asia/Kolkata)
Sunday, Dec 3 2023, ~9:59 PM - 10:05 PM +08 (Asia/Singapore)
Sunday, Dec 3 2023, ~10:59 PM - 11:05 PM JST (Asia/Tokyo)
Find out how to watch and participate
diff --git a/2023/info/test-before.md b/2023/info/test-before.md index d4340663..3039b72b 100644 --- a/2023/info/test-before.md +++ b/2023/info/test-before.md @@ -1,7 +1,7 @@ The following image shows where the talk is in the schedule for Sun 2023-12-03. Solid lines show talks with Q&A via BigBlueButton. Dashed lines show talks with Q&A via IRC or Etherpad.
- Schedule for Sunday Sunday 9:00- 9:05 Sunday opening remarks sun-open 9:05- 9:25 Top 10 ways Hyperbole amps up Emacs hyperamp 9:40-10:00 Using Koutline for stream of thought journaling koutline 10:10-10:20 Parallel text replacement parallel 10:35-10:45 Eat and Eat powered Eshell, fast featureful terminal inside Emacs eat 11:00-11:20 The browser in a buffer poltys 11:35-11:55 Speedcubing in Emacs cubing 1:00- 1:40 Emacs MultiMedia System (EMMS) emms 1:55- 2:25 Programming with steno steno 2:35- 2:45 Mentoring VS-Coders as an Emacsian (or How to show not tell people about the wonders of Emacs) mentor 3:10- 3:40 Emacs saves the Web (maybe) web 3:55- 4:15 Sharing Emacs is Caring Emacs: Emacs education and why I embraced video sharing 4:30- 4:40 Sunday closing remarks sun-close 10:00-10:20 Bringing joy to Scheme programming scheme 10:35-10:55 GNU Emacs: A World of Possibilities world 11:10-11:20 A modern Emacs look-and-feel without pain flat 11:35-11:55 The Emacsen family, the design of an Emacs and the importance of Lisp emacsen 1:00- 1:20 emacs-gc-stats: Does garbage collection actually slow down Emacs? gc 1:35- 2:15 hyperdrive.el: Peer-to-peer filesystem in Emacs hyperdrive 2:30- 2:45 Writing a language server in OCaml for Emacs, fun, and profit lspocaml 3:00- 3:30 What I learned by writing test cases for GNU Hyperbole test 3:45- 4:25 Windows into Freedom windows 9 AM 10 AM 11 AM 12 PM 1 PM 2 PM 3 PM 4 PM 5 PM + Schedule for Sunday Sunday 8:59- 9:05 Sunday opening remarks sun-open 9:05- 9:25 Top 10 ways Hyperbole amps up Emacs hyperamp 9:40-10:00 Using Koutline for stream of thought journaling koutline 10:10-10:20 Parallel text replacement parallel 10:35-10:45 Eat and Eat powered Eshell, fast featureful terminal inside Emacs eat 11:00-11:20 The browser in a buffer poltys 11:35-11:55 Speedcubing in Emacs cubing 1:00- 1:40 Emacs MultiMedia System (EMMS) emms 1:55- 2:25 Programming with steno steno 2:35- 2:45 Mentoring VS-Coders as an Emacsian (or How to show not tell people about the wonders of Emacs) mentor 3:10- 3:40 Emacs saves the Web (maybe) web 3:55- 4:15 Sharing Emacs is Caring Emacs: Emacs education and why I embraced video sharing 4:30- 4:40 Sunday closing remarks sun-close 10:00-10:20 Bringing joy to Scheme programming scheme 10:35-10:55 GNU Emacs: A World of Possibilities world 11:10-11:20 A modern Emacs look-and-feel without pain flat 11:35-11:55 The Emacsen family, the design of an Emacs and the importance of Lisp emacsen 1:00- 1:20 emacs-gc-stats: Does garbage collection actually slow down Emacs? gc 1:35- 2:15 hyperdrive.el: Peer-to-peer filesystem in Emacs hyperdrive 2:30- 2:45 Writing a language server in OCaml for Emacs, fun, and profit lspocaml 3:00- 3:30 What I learned by writing test cases for GNU Hyperbole test 3:45- 4:25 Windows into Freedom windows 9 AM 10 AM 11 AM 12 PM 1 PM 2 PM 3 PM 4 PM 5 PM
[[!toc ]] diff --git a/2023/info/web-before.md b/2023/info/web-before.md index 6eb57741..e781d29e 100644 --- a/2023/info/web-before.md +++ b/2023/info/web-before.md @@ -1,7 +1,7 @@ The following image shows where the talk is in the schedule for Sun 2023-12-03. Solid lines show talks with Q&A via BigBlueButton. Dashed lines show talks with Q&A via IRC or Etherpad.
- Schedule for Sunday Sunday 9:00- 9:05 Sunday opening remarks sun-open 9:05- 9:25 Top 10 ways Hyperbole amps up Emacs hyperamp 9:40-10:00 Using Koutline for stream of thought journaling koutline 10:10-10:20 Parallel text replacement parallel 10:35-10:45 Eat and Eat powered Eshell, fast featureful terminal inside Emacs eat 11:00-11:20 The browser in a buffer poltys 11:35-11:55 Speedcubing in Emacs cubing 1:00- 1:40 Emacs MultiMedia System (EMMS) emms 1:55- 2:25 Programming with steno steno 2:35- 2:45 Mentoring VS-Coders as an Emacsian (or How to show not tell people about the wonders of Emacs) mentor 3:10- 3:40 Emacs saves the Web (maybe) web 3:55- 4:15 Sharing Emacs is Caring Emacs: Emacs education and why I embraced video sharing 4:30- 4:40 Sunday closing remarks sun-close 10:00-10:20 Bringing joy to Scheme programming scheme 10:35-10:55 GNU Emacs: A World of Possibilities world 11:10-11:20 A modern Emacs look-and-feel without pain flat 11:35-11:55 The Emacsen family, the design of an Emacs and the importance of Lisp emacsen 1:00- 1:20 emacs-gc-stats: Does garbage collection actually slow down Emacs? gc 1:35- 2:15 hyperdrive.el: Peer-to-peer filesystem in Emacs hyperdrive 2:30- 2:45 Writing a language server in OCaml for Emacs, fun, and profit lspocaml 3:00- 3:30 What I learned by writing test cases for GNU Hyperbole test 3:45- 4:25 Windows into Freedom windows 9 AM 10 AM 11 AM 12 PM 1 PM 2 PM 3 PM 4 PM 5 PM + Schedule for Sunday Sunday 8:59- 9:05 Sunday opening remarks sun-open 9:05- 9:25 Top 10 ways Hyperbole amps up Emacs hyperamp 9:40-10:00 Using Koutline for stream of thought journaling koutline 10:10-10:20 Parallel text replacement parallel 10:35-10:45 Eat and Eat powered Eshell, fast featureful terminal inside Emacs eat 11:00-11:20 The browser in a buffer poltys 11:35-11:55 Speedcubing in Emacs cubing 1:00- 1:40 Emacs MultiMedia System (EMMS) emms 1:55- 2:25 Programming with steno steno 2:35- 2:45 Mentoring VS-Coders as an Emacsian (or How to show not tell people about the wonders of Emacs) mentor 3:10- 3:40 Emacs saves the Web (maybe) web 3:55- 4:15 Sharing Emacs is Caring Emacs: Emacs education and why I embraced video sharing 4:30- 4:40 Sunday closing remarks sun-close 10:00-10:20 Bringing joy to Scheme programming scheme 10:35-10:55 GNU Emacs: A World of Possibilities world 11:10-11:20 A modern Emacs look-and-feel without pain flat 11:35-11:55 The Emacsen family, the design of an Emacs and the importance of Lisp emacsen 1:00- 1:20 emacs-gc-stats: Does garbage collection actually slow down Emacs? gc 1:35- 2:15 hyperdrive.el: Peer-to-peer filesystem in Emacs hyperdrive 2:30- 2:45 Writing a language server in OCaml for Emacs, fun, and profit lspocaml 3:00- 3:30 What I learned by writing test cases for GNU Hyperbole test 3:45- 4:25 Windows into Freedom windows 9 AM 10 AM 11 AM 12 PM 1 PM 2 PM 3 PM 4 PM 5 PM
[[!toc ]] diff --git a/2023/info/windows-before.md b/2023/info/windows-before.md index 7db62d9a..18106a85 100644 --- a/2023/info/windows-before.md +++ b/2023/info/windows-before.md @@ -1,7 +1,7 @@ The following image shows where the talk is in the schedule for Sun 2023-12-03. Solid lines show talks with Q&A via BigBlueButton. Dashed lines show talks with Q&A via IRC or Etherpad.
- Schedule for Sunday Sunday 9:00- 9:05 Sunday opening remarks sun-open 9:05- 9:25 Top 10 ways Hyperbole amps up Emacs hyperamp 9:40-10:00 Using Koutline for stream of thought journaling koutline 10:10-10:20 Parallel text replacement parallel 10:35-10:45 Eat and Eat powered Eshell, fast featureful terminal inside Emacs eat 11:00-11:20 The browser in a buffer poltys 11:35-11:55 Speedcubing in Emacs cubing 1:00- 1:40 Emacs MultiMedia System (EMMS) emms 1:55- 2:25 Programming with steno steno 2:35- 2:45 Mentoring VS-Coders as an Emacsian (or How to show not tell people about the wonders of Emacs) mentor 3:10- 3:40 Emacs saves the Web (maybe) web 3:55- 4:15 Sharing Emacs is Caring Emacs: Emacs education and why I embraced video sharing 4:30- 4:40 Sunday closing remarks sun-close 10:00-10:20 Bringing joy to Scheme programming scheme 10:35-10:55 GNU Emacs: A World of Possibilities world 11:10-11:20 A modern Emacs look-and-feel without pain flat 11:35-11:55 The Emacsen family, the design of an Emacs and the importance of Lisp emacsen 1:00- 1:20 emacs-gc-stats: Does garbage collection actually slow down Emacs? gc 1:35- 2:15 hyperdrive.el: Peer-to-peer filesystem in Emacs hyperdrive 2:30- 2:45 Writing a language server in OCaml for Emacs, fun, and profit lspocaml 3:00- 3:30 What I learned by writing test cases for GNU Hyperbole test 3:45- 4:25 Windows into Freedom windows 9 AM 10 AM 11 AM 12 PM 1 PM 2 PM 3 PM 4 PM 5 PM + Schedule for Sunday Sunday 8:59- 9:05 Sunday opening remarks sun-open 9:05- 9:25 Top 10 ways Hyperbole amps up Emacs hyperamp 9:40-10:00 Using Koutline for stream of thought journaling koutline 10:10-10:20 Parallel text replacement parallel 10:35-10:45 Eat and Eat powered Eshell, fast featureful terminal inside Emacs eat 11:00-11:20 The browser in a buffer poltys 11:35-11:55 Speedcubing in Emacs cubing 1:00- 1:40 Emacs MultiMedia System (EMMS) emms 1:55- 2:25 Programming with steno steno 2:35- 2:45 Mentoring VS-Coders as an Emacsian (or How to show not tell people about the wonders of Emacs) mentor 3:10- 3:40 Emacs saves the Web (maybe) web 3:55- 4:15 Sharing Emacs is Caring Emacs: Emacs education and why I embraced video sharing 4:30- 4:40 Sunday closing remarks sun-close 10:00-10:20 Bringing joy to Scheme programming scheme 10:35-10:55 GNU Emacs: A World of Possibilities world 11:10-11:20 A modern Emacs look-and-feel without pain flat 11:35-11:55 The Emacsen family, the design of an Emacs and the importance of Lisp emacsen 1:00- 1:20 emacs-gc-stats: Does garbage collection actually slow down Emacs? gc 1:35- 2:15 hyperdrive.el: Peer-to-peer filesystem in Emacs hyperdrive 2:30- 2:45 Writing a language server in OCaml for Emacs, fun, and profit lspocaml 3:00- 3:30 What I learned by writing test cases for GNU Hyperbole test 3:45- 4:25 Windows into Freedom windows 9 AM 10 AM 11 AM 12 PM 1 PM 2 PM 3 PM 4 PM 5 PM
[[!toc ]] diff --git a/2023/info/world-before.md b/2023/info/world-before.md index 54372928..91850768 100644 --- a/2023/info/world-before.md +++ b/2023/info/world-before.md @@ -1,7 +1,7 @@ The following image shows where the talk is in the schedule for Sun 2023-12-03. Solid lines show talks with Q&A via BigBlueButton. Dashed lines show talks with Q&A via IRC or Etherpad.
- Schedule for Sunday Sunday 9:00- 9:05 Sunday opening remarks sun-open 9:05- 9:25 Top 10 ways Hyperbole amps up Emacs hyperamp 9:40-10:00 Using Koutline for stream of thought journaling koutline 10:10-10:20 Parallel text replacement parallel 10:35-10:45 Eat and Eat powered Eshell, fast featureful terminal inside Emacs eat 11:00-11:20 The browser in a buffer poltys 11:35-11:55 Speedcubing in Emacs cubing 1:00- 1:40 Emacs MultiMedia System (EMMS) emms 1:55- 2:25 Programming with steno steno 2:35- 2:45 Mentoring VS-Coders as an Emacsian (or How to show not tell people about the wonders of Emacs) mentor 3:10- 3:40 Emacs saves the Web (maybe) web 3:55- 4:15 Sharing Emacs is Caring Emacs: Emacs education and why I embraced video sharing 4:30- 4:40 Sunday closing remarks sun-close 10:00-10:20 Bringing joy to Scheme programming scheme 10:35-10:55 GNU Emacs: A World of Possibilities world 11:10-11:20 A modern Emacs look-and-feel without pain flat 11:35-11:55 The Emacsen family, the design of an Emacs and the importance of Lisp emacsen 1:00- 1:20 emacs-gc-stats: Does garbage collection actually slow down Emacs? gc 1:35- 2:15 hyperdrive.el: Peer-to-peer filesystem in Emacs hyperdrive 2:30- 2:45 Writing a language server in OCaml for Emacs, fun, and profit lspocaml 3:00- 3:30 What I learned by writing test cases for GNU Hyperbole test 3:45- 4:25 Windows into Freedom windows 9 AM 10 AM 11 AM 12 PM 1 PM 2 PM 3 PM 4 PM 5 PM + Schedule for Sunday Sunday 8:59- 9:05 Sunday opening remarks sun-open 9:05- 9:25 Top 10 ways Hyperbole amps up Emacs hyperamp 9:40-10:00 Using Koutline for stream of thought journaling koutline 10:10-10:20 Parallel text replacement parallel 10:35-10:45 Eat and Eat powered Eshell, fast featureful terminal inside Emacs eat 11:00-11:20 The browser in a buffer poltys 11:35-11:55 Speedcubing in Emacs cubing 1:00- 1:40 Emacs MultiMedia System (EMMS) emms 1:55- 2:25 Programming with steno steno 2:35- 2:45 Mentoring VS-Coders as an Emacsian (or How to show not tell people about the wonders of Emacs) mentor 3:10- 3:40 Emacs saves the Web (maybe) web 3:55- 4:15 Sharing Emacs is Caring Emacs: Emacs education and why I embraced video sharing 4:30- 4:40 Sunday closing remarks sun-close 10:00-10:20 Bringing joy to Scheme programming scheme 10:35-10:55 GNU Emacs: A World of Possibilities world 11:10-11:20 A modern Emacs look-and-feel without pain flat 11:35-11:55 The Emacsen family, the design of an Emacs and the importance of Lisp emacsen 1:00- 1:20 emacs-gc-stats: Does garbage collection actually slow down Emacs? gc 1:35- 2:15 hyperdrive.el: Peer-to-peer filesystem in Emacs hyperdrive 2:30- 2:45 Writing a language server in OCaml for Emacs, fun, and profit lspocaml 3:00- 3:30 What I learned by writing test cases for GNU Hyperbole test 3:45- 4:25 Windows into Freedom windows 9 AM 10 AM 11 AM 12 PM 1 PM 2 PM 3 PM 4 PM 5 PM
[[!toc ]] diff --git a/2023/schedule-2023-12-03.md b/2023/schedule-2023-12-03.md index 6e649470..28ac654d 100644 --- a/2023/schedule-2023-12-03.md +++ b/2023/schedule-2023-12-03.md @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/2023/schedule-details.md b/2023/schedule-details.md index 3f5e2329..82831fbd 100644 --- a/2023/schedule-details.md +++ b/2023/schedule-details.md @@ -38,7 +38,7 @@ Jump to: Sat Dec 2 - S [[!inline pages="internal(2023/schedule-2023-12-03)" raw="yes"]]
-[[!template id=sched time="""5""" q-and-a="""""" startutc="""2023-12-03T14:00:00+0000""" endutc="""2023-12-03T14:05:00+0000""" start="""9:00""" end="""9:05""" title="""Sunday opening remarks""" url="""/2023/talks/sun-open""" track="""General""" watch="""https://emacsconf.org/2023/watch/gen""" slug="""sun-open""" note=""""""]] +[[!template id=sched time="""5""" q-and-a="""""" startutc="""2023-12-03T13:59:00+0000""" endutc="""2023-12-03T14:05:00+0000""" start="""8:59""" end="""9:05""" title="""Sunday opening remarks""" url="""/2023/talks/sun-open""" track="""General""" watch="""https://emacsconf.org/2023/watch/gen""" slug="""sun-open""" note=""""""]] [[!template id=sched time="""20""" q-and-a="""BBB""" startutc="""2023-12-03T14:05:00+0000""" endutc="""2023-12-03T14:25:00+0000""" start="""9:05""" end="""9:25""" title="""Top 10 ways Hyperbole amps up Emacs""" url="""/2023/talks/hyperamp""" speakers="""Robert Weiner""" track="""General""" watch="""https://emacsconf.org/2023/watch/gen""" slug="""hyperamp""" note=""""""]] [[!template id=sched time="""20""" q-and-a="""#emacsconf""" startutc="""2023-12-03T14:40:00+0000""" endutc="""2023-12-03T15:00:00+0000""" start="""9:40""" end="""10:00""" title="""Using Koutline for stream of thought journaling""" url="""/2023/talks/koutline""" speakers="""Matthew Jorgensen (PlasmaStrike)""" track="""General""" watch="""https://emacsconf.org/2023/watch/gen""" slug="""koutline""" note=""""""]] [[!template id=sched time="""20""" q-and-a="""BBB""" startutc="""2023-12-03T15:00:00+0000""" endutc="""2023-12-03T15:20:00+0000""" start="""10:00""" end="""10:20""" title="""Bringing joy to Scheme programming""" url="""/2023/talks/scheme""" speakers="""Andrew Tropin""" track="""Development""" watch="""https://emacsconf.org/2023/watch/dev""" slug="""scheme""" note="""captioned"""]] @@ -53,8 +53,8 @@ Jump to: Sat Dec 2 - S [[!template id=sched time="""20""" q-and-a="""BBB""" startutc="""2023-12-03T18:00:00+0000""" endutc="""2023-12-03T18:20:00+0000""" start="""1:00""" end="""1:20""" title="""emacs-gc-stats: Does garbage collection actually slow down Emacs?""" url="""/2023/talks/gc""" speakers="""Ihor Radchenko""" track="""Development""" watch="""https://emacsconf.org/2023/watch/dev""" slug="""gc""" note=""""""]] [[!template id=sched time="""40""" q-and-a="""BBB""" note="""Actually a general-audience talk; just on the development track for scheduling purposes""" startutc="""2023-12-03T18:35:00+0000""" endutc="""2023-12-03T19:15:00+0000""" start="""1:35""" end="""2:15""" title="""hyperdrive.el: Peer-to-peer filesystem in Emacs""" url="""/2023/talks/hyperdrive""" speakers="""Joseph Turner and Protesilaos Stavrou""" track="""Development""" watch="""https://emacsconf.org/2023/watch/dev""" slug="""hyperdrive""" note="""captioned"""]] [[!template id=sched time="""30""" q-and-a="""none""" startutc="""2023-12-03T18:55:00+0000""" endutc="""2023-12-03T19:25:00+0000""" start="""1:55""" end="""2:25""" title="""Programming with steno""" url="""/2023/talks/steno""" speakers="""Daniel Alejandro Tapia""" track="""General""" watch="""https://emacsconf.org/2023/watch/gen""" slug="""steno""" note="""captioned"""]] -[[!template id=sched time="""15""" q-and-a="""BBB""" startutc="""2023-12-03T19:30:00+0000""" endutc="""2023-12-03T19:45:00+0000""" start="""2:30""" end="""2:45""" title="""Writing a language server in OCaml for Emacs, fun, and profit""" url="""/2023/talks/lspocaml""" speakers="""Austin Theriault""" track="""Development""" watch="""https://emacsconf.org/2023/watch/dev""" slug="""lspocaml""" note=""""""]] -[[!template id=sched time="""10""" q-and-a="""BBB""" startutc="""2023-12-03T19:35:00+0000""" endutc="""2023-12-03T19:45:00+0000""" start="""2:35""" end="""2:45""" title="""Mentoring VS-Coders as an Emacsian (or How to show not tell people about the wonders of Emacs)""" url="""/2023/talks/mentor""" speakers="""Jeremy Friesen""" track="""General""" watch="""https://emacsconf.org/2023/watch/gen""" slug="""mentor""" note=""""""]] +[[!template id=sched time="""15""" q-and-a="""BBB""" startutc="""2023-12-03T19:30:00+0000""" endutc="""2023-12-03T19:45:00+0000""" start="""2:30""" end="""2:45""" title="""Writing a language server in OCaml for Emacs, fun, and profit""" url="""/2023/talks/lspocaml""" speakers="""Austin Theriault""" track="""Development""" watch="""https://emacsconf.org/2023/watch/dev""" slug="""lspocaml""" note="""captioned"""]] +[[!template id=sched time="""10""" q-and-a="""BBB""" startutc="""2023-12-03T19:35:00+0000""" endutc="""2023-12-03T19:45:00+0000""" start="""2:35""" end="""2:45""" title="""Mentoring VS-Coders as an Emacsian (or How to show not tell people about the wonders of Emacs)""" url="""/2023/talks/mentor""" speakers="""Jeremy Friesen""" track="""General""" watch="""https://emacsconf.org/2023/watch/gen""" slug="""mentor""" note="""captioned"""]] [[!template id=sched time="""30""" q-and-a="""BBB""" startutc="""2023-12-03T20:00:00+0000""" endutc="""2023-12-03T20:30:00+0000""" start="""3:00""" end="""3:30""" title="""What I learned by writing test cases for GNU Hyperbole""" url="""/2023/talks/test""" speakers="""Mats Lidell""" track="""Development""" watch="""https://emacsconf.org/2023/watch/dev""" slug="""test""" note="""captioned"""]] [[!template id=sched time="""30""" q-and-a="""BBB""" startutc="""2023-12-03T20:10:00+0000""" endutc="""2023-12-03T20:40:00+0000""" start="""3:10""" end="""3:40""" title="""Emacs saves the Web (maybe)""" url="""/2023/talks/web""" speakers="""Yuchen Pei""" track="""General""" watch="""https://emacsconf.org/2023/watch/gen""" slug="""web""" note="""captioned"""]] [[!template id=sched time="""40""" q-and-a="""BBB""" startutc="""2023-12-03T20:45:00+0000""" endutc="""2023-12-03T21:25:00+0000""" start="""3:45""" end="""4:25""" title="""Windows into Freedom""" url="""/2023/talks/windows""" speakers="""Corwin Brust""" track="""Development""" watch="""https://emacsconf.org/2023/watch/dev""" slug="""windows""" note=""""""]] -- cgit v1.2.3