diff options
author | Sacha Chua <sacha@sachachua.com> | 2022-11-26 15:35:36 -0500 |
---|---|---|
committer | Sacha Chua <sacha@sachachua.com> | 2022-11-26 15:35:36 -0500 |
commit | cde356b1494958a2e439e04e87115fff9387c641 (patch) | |
tree | 7d4d708b997fc2a8e14a1c6abb163f44d4151048 | |
parent | 7f0effe94876258bb9cc57ac88e8240aaaa66c3f (diff) | |
download | emacsconf-wiki-cde356b1494958a2e439e04e87115fff9387c641.tar.xz emacsconf-wiki-cde356b1494958a2e439e04e87115fff9387c641.zip |
remove unneeded subdirectory
Diffstat (limited to '')
-rw-r--r-- | 2022/organizers-notebook.md | 610 | ||||
-rw-r--r-- | 2022/organizers-notebook/index.org | 49 | ||||
-rw-r--r-- | 2022/watch/dev.md | 16 | ||||
-rw-r--r-- | 2022/watch/gen.md | 16 |
4 files changed, 446 insertions, 245 deletions
diff --git a/2022/organizers-notebook.md b/2022/organizers-notebook.md index 4c9f0c3f..d0592cbb 100644 --- a/2022/organizers-notebook.md +++ b/2022/organizers-notebook.md @@ -26,12 +26,6 @@ Projects and tasks: - [Make checkin and Q&A process slide](#qa):sachac: - [Caption talks and make chapter headings](#caption) - [Prepare intros for the hosts to read](#host-intros):sachac: -- [Review the submissions for encoding issues](#review-submissions):zaeph: -- [Plan in-case-of-emergency schedule for dropping back to one track after Saturday morning](#one-track):sachac:derisk: -- [Create protocol for live Q&A](#live-protocol):zaeph: -- [Update viewing instructions and watch pages](#write-viewing):sachac: -- [Prepare to handle talk state changes](#publish-live):sachac:publish: -- [Set up stream events on Toobnix and YouTube](#other-streams):sachac:stream: - [Set up talks on Toobnix and YouTube](#video-platforms):sachac:yt:toobnix: - [Do another run](#dry-run) - [Turn off file upload service on media.emacsconf.org](#upload-off):sachac:infra: @@ -110,7 +104,7 @@ Schedule by status: (gray: waiting, light yellow: processing, yellow: to assign, <tr> <td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2022-10-23 Sun]</span></span></td> -<td class="org-left"><a href="#upload">file upload</a>, <a href="#write-viewing">watch pages</a></td> +<td class="org-left"><a href="#upload">file upload</a>, </td> <td class="org-left"><a href="#mail-upload">file upload instructions</a>, backstage</td> <td class="org-left"><a href="#volunteer-2022-10-23">training</a></td> <td class="org-left"> </td> @@ -214,7 +208,7 @@ interests you! <tr> -<td class="org-left"><a href="#publish-live">talk pages</a></td> +<td class="org-left"> </td> <td class="org-left">DONE S: link to stream, pad, IRC</td> <td class="org-left"><b>S: link to prerec when live</b></td> <td class="org-left">embed stream, pad, IRC, prerec</td> @@ -294,7 +288,7 @@ interests you! <tr> -<td class="org-left"><a href="#write-viewing">watch page</a></td> +<td class="org-left"> </td> <td class="org-left">tracks</td> <td class="org-left">+ IRC</td> <td class="org-left"><b>DONE S: + talk info</b>, maybe even current/recent/next</td> @@ -318,7 +312,7 @@ interests you! <tr> -<td class="org-left"><a href="#irc-announce">IRC announcements</a></td> +<td class="org-left"> </td> <td class="org-left">ERC commands</td> <td class="org-left"><b>DONE S: hook-based</b></td> <td class="org-left">timer-based</td> @@ -391,12 +385,6 @@ interests you! - [Make checkin and Q&A process slide](#qa):sachac: - [Caption talks and make chapter headings](#caption) - [Prepare intros for the hosts to read](#host-intros):sachac: -- [Review the submissions for encoding issues](#review-submissions):zaeph: -- [Plan in-case-of-emergency schedule for dropping back to one track after Saturday morning](#one-track):sachac:derisk: -- [Create protocol for live Q&A](#live-protocol):zaeph: -- [Update viewing instructions and watch pages](#write-viewing):sachac: -- [Prepare to handle talk state changes](#publish-live):sachac:publish: -- [Set up stream events on Toobnix and YouTube](#other-streams):sachac:stream: - [Set up talks on Toobnix and YouTube](#video-platforms):sachac:yt:toobnix: - [Do another run](#dry-run) - [Turn off file upload service on media.emacsconf.org](#upload-off):sachac:infra: @@ -469,171 +457,95 @@ can paste in <https://emacsconf.org/2022/qa/> for tips. also in :INTRO\_NOTE: in conf.org so that we can plop it into the hyperlists. -### TODO Write intros for all the other talks - - -### DONE Set up Etherpad with the talks and see if we can involve the speakers and captioning volunteers :sachac: - - -<a id="review-submissions"></a> - -## TODO Review the submissions for encoding issues :zaeph: - -so that we don’t get surprised by missing or corrupted videos - - -<a id="one-track"></a> - -## Plan in-case-of-emergency schedule for dropping back to one track after Saturday morning :sachac:derisk: - -We might be able to do it on a modular basis (Saturday afternoon, Sunday morning, or Sunday afternoon). -We need a quick way to notify the affected speakers, and we should give them a heads-up as well. -We also need a quick way to update the schedule. - - -### STARTED Update conf.org and the wiki based on the selected emergency schedule - - -### DONE Give speakers a heads-up regarding schedule tweaks and the potential for bigger schedule changes - - -### TODO Draft the code for mailing all the affected speakers - - -### Saturday afternoon - -- ![img](emergency-back-to-one-sat-pm.svg) - - -### Sunday morning - -- ![img](emergency-back-to-one-sun-am.svg) - - -### Sunday afternoon - -- ![img](emergency-back-to-one-sun-pm.svg) - - -### TODO Get the emergency schedule sorted out so that we can easily switch to it - -It needs to be applied - - -<a id="live-protocol"></a> - -## TODO Create protocol for live Q&A :zaeph: - -Objective: - -- Move smoothly from the talk to live-questions, and have adaptations based on how many questions the talk receives. - -Comments: - -- It would be nice to have a protocol with speakers to tell us that they’re uncomfortable with a question, just so that we can find a smooth way to skip it. - - -<a id="write-viewing"></a> - -## TODO Update viewing instructions and watch pages :sachac: - -Extra stuff to consider adding: - -- Suggestions for mpv-filter to invert colourscape. - -Also add to watch page - -- <https://emacsconf.org/2022/watch/> -- <https://emacsconf.org/2022/watch/gen/> -- <https://emacsconf.org/2022/watch/dev/> - - -### DONE Add Q&A distinction to SVG schedule - - -### CANCELLED Make it easy to get to recent/current/next talk information while watching - -Maybe links to the current shift’s pads - - -### DONE Add pad to sched directive so that it will be linked when the pads are live - - -### DONE Update <https://live.emacsconf.org/> as well - -Ansible or Emacs Lisp? Emacs Lisp -control the status too - -also 2022/ and 2022/watch - -M-x emacsconf-stream-update-status-page - - -<a id="publish-live"></a> - -## TODO Prepare to handle talk state changes :sachac:publish: - - -### Talk states - -- **WAITING\_FOR\_PREREC(p):** waiting for the speaker to upload. Use this - to nudge people weekly after the deadline, keeping PREREC\_INFO in - mind for speakers who have told us they’ll need extra time. -- **TO\_PROCESS(a):** talk has been uploaded. zaeph will rename it, - process it using ffmpeg/audacity, and then put it in - media.emacsconf.org/2022/backstage along with any related files. - - VIDEO\_FILE - - VIDEO\_FILE\_SIZE - - VIDEO\_DURATION -- **TO\_AUTOCAP(y):** sachac will prepare automated captions for easier editing - - YOUTUBE\_URL - - TOOBNIX\_URL -- **TO\_ASSIGN(a):** captioning volunteers can call dibs on this talk by - e-mailing sacha@sachachua.com. talk will be listed on media.emacsconf.org/2022/backstage/index.html -- **TO\_CAPTION(c):** captioning is in progress. - - CAPTIONER property is set to the volunteer. -- **TO\_STREAM(s):** talk is captioned and ready to play. Transcript directives are prepared so that the talk can be published with the transcript when it streams. -- **PLAYING(m):** talk is being streamed live; announce in IRC and publish prerec and other resources on talk page -- **CLOSED\_Q(q):** host is doing closed Q&A session with speaker; announce Q&A in IRC, friendly BBB page should refresh with waiting message -- **OPEN\_Q(o):** host is doing open Q&A session with speaker, friendly BBB page should redirect to BBB; update IRC and Etherpad -- **UNSTREAMED\_Q(u):** Q&A session with speaker continues off the stream because another talk has started playing; list on current page -- **TO\_ARCHIVE:** Q&A session has ended; update talk page and current page. At some point, archive the pad and IRC onto the talk page. -- **TO\_EXTRACT:** Extract the recording from the Q&A room - - QA\_YOUTUBE - - QA\_TOOBNIX -- **TO\_FOLLOW\_UP:** Send questions to the speaker for follow-up -- **DONE(x):** all done, yay! -- **CANCELLED(!):** maybe next time - -Other things that aren’t tracked by todo status: - -- **CHECK\_IN: t:** once the speaker has been checked into the BBB room or IRC - - -### TODO Check process for posting prerecs to the talk page and media directory as soon as the talk is live :sachac: - -Move to public directory and create a link from the backstage directory -Update the wiki page - - -<a id="irc-announce"></a> - -### DONE Prepare to announce talks on IRC - -emacsconf-erc.el in the emacsconf-el repo - -- talks should be announced in their relevant track channel and in the main channel - - video starting now - - Q&A starting now & where -- a small announcement might go into the hallway and emacsconf-org -- announcement can include talk page, pad, IRC nick, pronouns +### STARTED Write intros for all the other talks +so that people on other platforms can come across EmacsConf -<a id="other-streams"></a> -## DONE Set up stream events on Toobnix and YouTube :sachac:stream: +### TODO Record a few sample intros to test the workflow -so that people on other platforms can come across EmacsConf + ;; (let ((subtitles (subed-parse-file "~/sync/Phone/intro-sample.vtt"))) + ;; (insert + ;; (pp-to-string subtitles)) + + ;; ) + + (let* ((default-directory "~/sync/Phone") + (intros (quote + (("journalism" + ("00:00:00.000" 0 7559 "The next talk is called \"Emacs journalism" nil) + ("00:00:07.560" 7560 9879 "(or everything's a nail if you hit it with Emacs)\"," nil) + ("00:00:09.880" 9880 10800 "by Alfred Zanini." nil) + ("00:00:11.680" 11680 14510 "They will answer questions via BigBlueButton." nil) + ("00:00:14.520" 14520 16919 "You can join using the URL from the talk page" nil) + ("00:00:16.920" 16920 22119 "or ask questions through Etherpad or IRC." nil)) + ("school" + ("00:00:27.840" 27840 29840 "The next talk is called \"Back to school with Emacs\"." nil) + ("00:00:34.240" 34240 36559 "Daniel Rosel demonstrates Lectorg," nil) + ("00:00:36.560" 36560 39280 "a package that he wrote to make note taking faster and simpler." nil) + ("00:00:40.040" 40040 44319 "Afterwards, he will handle questions over IRC." nil)) + ("treesitter" + ("00:00:44.320" 44320 45319 "The next talk is called" nil) + ("00:00:45.320" 45320 47600 "\"Tree-sitter beyond syntax highlighting\"." nil) + ("00:00:48.360" 48360 51559 "In this talk, Abin Simon shares many ways in which" nil) + ("00:00:51.560" 51560 54360 "Tree-sitter can help improve your text editing workflow." nil) + ("00:00:59.800" 59800 62399 "Afterwards, he will answer questions via IRC." nil)) + ("handwritten" + ("00:01:07.960" 67960 69079 "The next talk is called" nil) + ("00:01:09.080" 69080 71840 "\"How to incorporate handwritten notes into Emacs Orgmode\"." nil) + ("00:01:12.440" 72440 74639 "In this talk, Bala Ramadurai shares" nil) + ("00:01:14.640" 74640 76479 "how he takes handwritten notes" nil) + ("00:01:16.480" 76480 78080 "and includes them in his Org Mode files." nil) + ("00:01:27.520" 87520 93479 "Afterwards, he will handle questions over BigBlueButton." nil) + ("00:00:14.520" 14520 16919 "You can join using the URL from the talk page" nil) + ("00:00:16.920" 16920 22119 "or ask questions through Etherpad or IRC." nil)) + ("lspbridge" + ("00:01:33.480" 93480 94479 "The next talk is called" nil) + ("00:01:34.480" 94480 97319 "\"lsp-bridge: complete asynchronous LSP client\"," nil) + ("00:01:37.320" 97320 99360 "by Andy Stewart and Matthew Zeng." nil) + ("00:01:40.360" 100360 102799 "They will answer questions via IRC" nil) + ("00:01:42.800" 102800 107439 "in the #emacsconf-dev channel." nil)) + ("science" + ("00:01:47.440" 107440 108199 "The next talk is called" nil) + ("00:01:48.200" 108200 110359 "\"Writing and organizing literature notes" nil) + ("00:01:50.360" 110360 111480 "for scientific writing\"." nil) + ("00:02:01.920" 121920 124759 "In this talk, Vidianos Giannitsis shares" nil) + ("00:02:04.760" 124760 128399 "how he uses Org Roam, org-noter, and zetteldesk.el" nil) + ("00:02:08.400" 128400 130880 "to manage his literature notes and write articles." nil) + ("00:02:11.520" 131520 134120 "Afterwards, he will handle questions over BigBlueButton." nil) + ("00:00:14.520" 14520 16919 "You can join using the URL from the talk page" nil) + ("00:00:16.920" 16920 22119 "or ask questions through Etherpad or IRC." nil))))) + (commands (mapconcat + (lambda (intro) + (compile-media-get-command + `(;; (video + ;; (:source + ;; ,(expand-file-name (concat (car intro) ".png") + ;; (expand-file-name + ;; "in-between" emacsconf-stream-asset-dir)) + ;; :duration + ;; ,(seq-reduce (lambda (prev sub) + ;; (+ prev (- (elt sub 2) (elt sub 1)))) + ;; (cdr intro) 0) + ;; )) + (audio + ,@(mapcar + (lambda (sub) + (list :source "intro-sample.opus" + :start-ms (elt sub 1) + :stop-ms (elt sub 2))) + (cdr intro)))) + (expand-file-name + (concat (car intro) ".opus") + (expand-file-name "intros" + emacsconf-stream-asset-dir)))) + (seq-take intros 1) + "\n")) + ) + (kill-new commands) + commands) + +mogrify -alpha off file.png ### DONE Write the restreaming shell scripts @@ -691,6 +603,18 @@ Videos are shared under the terms of the Creative Commons Attribution-ShareAlike International (CC BY-SA 4.0) license. Please observe the guidelines for conduct: <https://emacsconf.org/conduct/> +### DONE Test start restream on a timer :emacsconf: + +ssh live0.emacsconf.org +confirm that Toobnix test stream isn’t playing + +echo ’/bin/bash /home/orga/screen-restream-test-toobnix.sh’ | at ’now + 1 minute’ +echo ’/bin/bash /home/orga/screen-restream-test-toobnix.sh’ | at 8:30 + + +### DONE Add toobnix url on schedule + + <a id="video-platforms"></a> ## TODO Set up talks on Toobnix and YouTube :sachac:yt:toobnix: @@ -961,13 +885,13 @@ Try them in an Etherpad ### DONE Try writing it to an Etherpad -### TODO Revisit the hyperlists to make sure they make sense +### DONE Revisit the hyperlists to make sure they make sense ### DONE Add intro notes and specific talk notes to the hyperlist -### TODO Make a hyperlist for checking people in for easier copying and pasting +### DONE Make a hyperlist for checking people in for easier copying and pasting ### TODO Send FlowyCoder hyperlist for checking people in @@ -988,25 +912,67 @@ Pattern: <https://media.emacsconf.org/2022/backstage/current/room/slug> -### TODO Regenerate hyperlist if sched changes +### CANCELLED Regenerate hyperlist if sched changes + + +### CANCELLED Put shell commands on a separate line so they’re easy to select and run <a id="rec-intro"></a> ## TODO Record intro/outro for day-1 and day-2 :zaeph: -- Opening remarks - - Schedule overview +- Opening remarks Sat + - Welcome to EmacsConf 2022 + - What’s new at EmacsConf? + - This year, we have two tracks: General and Development. + - Streaming with open captions thanks to speakers and volunteers + - Prerecorded videos will be published as soon as possible (aiming + for publishing them as the talks stream), so you can check the + talk page for the video and the transcript a few minutes after the + talk starts. - How to participate - + - You can watch at live.emacsconf.org using free and open source software. + - Select the stream you’re interested in. + - There are quick shortcuts on the watch page so that you can + open the Etherpad, Q&A, or IRC. + - We recommend adding notes asking questions in the Etherpad + for the talk. That way, it’s easier to organize the + questions and answers, and the host can read questions out + to the speaker as needed. + - You can also use the track-specific IRC channels + (#emacsconf-gen and #emacsconf-dev). + - You can look at the schedule to see what else is going on. + - IRC: + - You can use #emacsconf for hallway conversations. + - If you need to reach conference organizers, you can use the + \#emacsconf-org IRC channel or e-mail sacha@sachachua.com . + - General feedback in pad.emacsconf.org/2022 - Closing remarks Sat - Thanks + - Thank you to all the speakers and participants. + - This year’s conference will be hosted by zaeph, bandali, and + vetrivln, and streamed by corwin, bandali, and jman. + - Thanks to our captioning volunteers: sachac, bhavin192, Tom + Purl, Hannah Miller, triko, and anush, and also to the speakers + who captioned their own talks. Thanks to quiliro for translating + the meetups talk into Spanish. and to Akshay Gaikwad for + contributing some designs. + - Thanks to Fosshost for the BigBlueButton server and the media + server, and to the Free Software Foundation for the mailing + lists. Thanks to Ry P for the server that we’re using for OBS + streaming and for processing videos. - Come back tomorrow - Closing remarks Sun - Thanks - +### DONE Review opening remarks from last year + +<https://emacsconf.org/2021/talks/day1-open/> + + <a id="link-pages"></a> ## TODO Add category tags and possibly links between talks across 2022 and all previous years :quiliro:wiki: @@ -1031,6 +997,11 @@ Pattern: ### TODO Add start and end attributes to the brief stuff for possible JS/CSS +### TODO Consider putting the subtitles outside the video <https://stackoverflow.com/questions/61826237/is-there-a-simple-way-to-position-subtitles-below-the-hlml5-video> :emacsconf: + +<file:///home/sacha/sync/orgzly/Inbox.md> + + <a id="ansible"></a> ## TODO Build up the ansible playbook :sachac:opal: @@ -1193,6 +1164,12 @@ if we can get the anchor plugin `emacsconf-pad-export-initial-content-for-all-talks` +### SOMEDAY Cache pad times in a json or el :emacsconf: + + +### DONE Confirm that we can use the time slider to move back in time + + <a id="maybe-projects"></a> # Ideas for next year :nextyear: @@ -1327,13 +1304,16 @@ That might be interesting for reviewing text recognition output <https://github.com/e8johan/virtual-conf-resources> +## TODO Consider hosting reveal.js for EmacsConf + + <a id="decisions"></a> # Things to figure out / decisions to make - [How do we want to coordinate during the conference itself?](#coordination) - [How do we want to make the full schedule more manageable?](#sched-decision) -- [Do we want to skip the closed Q&A and go straight to open?](#org67ad8c0) +- [Do we want to skip the closed Q&A and go straight to open?](#org8b961f2) - [How much do we want to enrich the wiki with JS?](#wiki-design) - [How do we want to make better use of Etherpad?](#pad-decision) - [Can we nudge people to ask IRC questions in a way that will make it easier for us to follow them?](#irc-markers) @@ -1412,7 +1392,7 @@ Shifts will be Sat AM, Sat PM, Sun AM, or Sun PM per track. People can take mult - Better for the viewers and the volunteers -<a id="org67ad8c0"></a> +<a id="org8b961f2"></a> ## Do we want to skip the closed Q&A and go straight to open? @@ -1775,7 +1755,7 @@ AM: 9-12 PM EST, PM: 1-5 PM EST (plus a little extra for setup/transition) Saturday Dec 3 -<table id="org09eb16f" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"> +<table id="orgf9f0de2" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"> <colgroup> @@ -1855,7 +1835,7 @@ publicvoit - pad until 4pm on Sat, until 2pm on Sun Sunday Dec 4 -<table id="orga7f9477" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"> +<table id="org8f37437" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"> <colgroup> @@ -2421,16 +2401,15 @@ If you’ve got any question on the process, you canget in touch with me (zaeph) ### TODO Update ansible configuration :sachac: -in prod-vars.yml +Clean up the media root -media\_protect\_root: true -icecast\_save\_dump: false +in all.yml -Clean up the media root +test\_mode: false then -ansible-playbook -i inventory.yml prod-playbook.yml –tags media,stream +ansible-playbook -i inventory.yml prod-playbook.yml –tags media,stream,publish ### Test stream setup @@ -2521,6 +2500,8 @@ Links: EmacsConf 2021 starting now: <https://emacsconf.org/2021/> +<a id="other-streams"></a> + ##### Stream @@ -2654,7 +2635,7 @@ Exception: [CHECK is unavailable](#check-gone) - wiki page for talk -#### TODO Make sure VTTs only get published when they’re edited +#### DONE Make sure VTTs only get published when they’re edited ##### publishing @@ -2669,7 +2650,13 @@ Exception: [CHECK is unavailable](#check-gone) #### DONE Fix mapconcat error in updating task status -#### TODO Add intros to wiki pages +#### DONE Add intros to wiki pages + + +#### SOMEDAY Cache video data - audio processed + + +#### DONE Cache video data - edited captions ### Handle Q&A @@ -2896,7 +2883,7 @@ Probably focus on grabbing the audio first and seeing what’s worth keeping Make a table of the form -<table id="orgf01e407" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"> +<table id="org37c2938" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"> <colgroup> @@ -3003,14 +2990,17 @@ See <https://pad.emacsconf.org/premortem> for more. - [Conduct guidelines issue](#conduct) - [CHECK is unavailable](#check-gone) - [HOST is unavailable](#host-gone) -- [Technical issues during a live presentation](#live-issues) -- [Big technical issues with streaming](#stream-issues) +- [Technical issues during a live presentation](#live-issues):stream: +- [Big technical issues with streaming](#stream-issues):stream: - [live0 can’t handle the load or is close to network transfer limit](#network) - [People have a hard time seeing dark-mode presentations (or light-mode)](#dark-mode) -- [Schedule update](#update-sched) -- [New talk](#new-talk) +- [Schedule update](#update-sched):sched: +- [New talk](#new-talk):sched: - [In case we need to do things manually because the task status hooks don’t work](#manual) - [Alternate stream volunteer wants to stream](#alternate) +- [Renamed talk](#renamed) +- [Video playing error, need to play with mpv manually](#play-mpv-manually):stream: +- [Need to restart 480p stream](#restart-480p) <a id="common"></a> @@ -3127,7 +3117,7 @@ sudo -iu ikiwiki – ikiwiki –setup ~ikiwiki/emacsconf.setup <a id="live-issues"></a> -## Technical issues during a live presentation +## Technical issues during a live presentation :stream: - HOST tries to contact the speaker - [? back on track] @@ -3142,10 +3132,12 @@ sudo -iu ikiwiki – ikiwiki –setup ~ikiwiki/emacsconf.setup <a id="stream-issues"></a> -## Big technical issues with streaming +## Big technical issues with streaming :stream: + +<file://ssh:orga@front0.emacsconf.org:/var/www/status.emacsconf.org/index.html> - HOST notifies #emacsconf and #emacsconf-org and adds a note at the top of the ${pad}. -- HOST updates the 2021.md wiki page +- HOST updates the 2022.md wiki page - CHECK publishes prerecordings - media.emacsconf.org - wiki @@ -3175,7 +3167,7 @@ mpv –vf=negate $url <a id="update-sched"></a> -## Schedule update +## Schedule update :sched: - Test the new schedule using the blocks near the beginning of conf.org - emacsconf-publish-update-schedule @@ -3184,7 +3176,7 @@ mpv –vf=negate $url <a id="new-talk"></a> -## New talk +## New talk :sched: - Create entry in conf.org - Fit it into the schedule using the emacsconf-schedule-plan variable @@ -3201,10 +3193,18 @@ mpv –vf=negate $url export SLUG=the ID of the talk +- [TO\_STREAM -> PLAYING](#org855baa1):stream: - [CLOSED\_Q -> OPEN\_Q](#open) - [OPEN\_Q -> TO\_ARCHIVE](#archive) +<a id="org855baa1"></a> + +### TO\_STREAM -> PLAYING :stream: + +play slug (ex: play journalism) + + <a id="open"></a> ### CLOSED\_Q -> OPEN\_Q @@ -3259,6 +3259,39 @@ STATE=before; ssh orga@media.emacsconf.org “cp *home/orga/backstage/assets - MPV goes to MPV sink, browser goes to recording sink, FFMPEG takes in recording monitor +<a id="renamed"></a> + +## Renamed talk + +1. Change conf.org heading. +2. Change the video slug property. +3. Rename any existing files in the backstage area. +4. emacsconf-publish-backstage-index +5. Change the title and heading on the wiki page. +6. Update the schedule (emacsconf-publish-schedule). +7. Update info pages (emacsconf-publish-before-pages). +8. Update the watch pages. + + +<a id="play-mpv-manually"></a> + +## Video playing error, need to play with mpv manually :stream: + +You can skip the intro and play a video by specifying the filename, like this: +play ~/stream/emacsconf-2022-journalism-\* + + +<a id="restart-480p"></a> + +## Need to restart 480p stream + +ssh live + +/usr/local/bin/emacsconf-lowres-dev-on-connect +or +/usr/local/bin/emacsconf-lowres-gen-on-connect + + <a id="archive"></a> # Task archive @@ -3401,6 +3434,14 @@ all talks Slightly annoying to do with JS/CSS because I want it to fall back to an interleaved schedule on small screens, so we would probably need to duplicate the elements and then use media queries. +### SOMEDAY Add caption icon to schedule :emacsconf: + +so that it’s easier for people to see which talks are accessible + + +### DONE Add captioned label in talk index + + ## DONE Process confirmations as we receive them :sachac:zaeph: - Reply to the speaker and Cc -submit to confirm the confirmation. Something like “Confirming your confirmation, no reply needed to this one. Thank you!” @@ -3789,6 +3830,11 @@ Sacha It would be nice to have track-specific icals as well. +### DONE Check icals, create org schedule + +<https://www.reddit.com/r/emacs/comments/yilmhv/emacsconf_2022_dec_3_4_schedule/ixgt1wr?utm_medium=android_app&utm_source=share&context=3> + + <a id="upload"></a> ## DONE Figure out web-based file upload :needsowner:sachac:ansible: @@ -4615,11 +4661,15 @@ Overlay considerations: ### DONE Generate talk banners :sachac: ![img](https://gitlab.com/akshay196/emacsconf-artwork/-/blob/main/2022/talk-banner/sample.svg) +<https://gitlab.com/akshay196/emacsconf-artwork/-/blob/main/2022/overlays/src/> ### TODO Make a list of different things to plug during commercial breaks, like Mastodon :sachac: +### CANCELLED Create a version of in-between that we can use for Q&A, since it’s no longer “Coming Next” + + ## DONE Find volunteers for tech-checks :zaeph: @@ -4800,13 +4850,13 @@ Dry run checklist: - Verify with MPV: - mpv https://live0.emacsconf.org/emacsconf/gen.webm - mpv https://live0.emacsconf.org/emacsconf/dev.webm + mpv https://live0.emacsconf.org/gen.webm + mpv https://live0.emacsconf.org/dev.webm - With luck, the 480p streams will be up automatically as well - mpv https://live0.emacsconf.org/emacsconf/gen-480p.webm - mpv https://live0.emacsconf.org/emacsconf/dev-480p.webm + mpv https://live0.emacsconf.org/gen-480p.webm + mpv https://live0.emacsconf.org/dev-480p.webm ### Connecting to VNC (option B) @@ -4836,11 +4886,11 @@ Dry run checklist: 7. Verify with MPV on your local system: - mpv https://live0.emacsconf.org/emacsconf/$TRACK.webm & + mpv https://live0.emacsconf.org/$TRACK.webm & 8. With luck, the 480p streams will be up automatically as well. On your local system: - mpv https://live0.emacsconf.org/emacsconf/$TRACK-480p.webm & + mpv https://live0.emacsconf.org/$TRACK-480p.webm & 9. Play a video. It should display the video and update the overlays. If you need to update the overlays manually, you can copy files from `/data/emacsconf/overlays` onto `$HOME/other.png` and `$HOME/video.png`. @@ -5084,10 +5134,12 @@ so that the streamer can adjust volume offscreen? - <https://obsproject.com/forum/threads/run-obs-on-vm-in-the-cloud.122543/> -### TODO Automate in-between display? +### DONE Automate in-between display? [Think about what to do with schedule gaps due to cancelled talks](file:///home/sacha/proj/emacsconf/wiki/2022/organizers-notebook/index.md) +emacsconf-stream-display-clock-and-countdown + ### DONE Separate mumble audio so that panic button can still bring in our audio @@ -5102,7 +5154,18 @@ Mumble? <file:///home/sacha/proj/emacsconf/lisp/emacsconf-stream.el> -### TODO Add panic button to OBS settings +### DONE Add panic button to OBS settings + +Ctrl-Shift-M? + + +### DONE Add background music to server :emacsconf: + +zaeph suggests using shoshin’s music + +if ! screen -list | grep -q background; then + screen -S track-mpv ~/stream/background.wav & +fi <a id="caption-workflow"></a> @@ -5312,6 +5375,11 @@ Sacha Chua <https://pypi.org/project/jiwer/> +### SOMEDAY Think about flow for YouTube captions + +are they at the right length? + + ## DONE Find a way to accommodate a specific return-speaker We’re not sure if we’re going to get a presentation or a prerec for them @@ -5548,6 +5616,122 @@ Sacha ### CANCELLED Draft e-mail to send speakers who may need to do it live +### TODO Make sure IRC talks get BBB checkin information if they need to do it live + +survey, orgyear, lspbridge, eev, python + + +### TODO Make sure IRC talks get BBB checkin information if they need to do it live + +survey, orgyear, lspbridge, eev, python + + +<a id="one-track"></a> + +## Plan in-case-of-emergency schedule for dropping back to one track after Saturday morning :sachac:derisk: + +We might be able to do it on a modular basis (Saturday afternoon, Sunday morning, or Sunday afternoon). +We need a quick way to notify the affected speakers, and we should give them a heads-up as well. +We also need a quick way to update the schedule. + + +### DONE Update conf.org and the wiki based on the selected emergency schedule + + +### DONE Give speakers a heads-up regarding schedule tweaks and the potential for bigger schedule changes + + +### DONE Draft the code for mailing all the affected speakers + + +### Saturday afternoon + +- ![img](emergency-back-to-one-sat-pm.svg) + + +### Sunday morning + +- ![img](emergency-back-to-one-sun-am.svg) + + +### Sunday afternoon + +- ![img](emergency-back-to-one-sun-pm.svg) + + +### DONE Get the emergency schedule sorted out so that we can easily switch to it + +To change, set emacsconf-schedule-apply to t +M-x emacsconf-update-schedule +Commit the wiki and push it +Draft the e-mail for emergency schedule + + +### DONE Draft e-mail for emergency schedule + + (defun emacsconf-mail-emergency-update (group &optional template) + "Send emergency schedule update. + GROUP is (email . (talk talk))" + (interactive (list (emacsconf-mail-complete-email-group))) + (setq template (or template (emacsconf-mail-merge-get-template "emergency"))) + (emacsconf-mail-prepare + template + (car group) + (list + :urls (mapconcat (lambda (o) (plist-get o :absolute-url)) (cdr group) " , ") + :emergency emacsconf-emergency-contact + :conf-name emacsconf-name + :year emacsconf-year + :email (plist-get (cadr group) :email) + :plural (if (= (length (cdr group)) 1) "" "s") + :schedule + (mapconcat + (lambda (o) + (concat "Talk: " (plist-get o :title) "\n" + "URL: " (plist-get o :absolute-url) "\n" + "New start of talk: " + (format-time-string + "%b %-e %-I:%M %#p %Z" + (plist-get o :start-time) + emacsconf-timezone) + "\n" + (if (string= emacsconf-timezone (plist-get o :timezone)) + "" + (concat + "which is the same as " + (format-time-string + "%b %-e %-I:%M %#p %Z" + (plist-get o :start-time) + (plist-get o :timezone)))))) + (cdr group) + "\n\n")))) + + +#### Template + +Sorry about the last-minute change. We needed to update the schedule +because two tracks turned out to be too much for us to handle at the +moment. The new schedule will play all the talks on one stream, and +the other stream will handle Q&A. + +Here’s a copy of the updated schedule for your convenience: +${schedule} + +Please check in at least 30 minutes before your talk (or 60 minutes if +you’re going to do it live). <https://emacsconf.org/2022/speakers/> has +more details. + +You can also find the new schedule at the page URL${plural} above. +Please let me know if you can’t make it. We can collect the questions +and you can follow up afterwards. You can reach me by e-mail or in +\#emacsconf-org on IRC, or with this emergency contact info: +${emergency} + +Thank you for your patience! + +Sacha + + <a id="comms"></a> # Communications @@ -5729,7 +5913,7 @@ Sacha Chua emacsconf-cache-dir)) (captioner-info (with-current-buffer (find-file-noselect emacsconf-org-file) - (org-entry-properties (org-find-property "CUSTOM_ID" (plist-get talk :captioner)))))) + (org-entry-properties (org-find-property "CUSTOM_ID" (plist-get talk :captioner)))))) (emacsconf-mail-prepare (emacsconf-mail-merge-get-template "captions") (plist-get talk :email) diff --git a/2022/organizers-notebook/index.org b/2022/organizers-notebook/index.org index be87530b..c5b93a35 100644 --- a/2022/organizers-notebook/index.org +++ b/2022/organizers-notebook/index.org @@ -194,6 +194,11 @@ CLOCK: [2022-11-24 Thu 21:34]--[2022-11-25 Fri 10:57] => 13:23 :END: so that people on other platforms can come across EmacsConf +*** DONE Record a few sample intros to test the workflow +CLOSED: [2022-11-26 Sat 15:34] + +mogrify -alpha off file.png + *** DONE [#A] Write the restreaming shell scripts CLOSED: [2022-11-21 Mon 14:49] SCHEDULED: <2022-11-24 Thu> :PROPERTIES: @@ -1866,16 +1871,16 @@ If you’ve got any question on the process, you canget in touch with me (zaeph) - Coordinate volunteer schedules so all the roles are covered *** TODO [#A] Update ansible configuration :sachac: SCHEDULED: <2022-12-01 Thu> -in prod-vars.yml +Clean up the media root -media_protect_root: true -icecast_save_dump: false +in all.yml + +test_mode: false -Clean up the media root then -ansible-playbook -i inventory.yml prod-playbook.yml --tags media,stream +ansible-playbook -i inventory.yml prod-playbook.yml --tags media,stream,publish *** Test stream setup :PROPERTIES: @@ -2558,7 +2563,7 @@ Options: - STREAM will do the hosting. -** Technical issues during a live presentation +** Technical issues during a live presentation :stream: :PROPERTIES: :CUSTOM_ID: live-issues :END: @@ -2573,13 +2578,15 @@ Options: - [? can't resume]: HOST acknowledges technical issues and says we may be able to follow up after the conference -** Big technical issues with streaming +** Big technical issues with streaming :stream: :PROPERTIES: :CUSTOM_ID: stream-issues :END: +[[file:/ssh:orga@front0.emacsconf.org:/var/www/status.emacsconf.org/index.html]] + - HOST notifies #emacsconf and #emacsconf-org and adds a note at the top of the ${pad}. -- HOST updates the 2021.md wiki page +- HOST updates the 2022.md wiki page - CHECK publishes prerecordings - media.emacsconf.org - wiki @@ -2604,7 +2611,7 @@ Options: :END: mpv --vf=negate $url -** Schedule update +** Schedule update :sched: :PROPERTIES: :CUSTOM_ID: update-sched :END: @@ -2613,7 +2620,7 @@ mpv --vf=negate $url - emacsconf-publish-update-schedule - E-mail affected speakers - see emacsconf-mail-schedule-update function -** New talk +** New talk :sched: :PROPERTIES: :CUSTOM_ID: new-talk :END: @@ -2632,7 +2639,9 @@ mpv --vf=negate $url export SLUG=the ID of the talk #+TOC: headlines 1 local +*** TO_STREAM -> PLAYING :stream: +play slug (ex: play journalism) *** CLOSED_Q -> OPEN_Q :PROPERTIES: :CUSTOM_ID: open @@ -2699,6 +2708,14 @@ STATE=before; ssh orga@media.emacsconf.org "cp /home/orga/backstage/assets/redir 6. Update the schedule (emacsconf-publish-schedule). 7. Update info pages (emacsconf-publish-before-pages). 8. Update the watch pages. +** Video playing error, need to play with mpv manually :stream: +:PROPERTIES: +:CUSTOM_ID: play-mpv-manually +:END: + +You can skip the intro and play a video by specifying the filename, like this: +play ~/stream/emacsconf-2022-journalism-* + ** Need to restart 480p stream :PROPERTIES: :CUSTOM_ID: restart-480p @@ -4259,14 +4276,14 @@ Dry run checklist: - Verify with MPV: #+begin_example - mpv https://live0.emacsconf.org/emacsconf/gen.webm - mpv https://live0.emacsconf.org/emacsconf/dev.webm + mpv https://live0.emacsconf.org/gen.webm + mpv https://live0.emacsconf.org/dev.webm #+end_example - With luck, the 480p streams will be up automatically as well #+begin_example - mpv https://live0.emacsconf.org/emacsconf/gen-480p.webm - mpv https://live0.emacsconf.org/emacsconf/dev-480p.webm + mpv https://live0.emacsconf.org/gen-480p.webm + mpv https://live0.emacsconf.org/dev-480p.webm #+end_example *** Connecting to VNC (option B) @@ -4299,12 +4316,12 @@ Dry run checklist: 7. Verify with MPV on your local system: #+begin_example - mpv https://live0.emacsconf.org/emacsconf/$TRACK.webm & + mpv https://live0.emacsconf.org/$TRACK.webm & #+end_example 8. With luck, the 480p streams will be up automatically as well. On your local system: #+begin_example - mpv https://live0.emacsconf.org/emacsconf/$TRACK-480p.webm & + mpv https://live0.emacsconf.org/$TRACK-480p.webm & #+end_example 9. Play a video. It should display the video and update the overlays. If you need to update the overlays manually, you can copy files from ~/data/emacsconf/overlays~ onto ~$HOME/other.png~ and ~$HOME/video.png~. diff --git a/2022/watch/dev.md b/2022/watch/dev.md index 8cbf08cc..c0057ca4 100644 --- a/2022/watch/dev.md +++ b/2022/watch/dev.md @@ -7,9 +7,9 @@ <hr size="1"> <div><a name="watch"></a><strong>Watch</strong> - <a href="#links">Pad and Q&A links</a> - <a href="#chat">Chat</a> - <a href="#sched">Schedule</a> | Tracks: <a href="/2022/watch/gen/">General</a> - <strong>Development</strong></div> -<video controls><source src="https://live0.emacsconf.org/emacsconf/dev.webm" type="video/webm" /></video> -<div>Alternatively, load <a href="https://live0.emacsconf.org/emacsconf/dev.webm">https://live0.emacsconf.org/emacsconf/dev.webm</a> or <a href="https://live0.emacsconf.org/emacsconf/dev-480p.webm">https://live0.emacsconf.org/emacsconf/dev-480p.webm</a> (low-res) in a streaming media player such as MPV.</div> -<hr size="1"><div><a name="links"></a><a href="#watch">Watch</a> - <strong>Pad and Q&A links</strong> - <a href="#chat">Chat</a> - <a href="#sched">Schedule</a> | Tracks: <a href="/2022/watch/gen/">General</a> - <strong>Development</strong></div><div><span><a href="https://emacsconf.org/2022/talks/treesitter">treesitter</a> (<a class="pad-link" href="https://pad.emacsconf.org/2022-treesitter">pad</a>, <a href="https://chat.emacsconf.org/?join=emacsconf,emacsconf-dev">emacsconf-dev, speaker nick: meain</a>)</span> - <span><a href="https://emacsconf.org/2022/talks/lspbridge">lspbridge</a> (<a class="pad-link" href="https://pad.emacsconf.org/2022-lspbridge">pad</a>, <a href="https://chat.emacsconf.org/?join=emacsconf,emacsconf-dev">emacsconf-dev, speaker nick: manateelazycat</a>)</span> - <span><a href="https://emacsconf.org/2022/talks/asmblox">asmblox</a> (<a class="pad-link" href="https://pad.emacsconf.org/2022-asmblox">pad</a>, <a href="https://emacsconf.org/current/asmblox/room/">BBB</a>)</span> - <span><a href="https://emacsconf.org/2022/talks/wayland">wayland</a> (<a class="pad-link" href="https://pad.emacsconf.org/2022-wayland">pad</a>, <a href="https://emacsconf.org/current/wayland/room/">BBB</a>)</span> - <span><a href="https://emacsconf.org/2022/talks/sqlite">sqlite</a> (<a class="pad-link" href="https://pad.emacsconf.org/2022-sqlite">pad</a>, <a href="https://emacsconf.org/current/sqlite/room/">BBB</a>)</span> - <span><a href="https://emacsconf.org/2022/talks/mail">mail</a> (<a class="pad-link" href="https://pad.emacsconf.org/2022-mail">pad</a>, <a href="https://emacsconf.org/current/mail/room/">BBB</a>)</span> - <span><a href="https://emacsconf.org/2022/talks/maint">maint</a> (<a class="pad-link" href="https://pad.emacsconf.org/2022-maint">pad</a>, <a href="https://emacsconf.org/current/maint/room/">BBB</a>)</span> - <span><a href="https://emacsconf.org/2022/talks/eev">eev</a> (<a class="pad-link" href="https://pad.emacsconf.org/2022-eev">pad</a>, <a href="https://chat.emacsconf.org/?join=emacsconf,emacsconf-dev">emacsconf-dev</a>)</span> - <span><a href="https://emacsconf.org/2022/talks/python">python</a> (<a class="pad-link" href="https://pad.emacsconf.org/2022-python">pad</a>, <a href="https://chat.emacsconf.org/?join=emacsconf,emacsconf-dev">emacsconf-dev</a>)</span> - <span><a href="https://emacsconf.org/2022/talks/haskell">haskell</a> (<a class="pad-link" href="https://pad.emacsconf.org/2022-haskell">pad</a>, <a href="https://emacsconf.org/current/haskell/room/">BBB</a>)</span> - <span><a href="https://emacsconf.org/2022/talks/rde">rde</a> (<a class="pad-link" href="https://pad.emacsconf.org/2022-rde">pad</a>, <a href="https://emacsconf.org/current/rde/room/">BBB</a>)</span> - <span><a href="https://emacsconf.org/2022/talks/justl">justl</a> (<a class="pad-link" href="https://pad.emacsconf.org/2022-justl">pad</a>, <a href="https://chat.emacsconf.org/?join=emacsconf,emacsconf-dev">emacsconf-dev</a>)</span> - <span><a href="https://emacsconf.org/2022/talks/rms">rms</a> (<a class="pad-link" href="https://pad.emacsconf.org/2022-rms">pad</a>, <a href="https://chat.emacsconf.org/?join=emacsconf,emacsconf-dev">Moderated via Mumble, ask questions via pad or IRC</a>)</span> - <span><a href="https://emacsconf.org/2022/talks/detached">detached</a> (<a class="pad-link" href="https://pad.emacsconf.org/2022-detached">pad</a>, <a href="https://emacsconf.org/current/detached/room/">BBB</a>)</span> - <span><a href="https://emacsconf.org/2022/talks/eshell">eshell</a> (<a class="pad-link" href="https://pad.emacsconf.org/2022-eshell">pad</a>, <a href="https://emacsconf.org/current/eshell/room/">BBB</a>)</span> - <span><a href="https://emacsconf.org/2022/talks/async">async</a> (<a class="pad-link" href="https://pad.emacsconf.org/2022-async">pad</a>, <a href="https://emacsconf.org/current/async/room/">BBB</a>)</span> - <span><a href="https://emacsconf.org/2022/talks/dbus">dbus</a> (<a class="pad-link" href="https://pad.emacsconf.org/2022-dbus">pad</a>, <a href="https://emacsconf.org/current/dbus/room/">BBB</a>)</span> - <span><a href="https://emacsconf.org/2022/talks/localizing">localizing</a> (<a class="pad-link" href="https://pad.emacsconf.org/2022-localizing">pad</a>, <a href="https://emacsconf.org/current/localizing/room/">BBB</a>)</span></div> +<video controls><source src="https://live0.emacsconf.org/dev.webm" type="video/webm" /></video> +<div>Alternatively, load <a href="https://live0.emacsconf.org/dev.webm">https://live0.emacsconf.org/dev.webm</a> or <a href="https://live0.emacsconf.org/dev-480p.webm">https://live0.emacsconf.org/dev-480p.webm</a> (low-res) in a streaming media player such as MPV.</div> +<hr size="1"><div><a name="links"></a><a href="#watch">Watch</a> - <strong>Pad and Q&A links</strong> - <a href="#chat">Chat</a> - <a href="#sched">Schedule</a> | Tracks: <a href="/2022/watch/gen/">General</a> - <strong>Development</strong></div><div><span><a href="https://emacsconf.org/2022/talks/treesitter">treesitter</a> (<a class="pad-link" href="https://pad.emacsconf.org/2022-treesitter">pad</a>, <a href="https://chat.emacsconf.org/?join=emacsconf,emacsconf-dev">#emacsconf-dev, speaker nick: meain</a>)</span> - <span><a href="https://emacsconf.org/2022/talks/lspbridge">lspbridge</a> (<a class="pad-link" href="https://pad.emacsconf.org/2022-lspbridge">pad</a>, <a href="https://chat.emacsconf.org/?join=emacsconf,emacsconf-dev">#emacsconf-dev, speaker nick: manateelazycat</a>)</span> - <span><a href="https://emacsconf.org/2022/talks/asmblox">asmblox</a> (<a class="pad-link" href="https://pad.emacsconf.org/2022-asmblox">pad</a>, <a href="https://emacsconf.org/current/asmblox/room/">BBB</a>)</span> - <span><a href="https://emacsconf.org/2022/talks/wayland">wayland</a> (<a class="pad-link" href="https://pad.emacsconf.org/2022-wayland">pad</a>, <a href="https://emacsconf.org/current/wayland/room/">BBB</a>)</span> - <span><a href="https://emacsconf.org/2022/talks/sqlite">sqlite</a> (<a class="pad-link" href="https://pad.emacsconf.org/2022-sqlite">pad</a>, <a href="https://emacsconf.org/current/sqlite/room/">BBB</a>)</span> - <span><a href="https://emacsconf.org/2022/talks/mail">mail</a> (<a class="pad-link" href="https://pad.emacsconf.org/2022-mail">pad</a>, <a href="https://emacsconf.org/current/mail/room/">BBB</a>)</span> - <span><a href="https://emacsconf.org/2022/talks/maint">maint</a> (<a class="pad-link" href="https://pad.emacsconf.org/2022-maint">pad</a>, <a href="https://emacsconf.org/current/maint/room/">BBB</a>)</span> - <span><a href="https://emacsconf.org/2022/talks/eev">eev</a> (<a class="pad-link" href="https://pad.emacsconf.org/2022-eev">pad</a>, <a href="https://chat.emacsconf.org/?join=emacsconf,emacsconf-dev">#emacsconf-dev</a>)</span> - <span><a href="https://emacsconf.org/2022/talks/python">python</a> (<a class="pad-link" href="https://pad.emacsconf.org/2022-python">pad</a>, <a href="https://chat.emacsconf.org/?join=emacsconf,emacsconf-dev">#emacsconf-dev</a>)</span> - <span><a href="https://emacsconf.org/2022/talks/haskell">haskell</a> (<a class="pad-link" href="https://pad.emacsconf.org/2022-haskell">pad</a>, <a href="https://emacsconf.org/current/haskell/room/">BBB</a>)</span> - <span><a href="https://emacsconf.org/2022/talks/rde">rde</a> (<a class="pad-link" href="https://pad.emacsconf.org/2022-rde">pad</a>, <a href="https://emacsconf.org/current/rde/room/">BBB</a>)</span> - <span><a href="https://emacsconf.org/2022/talks/justl">justl</a> (<a class="pad-link" href="https://pad.emacsconf.org/2022-justl">pad</a>, <a href="https://chat.emacsconf.org/?join=emacsconf,emacsconf-dev">#emacsconf-dev</a>)</span> - <span><a href="https://emacsconf.org/2022/talks/rms">rms</a> (<a class="pad-link" href="https://pad.emacsconf.org/2022-rms">pad</a>, <a href="https://chat.emacsconf.org/?join=emacsconf,emacsconf-dev">Moderated via Mumble, ask questions via pad or IRC</a>)</span> - <span><a href="https://emacsconf.org/2022/talks/detached">detached</a> (<a class="pad-link" href="https://pad.emacsconf.org/2022-detached">pad</a>, <a href="https://emacsconf.org/current/detached/room/">BBB</a>)</span> - <span><a href="https://emacsconf.org/2022/talks/eshell">eshell</a> (<a class="pad-link" href="https://pad.emacsconf.org/2022-eshell">pad</a>, <a href="https://emacsconf.org/current/eshell/room/">BBB</a>)</span> - <span><a href="https://emacsconf.org/2022/talks/async">async</a> (<a class="pad-link" href="https://pad.emacsconf.org/2022-async">pad</a>, <a href="https://emacsconf.org/current/async/room/">BBB</a>)</span> - <span><a href="https://emacsconf.org/2022/talks/dbus">dbus</a> (<a class="pad-link" href="https://pad.emacsconf.org/2022-dbus">pad</a>, <a href="https://emacsconf.org/current/dbus/room/">BBB</a>)</span> - <span><a href="https://emacsconf.org/2022/talks/localizing">localizing</a> (<a class="pad-link" href="https://pad.emacsconf.org/2022-localizing">pad</a>, <a href="https://emacsconf.org/current/localizing/room/">BBB</a>)</span></div> <div class="pad-output"></div> <hr size="1"><div><a name="chat"></a><a href="#watch">Watch</a> - <a href="#links">Pad and Q&A links</a> - <strong>Chat</strong> - <a href="#sched">Schedule</a> | Tracks: <a href="/2022/watch/gen/">General</a> - <strong>Development</strong></div><div>Chat: <a href="${webchat}">emacsconf-dev</a> on libera.chat</div> @@ -22,14 +22,14 @@ <div><svg width="800" height="300" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <title> Graphical view of the schedule</title> <g transform="translate(0,0)"> <title> Schedule for Saturday</title> <rect width="800" height="150" x="0" y="0" fill="white"></rect> <text font-size="10" fill="black" y="12" x="3"> Saturday</text> <a href="https://emacsconf.org/2022/talks/sat-open" title="Saturday opening remarks" data-slug="sat-open"> <title> 9:00- 9:05 Saturday opening remarks</title> <rect x="0" y="15" opacity="0.8" width="7" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(5,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> sat-open</text></g></a> <a href="https://emacsconf.org/2022/talks/journalism" title="Emacs journalism (or everything's a nail if you hit it with Emacs)" data-slug="journalism"> <title> 9:05- 9:25 Emacs journalism (or everything's a nail if you hit it with Emacs)</title> <rect x="7" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(36,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> journalism</text></g></a> <a href="https://emacsconf.org/2022/talks/school" title="Back to school with Emacs" data-slug="school"> <title> 9:45- 9:55 Back to school with Emacs</title> <rect x="70" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect> <g transform="translate(83,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> school</text></g></a> <a href="https://emacsconf.org/2022/talks/handwritten" title="How to incorporate handwritten notes into Emacs Orgmode" data-slug="handwritten"> <title> 10:05-10:15 How to incorporate handwritten notes into Emacs Orgmode</title> <rect x="101" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(114,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> handwritten</text></g></a> <a href="https://emacsconf.org/2022/talks/science" title="Writing and organizing literature notes for scientific writing" data-slug="science"> <title> 10:45-11:05 Writing and organizing literature notes for scientific writing</title> <rect x="164" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(193,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> science</text></g></a> <a href="https://emacsconf.org/2022/talks/buddy" title="The Emacs Buddy initiative" data-slug="buddy"> <title> 11:25-11:35 The Emacs Buddy initiative</title> <rect x="227" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect> <g transform="translate(240,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> buddy</text></g></a> <a href="https://emacsconf.org/2022/talks/meetups" title="Attending and organizing Emacs meetups" data-slug="meetups"> <title> 1:00- 1:20 Attending and organizing Emacs meetups</title> <rect x="376" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(405,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> meetups</text></g></a> <a href="https://emacsconf.org/2022/talks/buttons" title="Linking personal info with Hyperbole implicit buttons" data-slug="buttons"> <title> 1:40- 1:55 Linking personal info with Hyperbole implicit buttons</title> <rect x="439" y="15" opacity="0.8" width="23" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(460,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> buttons</text></g></a> <a href="https://emacsconf.org/2022/talks/realestate" title="Real estate and Org table formulas" data-slug="realestate"> <title> 2:15- 2:40 Real estate and Org table formulas</title> <rect x="494" y="15" opacity="0.8" width="39" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect> <g transform="translate(531,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> realestate</text></g></a> <a href="https://emacsconf.org/2022/talks/health" title="Health data journaling and visualization with Org Mode and GNUplot" data-slug="health"> <title> 3:00- 3:25 Health data journaling and visualization with Org Mode and GNUplot</title> <rect x="564" y="15" opacity="0.8" width="39" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(601,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> health</text></g></a> <a href="https://emacsconf.org/2022/talks/jupyter" title="Edit live Jupyter notebook cells with Emacs" data-slug="jupyter"> <title> 3:45- 4:05 Edit live Jupyter notebook cells with Emacs</title> <rect x="635" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(664,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> jupyter</text></g></a> <a href="https://emacsconf.org/2022/talks/sat-close" title="Saturday closing remarks" data-slug="sat-close"> <title> 4:50- 4:55 Saturday closing remarks</title> <rect x="737" y="15" opacity="0.8" width="7" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(742,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> sat-close</text></g></a> <a href="https://emacsconf.org/2022/talks/treesitter" title="Tree-sitter beyond syntax highlighting" data-slug="treesitter"> <title> 10:00-10:15 Tree-sitter beyond syntax highlighting</title> <rect x="94" y="75" opacity="0.8" width="23" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect> <g transform="translate(115,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> treesitter</text></g></a> <a href="https://emacsconf.org/2022/talks/lspbridge" title="lsp-bridge: complete asynchronous LSP client" data-slug="lspbridge"> <title> 10:25-10:45 lsp-bridge: complete asynchronous LSP client</title> <rect x="133" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect> <g transform="translate(162,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> lspbridge</text></g></a> <a href="https://emacsconf.org/2022/talks/asmblox" title="asm-blox: a game based on WebAssembly that no one asked for" data-slug="asmblox"> <title> 10:55-11:15 asm-blox: a game based on WebAssembly that no one asked for</title> <rect x="180" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(209,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> asmblox</text></g></a> <a href="https://emacsconf.org/2022/talks/wayland" title="Emacs should become a Wayland compositor" data-slug="wayland"> <title> 11:25-11:35 Emacs should become a Wayland compositor</title> <rect x="227" y="75" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(240,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> wayland</text></g></a> <a href="https://emacsconf.org/2022/talks/sqlite" title="Using SQLite as a data source: a framework and an example" data-slug="sqlite"> <title> 1:00- 1:25 Using SQLite as a data source: a framework and an example</title> <rect x="376" y="75" opacity="0.8" width="39" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(413,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> sqlite</text></g></a> <a href="https://emacsconf.org/2022/talks/mail" title="Revisiting the anatomy of Emacs mail user agents" data-slug="mail"> <title> 1:50- 2:30 Revisiting the anatomy of Emacs mail user agents</title> <rect x="454" y="75" opacity="0.8" width="62" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(514,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> mail</text></g></a> <a href="https://emacsconf.org/2022/talks/maint" title="Maintaining the Maintainers: Attribution as an Economic Model for Open Source" data-slug="maint"> <title> 2:50- 3:10 Maintaining the Maintainers: Attribution as an Economic Model for Open Source</title> <rect x="549" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(578,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> maint</text></g></a> <a href="https://emacsconf.org/2022/talks/eev" title="Bidirectional links with eev" data-slug="eev"> <title> 3:35- 3:40 Bidirectional links with eev</title> <rect x="619" y="75" opacity="0.8" width="7" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect> <g transform="translate(624,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> eev</text></g></a> <a href="https://emacsconf.org/2022/talks/python" title="Short hyperlinks to Python docs" data-slug="python"> <title> 3:50- 3:55 Short hyperlinks to Python docs</title> <rect x="643" y="75" opacity="0.8" width="7" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect> <g transform="translate(648,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> python</text></g></a> <a href="https://emacsconf.org/2022/talks/haskell" title="Haskell code exploration with Emacs" data-slug="haskell"> <title> 4:05- 4:35 Haskell code exploration with Emacs</title> <rect x="666" y="75" opacity="0.8" width="47" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(711,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> haskell</text></g></a> <g transform="translate(0,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 9 AM</text></g> <g transform="translate(94,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 10 AM</text></g> <g transform="translate(188,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 11 AM</text></g> <g transform="translate(282,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 12 PM</text></g> <g transform="translate(376,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 1 PM</text></g> <g transform="translate(470,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 2 PM</text></g> <g transform="translate(564,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 3 PM</text></g> <g transform="translate(658,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 4 PM</text></g> <g transform="translate(752,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 5 PM</text></g></g> <g transform="translate(0,150)"> <title> Schedule for Sunday</title> <rect width="800" height="150" x="0" y="0" fill="white"></rect> <text font-size="10" fill="black" y="12" x="3"> Sunday</text> <a href="https://emacsconf.org/2022/talks/sun-open" title="Sunday opening remarks" data-slug="sun-open"> <title> 9:00- 9:05 Sunday opening remarks</title> <rect x="0" y="15" opacity="0.8" width="7" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(5,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> sun-open</text></g></a> <a href="https://emacsconf.org/2022/talks/survey" title="Results of the 2022 Emacs Survey" data-slug="survey"> <title> 9:05- 9:25 Results of the 2022 Emacs Survey</title> <rect x="7" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect> <g transform="translate(36,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> survey</text></g></a> <a href="https://emacsconf.org/2022/talks/orgyear" title="This Year in Org" data-slug="orgyear"> <title> 9:35- 9:45 This Year in Org</title> <rect x="54" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect> <g transform="translate(67,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> orgyear</text></g></a> <a href="https://emacsconf.org/2022/talks/rolodex" title="Build a Zettelkasten with the Hyperbole Rolodex" data-slug="rolodex"> <title> 9:55-10:20 Build a Zettelkasten with the Hyperbole Rolodex</title> <rect x="86" y="15" opacity="0.8" width="39" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect> <g transform="translate(123,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> rolodex</text></g></a> <a href="https://emacsconf.org/2022/talks/orgsuperlinks" title="Linking headings with org-super-links (poor-man's Zettelkasten)" data-slug="orgsuperlinks"> <title> 10:40-10:50 Linking headings with org-super-links (poor-man's Zettelkasten)</title> <rect x="156" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(169,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> orgsuperlinks</text></g></a> <a href="https://emacsconf.org/2022/talks/orgvm" title="orgvm: a simple HTTP server for org" data-slug="orgvm"> <title> 11:10-11:20 orgvm: a simple HTTP server for org</title> <rect x="203" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(216,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> orgvm</text></g></a> <a href="https://emacsconf.org/2022/talks/hyperorg" title="Powerful productivity with Hyperbole and Org Mode" data-slug="hyperorg"> <title> 1:00- 1:30 Powerful productivity with Hyperbole and Org Mode</title> <rect x="376" y="15" opacity="0.8" width="47" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(421,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> hyperorg</text></g></a> <a href="https://emacsconf.org/2022/talks/workflows" title="Org workflows for developers" data-slug="workflows"> <title> 1:50- 2:15 Org workflows for developers</title> <rect x="454" y="15" opacity="0.8" width="39" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(491,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> workflows</text></g></a> <a href="https://emacsconf.org/2022/talks/grail" title="GRAIL---A Generalized Representation and Aggregation of Information Layers" data-slug="grail"> <title> 2:35- 2:55 GRAIL---A Generalized Representation and Aggregation of Information Layers</title> <rect x="525" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(554,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> grail</text></g></a> <a href="https://emacsconf.org/2022/talks/indieweb" title="Putting Org Mode on the Indieweb" data-slug="indieweb"> <title> 3:25- 3:45 Putting Org Mode on the Indieweb</title> <rect x="603" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(632,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> indieweb</text></g></a> <a href="https://emacsconf.org/2022/talks/devel" title="Emacs development updates" data-slug="devel"> <title> 4:05- 4:15 Emacs development updates</title> <rect x="666" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect> <g transform="translate(679,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> devel</text></g></a> <a href="https://emacsconf.org/2022/talks/fanfare" title="Fanfare for the Common Emacs User" data-slug="fanfare"> <title> 4:25- 4:35 Fanfare for the Common Emacs User</title> <rect x="698" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(711,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> fanfare</text></g></a> <a href="https://emacsconf.org/2022/talks/sun-close" title="Sunday closing remarks" data-slug="sun-close"> <title> 4:50- 5:00 Sunday closing remarks</title> <rect x="737" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(750,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> sun-close</text></g></a> <a href="https://emacsconf.org/2022/talks/rde" title="rde Emacs introduction" data-slug="rde"> <title> 10:00-10:25 rde Emacs introduction</title> <rect x="94" y="75" opacity="0.8" width="39" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(131,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> rde</text></g></a> <a href="https://emacsconf.org/2022/talks/justl" title="justl: Driving recipes within Emacs" data-slug="justl"> <title> 10:50-11:05 justl: Driving recipes within Emacs</title> <rect x="172" y="75" opacity="0.8" width="23" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect> <g transform="translate(193,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> justl</text></g></a> <a href="https://emacsconf.org/2022/talks/rms" title="What I'd like to see in Emacs" data-slug="rms"> <title> 11:15-11:35 What I'd like to see in Emacs</title> <rect x="211" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect> <g transform="translate(240,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> rms</text></g></a> <a href="https://emacsconf.org/2022/talks/detached" title="Getting detached from Emacs" data-slug="detached"> <title> 1:00- 1:15 Getting detached from Emacs</title> <rect x="376" y="75" opacity="0.8" width="23" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(397,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> detached</text></g></a> <a href="https://emacsconf.org/2022/talks/eshell" title="Top 10 reasons why you should be using Eshell" data-slug="eshell"> <title> 1:40- 1:55 Top 10 reasons why you should be using Eshell</title> <rect x="439" y="75" opacity="0.8" width="23" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(460,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> eshell</text></g></a> <a href="https://emacsconf.org/2022/talks/async" title="Emacs was async before async was cool" data-slug="async"> <title> 2:20- 2:40 Emacs was async before async was cool</title> <rect x="501" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(530,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> async</text></g></a> <a href="https://emacsconf.org/2022/talks/dbus" title="The Wheels on D-Bus" data-slug="dbus"> <title> 3:15- 3:35 The Wheels on D-Bus</title> <rect x="588" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(617,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> dbus</text></g></a> <a href="https://emacsconf.org/2022/talks/localizing" title="Pre-localizing Emacs" data-slug="localizing"> <title> 4:00- 4:10 Pre-localizing Emacs</title> <rect x="658" y="75" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(671,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> localizing</text></g></a> <g transform="translate(0,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 9 AM</text></g> <g transform="translate(94,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 10 AM</text></g> <g transform="translate(188,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 11 AM</text></g> <g transform="translate(282,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 12 PM</text></g> <g transform="translate(376,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 1 PM</text></g> <g transform="translate(470,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 2 PM</text></g> <g transform="translate(564,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 3 PM</text></g> <g transform="translate(658,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 4 PM</text></g> <g transform="translate(752,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 5 PM</text></g></g></svg></div> <div><h1>Saturday, Dec 3, 2022</h1> <div data-start="2022-12-03T15:00:00+0000" data-end="2022-12-03T15:15:00+0000" class="sched-entry track-Development"> -<div class="sched-meta"><span class="sched-time"><span class="sched-start">10:00</span> - <span class="sched-end">10:15</span></span> <span class="sched-track Development">Development</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2022-treesitter">Etherpad</a></span>; <span class="sched-q-and-a">Q&A: <a href="https://chat.emacsconf.org/?join=emacsconf,emacsconf-dev">emacsconf-dev, speaker nick: meain</a></span>; <span class="sched-slug">id:treesitter</span></div> +<div class="sched-meta"><span class="sched-time"><span class="sched-start">10:00</span> - <span class="sched-end">10:15</span></span> <span class="sched-track Development">Development</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2022-treesitter">Etherpad</a></span>; <span class="sched-q-and-a">Q&A: <a href="https://chat.emacsconf.org/?join=emacsconf,emacsconf-dev">#emacsconf-dev, speaker nick: meain</a></span>; <span class="sched-slug">id:treesitter</span></div> <div class="sched-title"><a href="https://emacsconf.org/2022/talks/treesitter">Tree-sitter beyond syntax highlighting</a></div> <div class="sched-speakers">Abin Simon</div> </div> <div data-start="2022-12-03T15:25:00+0000" data-end="2022-12-03T15:45:00+0000" class="sched-entry track-Development"> -<div class="sched-meta"><span class="sched-time"><span class="sched-start">10:25</span> - <span class="sched-end">10:45</span></span> <span class="sched-track Development">Development</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2022-lspbridge">Etherpad</a></span>; <span class="sched-q-and-a">Q&A: <a href="https://chat.emacsconf.org/?join=emacsconf,emacsconf-dev">emacsconf-dev, speaker nick: manateelazycat</a></span>; <span class="sched-slug">id:lspbridge</span></div> +<div class="sched-meta"><span class="sched-time"><span class="sched-start">10:25</span> - <span class="sched-end">10:45</span></span> <span class="sched-track Development">Development</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2022-lspbridge">Etherpad</a></span>; <span class="sched-q-and-a">Q&A: <a href="https://chat.emacsconf.org/?join=emacsconf,emacsconf-dev">#emacsconf-dev, speaker nick: manateelazycat</a></span>; <span class="sched-slug">id:lspbridge</span></div> <div class="sched-title"><a href="https://emacsconf.org/2022/talks/lspbridge">lsp-bridge: complete asynchronous LSP client</a></div> <div class="sched-speakers">Andy Stewart, Matthew Zeng</div> @@ -71,14 +71,14 @@ </div> <div data-start="2022-12-03T20:35:00+0000" data-end="2022-12-03T20:40:00+0000" class="sched-entry track-Development"> -<div class="sched-meta"><span class="sched-time"><span class="sched-start">3:35</span> - <span class="sched-end">3:40</span></span> <span class="sched-track Development">Development</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2022-eev">Etherpad</a></span>; <span class="sched-q-and-a">Q&A: <a href="https://chat.emacsconf.org/?join=emacsconf,emacsconf-dev">emacsconf-dev</a></span>; <span class="sched-slug">id:eev</span></div> +<div class="sched-meta"><span class="sched-time"><span class="sched-start">3:35</span> - <span class="sched-end">3:40</span></span> <span class="sched-track Development">Development</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2022-eev">Etherpad</a></span>; <span class="sched-q-and-a">Q&A: <a href="https://chat.emacsconf.org/?join=emacsconf,emacsconf-dev">#emacsconf-dev</a></span>; <span class="sched-slug">id:eev</span></div> <div class="sched-title"><a href="https://emacsconf.org/2022/talks/eev">Bidirectional links with eev</a></div> <div class="sched-speakers">Eduardo Ochs</div> </div> <div data-start="2022-12-03T20:50:00+0000" data-end="2022-12-03T20:55:00+0000" class="sched-entry track-Development"> -<div class="sched-meta"><span class="sched-time"><span class="sched-start">3:50</span> - <span class="sched-end">3:55</span></span> <span class="sched-track Development">Development</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2022-python">Etherpad</a></span>; <span class="sched-q-and-a">Q&A: <a href="https://chat.emacsconf.org/?join=emacsconf,emacsconf-dev">emacsconf-dev</a></span>; <span class="sched-slug">id:python</span></div> +<div class="sched-meta"><span class="sched-time"><span class="sched-start">3:50</span> - <span class="sched-end">3:55</span></span> <span class="sched-track Development">Development</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2022-python">Etherpad</a></span>; <span class="sched-q-and-a">Q&A: <a href="https://chat.emacsconf.org/?join=emacsconf,emacsconf-dev">#emacsconf-dev</a></span>; <span class="sched-slug">id:python</span></div> <div class="sched-title"><a href="https://emacsconf.org/2022/talks/python">Short hyperlinks to Python docs</a></div> <div class="sched-speakers">Eduardo Ochs</div> @@ -100,7 +100,7 @@ </div> <div data-start="2022-12-04T15:50:00+0000" data-end="2022-12-04T16:05:00+0000" class="sched-entry track-Development"> -<div class="sched-meta"><span class="sched-time"><span class="sched-start">10:50</span> - <span class="sched-end">11:05</span></span> <span class="sched-track Development">Development</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2022-justl">Etherpad</a></span>; <span class="sched-q-and-a">Q&A: <a href="https://chat.emacsconf.org/?join=emacsconf,emacsconf-dev">emacsconf-dev</a></span>; <span class="sched-slug">id:justl</span></div> +<div class="sched-meta"><span class="sched-time"><span class="sched-start">10:50</span> - <span class="sched-end">11:05</span></span> <span class="sched-track Development">Development</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2022-justl">Etherpad</a></span>; <span class="sched-q-and-a">Q&A: <a href="https://chat.emacsconf.org/?join=emacsconf,emacsconf-dev">#emacsconf-dev</a></span>; <span class="sched-slug">id:justl</span></div> <div class="sched-title"><a href="https://emacsconf.org/2022/talks/justl">justl: Driving recipes within Emacs</a></div> <div class="sched-speakers">Sibi Prabakaran (he/him)</div> diff --git a/2022/watch/gen.md b/2022/watch/gen.md index 2dcb001f..a797a7d9 100644 --- a/2022/watch/gen.md +++ b/2022/watch/gen.md @@ -7,9 +7,9 @@ <hr size="1"> <div><a name="watch"></a><strong>Watch</strong> - <a href="#links">Pad and Q&A links</a> - <a href="#chat">Chat</a> - <a href="#sched">Schedule</a> | Tracks: <strong>General</strong> - <a href="/2022/watch/dev/">Development</a></div> -<video controls><source src="https://live0.emacsconf.org/emacsconf/gen.webm" type="video/webm" /></video> -<div>Alternatively, load <a href="https://live0.emacsconf.org/emacsconf/gen.webm">https://live0.emacsconf.org/emacsconf/gen.webm</a> or <a href="https://live0.emacsconf.org/emacsconf/gen-480p.webm">https://live0.emacsconf.org/emacsconf/gen-480p.webm</a> (low-res) in a streaming media player such as MPV.</div> -<hr size="1"><div><a name="links"></a><a href="#watch">Watch</a> - <strong>Pad and Q&A links</strong> - <a href="#chat">Chat</a> - <a href="#sched">Schedule</a> | Tracks: <strong>General</strong> - <a href="/2022/watch/dev/">Development</a></div><div><span><a href="https://emacsconf.org/2022/talks/sat-open">sat-open</a> (<a class="pad-link" href="https://pad.emacsconf.org/2022-sat-open">pad</a>, none)</span> - <span><a href="https://emacsconf.org/2022/talks/journalism">journalism</a> (<a class="pad-link" href="https://pad.emacsconf.org/2022-journalism">pad</a>, <a href="https://emacsconf.org/current/journalism/room/">BBB</a>)</span> - <span><a href="https://emacsconf.org/2022/talks/school">school</a> (<a class="pad-link" href="https://pad.emacsconf.org/2022-school">pad</a>, <a href="https://chat.emacsconf.org/?join=emacsconf,emacsconf-gen">emacsconf-gen, speaker nick: velocitatem</a>)</span> - <span><a href="https://emacsconf.org/2022/talks/handwritten">handwritten</a> (<a class="pad-link" href="https://pad.emacsconf.org/2022-handwritten">pad</a>, <a href="https://emacsconf.org/current/handwritten/room/">BBB</a>)</span> - <span><a href="https://emacsconf.org/2022/talks/science">science</a> (<a class="pad-link" href="https://pad.emacsconf.org/2022-science">pad</a>, <a href="https://emacsconf.org/current/science/room/">BBB</a>)</span> - <span><a href="https://emacsconf.org/2022/talks/buddy">buddy</a> (<a class="pad-link" href="https://pad.emacsconf.org/2022-buddy">pad</a>, <a href="https://chat.emacsconf.org/?join=emacsconf,emacsconf-gen">emacsconf-gen</a>)</span> - <span><a href="https://emacsconf.org/2022/talks/meetups">meetups</a> (<a class="pad-link" href="https://pad.emacsconf.org/2022-meetups">pad</a>, <a href="https://emacsconf.org/current/meetups/room/">BBB</a>)</span> - <span><a href="https://emacsconf.org/2022/talks/buttons">buttons</a> (<a class="pad-link" href="https://pad.emacsconf.org/2022-buttons">pad</a>, <a href="https://emacsconf.org/current/buttons/room/">BBB</a>)</span> - <span><a href="https://emacsconf.org/2022/talks/realestate">realestate</a> (<a class="pad-link" href="https://pad.emacsconf.org/2022-realestate">pad</a>, <a href="nil">Etherpad</a>)</span> - <span><a href="https://emacsconf.org/2022/talks/health">health</a> (<a class="pad-link" href="https://pad.emacsconf.org/2022-health">pad</a>, <a href="https://emacsconf.org/current/health/room/">BBB</a>)</span> - <span><a href="https://emacsconf.org/2022/talks/jupyter">jupyter</a> (<a class="pad-link" href="https://pad.emacsconf.org/2022-jupyter">pad</a>, <a href="https://emacsconf.org/current/jupyter/room/">BBB</a>)</span> - <span><a href="https://emacsconf.org/2022/talks/sat-close">sat-close</a> (<a class="pad-link" href="https://pad.emacsconf.org/2022-sat-close">pad</a>, none)</span> - <span><a href="https://emacsconf.org/2022/talks/sun-open">sun-open</a> (<a class="pad-link" href="https://pad.emacsconf.org/2022-sun-open">pad</a>, none)</span> - <span><a href="https://emacsconf.org/2022/talks/survey">survey</a> (<a class="pad-link" href="https://pad.emacsconf.org/2022-survey">pad</a>, <a href="https://chat.emacsconf.org/?join=emacsconf,emacsconf-gen">emacsconf-gen, speaker nick: tecosaur</a>)</span> - <span><a href="https://emacsconf.org/2022/talks/orgyear">orgyear</a> (<a class="pad-link" href="https://pad.emacsconf.org/2022-orgyear">pad</a>, <a href="https://chat.emacsconf.org/?join=emacsconf,emacsconf-gen">emacsconf-gen, speaker nick: tecosaur</a>)</span> - <span><a href="https://emacsconf.org/2022/talks/rolodex">rolodex</a> (<a class="pad-link" href="https://pad.emacsconf.org/2022-rolodex">pad</a>, <a href="https://chat.emacsconf.org/?join=emacsconf,emacsconf-gen">emacsconf-gen</a>)</span> - <span><a href="https://emacsconf.org/2022/talks/orgsuperlinks">orgsuperlinks</a> (<a class="pad-link" href="https://pad.emacsconf.org/2022-orgsuperlinks">pad</a>, <a href="https://emacsconf.org/current/orgsuperlinks/room/">BBB</a>)</span> - <span><a href="https://emacsconf.org/2022/talks/orgvm">orgvm</a> (<a class="pad-link" href="https://pad.emacsconf.org/2022-orgvm">pad</a>, <a href="https://emacsconf.org/current/orgvm/room/">BBB</a>)</span> - <span><a href="https://emacsconf.org/2022/talks/hyperorg">hyperorg</a> (<a class="pad-link" href="https://pad.emacsconf.org/2022-hyperorg">pad</a>, <a href="https://emacsconf.org/current/hyperorg/room/">BBB</a>)</span> - <span><a href="https://emacsconf.org/2022/talks/workflows">workflows</a> (<a class="pad-link" href="https://pad.emacsconf.org/2022-workflows">pad</a>, <a href="https://emacsconf.org/current/workflows/room/">BBB</a>)</span> - <span><a href="https://emacsconf.org/2022/talks/grail">grail</a> (<a class="pad-link" href="https://pad.emacsconf.org/2022-grail">pad</a>, <a href="https://emacsconf.org/current/grail/room/">BBB</a>)</span> - <span><a href="https://emacsconf.org/2022/talks/indieweb">indieweb</a> (<a class="pad-link" href="https://pad.emacsconf.org/2022-indieweb">pad</a>, <a href="https://emacsconf.org/current/indieweb/room/">BBB</a>)</span> - <span><a href="https://emacsconf.org/2022/talks/devel">devel</a> (<a class="pad-link" href="https://pad.emacsconf.org/2022-devel">pad</a>, none)</span> - <span><a href="https://emacsconf.org/2022/talks/fanfare">fanfare</a> (<a class="pad-link" href="https://pad.emacsconf.org/2022-fanfare">pad</a>, <a href="https://emacsconf.org/current/fanfare/room/">BBB</a>)</span> - <span><a href="https://emacsconf.org/2022/talks/sun-close">sun-close</a> (<a class="pad-link" href="https://pad.emacsconf.org/2022-sun-close">pad</a>, none)</span></div> +<video controls><source src="https://live0.emacsconf.org/gen.webm" type="video/webm" /></video> +<div>Alternatively, load <a href="https://live0.emacsconf.org/gen.webm">https://live0.emacsconf.org/gen.webm</a> or <a href="https://live0.emacsconf.org/gen-480p.webm">https://live0.emacsconf.org/gen-480p.webm</a> (low-res) in a streaming media player such as MPV.</div> +<hr size="1"><div><a name="links"></a><a href="#watch">Watch</a> - <strong>Pad and Q&A links</strong> - <a href="#chat">Chat</a> - <a href="#sched">Schedule</a> | Tracks: <strong>General</strong> - <a href="/2022/watch/dev/">Development</a></div><div><span><a href="https://emacsconf.org/2022/talks/sat-open">sat-open</a> (<a class="pad-link" href="https://pad.emacsconf.org/2022-sat-open">pad</a>, none)</span> - <span><a href="https://emacsconf.org/2022/talks/journalism">journalism</a> (<a class="pad-link" href="https://pad.emacsconf.org/2022-journalism">pad</a>, <a href="https://emacsconf.org/current/journalism/room/">BBB</a>)</span> - <span><a href="https://emacsconf.org/2022/talks/school">school</a> (<a class="pad-link" href="https://pad.emacsconf.org/2022-school">pad</a>, <a href="https://chat.emacsconf.org/?join=emacsconf,emacsconf-gen">#emacsconf-gen, speaker nick: velocitatem</a>)</span> - <span><a href="https://emacsconf.org/2022/talks/handwritten">handwritten</a> (<a class="pad-link" href="https://pad.emacsconf.org/2022-handwritten">pad</a>, <a href="https://emacsconf.org/current/handwritten/room/">BBB</a>)</span> - <span><a href="https://emacsconf.org/2022/talks/science">science</a> (<a class="pad-link" href="https://pad.emacsconf.org/2022-science">pad</a>, <a href="https://emacsconf.org/current/science/room/">BBB</a>)</span> - <span><a href="https://emacsconf.org/2022/talks/buddy">buddy</a> (<a class="pad-link" href="https://pad.emacsconf.org/2022-buddy">pad</a>, <a href="https://chat.emacsconf.org/?join=emacsconf,emacsconf-gen">#emacsconf-gen</a>)</span> - <span><a href="https://emacsconf.org/2022/talks/meetups">meetups</a> (<a class="pad-link" href="https://pad.emacsconf.org/2022-meetups">pad</a>, <a href="https://emacsconf.org/current/meetups/room/">BBB</a>)</span> - <span><a href="https://emacsconf.org/2022/talks/buttons">buttons</a> (<a class="pad-link" href="https://pad.emacsconf.org/2022-buttons">pad</a>, <a href="https://emacsconf.org/current/buttons/room/">BBB</a>)</span> - <span><a href="https://emacsconf.org/2022/talks/realestate">realestate</a> (<a class="pad-link" href="https://pad.emacsconf.org/2022-realestate">pad</a>, <a href="nil">Etherpad</a>)</span> - <span><a href="https://emacsconf.org/2022/talks/health">health</a> (<a class="pad-link" href="https://pad.emacsconf.org/2022-health">pad</a>, <a href="https://emacsconf.org/current/health/room/">BBB</a>)</span> - <span><a href="https://emacsconf.org/2022/talks/jupyter">jupyter</a> (<a class="pad-link" href="https://pad.emacsconf.org/2022-jupyter">pad</a>, <a href="https://emacsconf.org/current/jupyter/room/">BBB</a>)</span> - <span><a href="https://emacsconf.org/2022/talks/sat-close">sat-close</a> (<a class="pad-link" href="https://pad.emacsconf.org/2022-sat-close">pad</a>, none)</span> - <span><a href="https://emacsconf.org/2022/talks/sun-open">sun-open</a> (<a class="pad-link" href="https://pad.emacsconf.org/2022-sun-open">pad</a>, none)</span> - <span><a href="https://emacsconf.org/2022/talks/survey">survey</a> (<a class="pad-link" href="https://pad.emacsconf.org/2022-survey">pad</a>, <a href="https://chat.emacsconf.org/?join=emacsconf,emacsconf-gen">#emacsconf-gen, speaker nick: tecosaur</a>)</span> - <span><a href="https://emacsconf.org/2022/talks/orgyear">orgyear</a> (<a class="pad-link" href="https://pad.emacsconf.org/2022-orgyear">pad</a>, <a href="https://chat.emacsconf.org/?join=emacsconf,emacsconf-gen">#emacsconf-gen, speaker nick: tecosaur</a>)</span> - <span><a href="https://emacsconf.org/2022/talks/rolodex">rolodex</a> (<a class="pad-link" href="https://pad.emacsconf.org/2022-rolodex">pad</a>, <a href="https://chat.emacsconf.org/?join=emacsconf,emacsconf-gen">#emacsconf-gen</a>)</span> - <span><a href="https://emacsconf.org/2022/talks/orgsuperlinks">orgsuperlinks</a> (<a class="pad-link" href="https://pad.emacsconf.org/2022-orgsuperlinks">pad</a>, <a href="https://emacsconf.org/current/orgsuperlinks/room/">BBB</a>)</span> - <span><a href="https://emacsconf.org/2022/talks/orgvm">orgvm</a> (<a class="pad-link" href="https://pad.emacsconf.org/2022-orgvm">pad</a>, <a href="https://emacsconf.org/current/orgvm/room/">BBB</a>)</span> - <span><a href="https://emacsconf.org/2022/talks/hyperorg">hyperorg</a> (<a class="pad-link" href="https://pad.emacsconf.org/2022-hyperorg">pad</a>, <a href="https://emacsconf.org/current/hyperorg/room/">BBB</a>)</span> - <span><a href="https://emacsconf.org/2022/talks/workflows">workflows</a> (<a class="pad-link" href="https://pad.emacsconf.org/2022-workflows">pad</a>, <a href="https://emacsconf.org/current/workflows/room/">BBB</a>)</span> - <span><a href="https://emacsconf.org/2022/talks/grail">grail</a> (<a class="pad-link" href="https://pad.emacsconf.org/2022-grail">pad</a>, <a href="https://emacsconf.org/current/grail/room/">BBB</a>)</span> - <span><a href="https://emacsconf.org/2022/talks/indieweb">indieweb</a> (<a class="pad-link" href="https://pad.emacsconf.org/2022-indieweb">pad</a>, <a href="https://emacsconf.org/current/indieweb/room/">BBB</a>)</span> - <span><a href="https://emacsconf.org/2022/talks/devel">devel</a> (<a class="pad-link" href="https://pad.emacsconf.org/2022-devel">pad</a>, none)</span> - <span><a href="https://emacsconf.org/2022/talks/fanfare">fanfare</a> (<a class="pad-link" href="https://pad.emacsconf.org/2022-fanfare">pad</a>, <a href="https://emacsconf.org/current/fanfare/room/">BBB</a>)</span> - <span><a href="https://emacsconf.org/2022/talks/sun-close">sun-close</a> (<a class="pad-link" href="https://pad.emacsconf.org/2022-sun-close">pad</a>, none)</span></div> <div class="pad-output"></div> <hr size="1"><div><a name="chat"></a><a href="#watch">Watch</a> - <a href="#links">Pad and Q&A links</a> - <strong>Chat</strong> - <a href="#sched">Schedule</a> | Tracks: <strong>General</strong> - <a href="/2022/watch/dev/">Development</a></div><div>Chat: <a href="${webchat}">emacsconf-gen</a> on libera.chat</div> @@ -36,7 +36,7 @@ </div> <div data-start="2022-12-03T14:45:00+0000" data-end="2022-12-03T14:55:00+0000" class="sched-entry track-General"> -<div class="sched-meta"><span class="sched-time"><span class="sched-start">9:45</span> - <span class="sched-end">9:55</span></span> <span class="sched-track General">General</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2022-school">Etherpad</a></span>; <span class="sched-q-and-a">Q&A: <a href="https://chat.emacsconf.org/?join=emacsconf,emacsconf-gen">emacsconf-gen, speaker nick: velocitatem</a></span>; <span class="sched-slug">id:school</span></div> +<div class="sched-meta"><span class="sched-time"><span class="sched-start">9:45</span> - <span class="sched-end">9:55</span></span> <span class="sched-track General">General</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2022-school">Etherpad</a></span>; <span class="sched-q-and-a">Q&A: <a href="https://chat.emacsconf.org/?join=emacsconf,emacsconf-gen">#emacsconf-gen, speaker nick: velocitatem</a></span>; <span class="sched-slug">id:school</span></div> <div class="sched-title"><a href="https://emacsconf.org/2022/talks/school">Back to school with Emacs</a></div> <div class="sched-speakers">Daniel Rösel</div> @@ -57,7 +57,7 @@ </div> <div data-start="2022-12-03T16:25:00+0000" data-end="2022-12-03T16:35:00+0000" class="sched-entry track-General"> -<div class="sched-meta"><span class="sched-time"><span class="sched-start">11:25</span> - <span class="sched-end">11:35</span></span> <span class="sched-track General">General</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2022-buddy">Etherpad</a></span>; <span class="sched-q-and-a">Q&A: <a href="https://chat.emacsconf.org/?join=emacsconf,emacsconf-gen">emacsconf-gen</a></span>; <span class="sched-slug">id:buddy</span></div> +<div class="sched-meta"><span class="sched-time"><span class="sched-start">11:25</span> - <span class="sched-end">11:35</span></span> <span class="sched-track General">General</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2022-buddy">Etherpad</a></span>; <span class="sched-q-and-a">Q&A: <a href="https://chat.emacsconf.org/?join=emacsconf,emacsconf-gen">#emacsconf-gen</a></span>; <span class="sched-slug">id:buddy</span></div> <div class="sched-title"><a href="https://emacsconf.org/2022/talks/buddy">The Emacs Buddy initiative</a></div> <div class="sched-speakers">Andrea</div> @@ -114,21 +114,21 @@ </div> <div data-start="2022-12-04T14:05:00+0000" data-end="2022-12-04T14:25:00+0000" class="sched-entry track-General"> -<div class="sched-meta"><span class="sched-time"><span class="sched-start">9:05</span> - <span class="sched-end">9:25</span></span> <span class="sched-track General">General</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2022-survey">Etherpad</a></span>; <span class="sched-q-and-a">Q&A: <a href="https://chat.emacsconf.org/?join=emacsconf,emacsconf-gen">emacsconf-gen, speaker nick: tecosaur</a></span>; <span class="sched-slug">id:survey</span></div> +<div class="sched-meta"><span class="sched-time"><span class="sched-start">9:05</span> - <span class="sched-end">9:25</span></span> <span class="sched-track General">General</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2022-survey">Etherpad</a></span>; <span class="sched-q-and-a">Q&A: <a href="https://chat.emacsconf.org/?join=emacsconf,emacsconf-gen">#emacsconf-gen, speaker nick: tecosaur</a></span>; <span class="sched-slug">id:survey</span></div> <div class="sched-title"><a href="https://emacsconf.org/2022/talks/survey">Results of the 2022 Emacs Survey</a></div> <div class="sched-speakers">Timothy (he/him)</div> </div> <div data-start="2022-12-04T14:35:00+0000" data-end="2022-12-04T14:45:00+0000" class="sched-entry track-General"> -<div class="sched-meta"><span class="sched-time"><span class="sched-start">9:35</span> - <span class="sched-end">9:45</span></span> <span class="sched-track General">General</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2022-orgyear">Etherpad</a></span>; <span class="sched-q-and-a">Q&A: <a href="https://chat.emacsconf.org/?join=emacsconf,emacsconf-gen">emacsconf-gen, speaker nick: tecosaur</a></span>; <span class="sched-slug">id:orgyear</span></div> +<div class="sched-meta"><span class="sched-time"><span class="sched-start">9:35</span> - <span class="sched-end">9:45</span></span> <span class="sched-track General">General</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2022-orgyear">Etherpad</a></span>; <span class="sched-q-and-a">Q&A: <a href="https://chat.emacsconf.org/?join=emacsconf,emacsconf-gen">#emacsconf-gen, speaker nick: tecosaur</a></span>; <span class="sched-slug">id:orgyear</span></div> <div class="sched-title"><a href="https://emacsconf.org/2022/talks/orgyear">This Year in Org</a></div> <div class="sched-speakers">Timothy (he/him)</div> </div> <div data-start="2022-12-04T14:55:00+0000" data-end="2022-12-04T15:20:00+0000" class="sched-entry track-General"> -<div class="sched-meta"><span class="sched-time"><span class="sched-start">9:55</span> - <span class="sched-end">10:20</span></span> <span class="sched-track General">General</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2022-rolodex">Etherpad</a></span>; <span class="sched-q-and-a">Q&A: <a href="https://chat.emacsconf.org/?join=emacsconf,emacsconf-gen">emacsconf-gen</a></span>; <span class="sched-slug">id:rolodex</span></div> +<div class="sched-meta"><span class="sched-time"><span class="sched-start">9:55</span> - <span class="sched-end">10:20</span></span> <span class="sched-track General">General</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2022-rolodex">Etherpad</a></span>; <span class="sched-q-and-a">Q&A: <a href="https://chat.emacsconf.org/?join=emacsconf,emacsconf-gen">#emacsconf-gen</a></span>; <span class="sched-slug">id:rolodex</span></div> <div class="sched-title"><a href="https://emacsconf.org/2022/talks/rolodex">Build a Zettelkasten with the Hyperbole Rolodex</a></div> <div class="sched-speakers">Ramin Honary (he/him)</div> |