<!-- organizers-notebook.md is exported from organizers-notebook/index.org, please modify that instead. -->
[[!sidebar content=""]]
This file is automatically exported from [/2023/organizers-notebook/index.org](/2023/organizers-notebook/index.org). You might prefer to navigate this as an Org file instead. To do so, [clone the wiki repository](https://emacsconf.org/edit/).
Decisions to make:
- [Test the idea of three tracks and more aligned times](#three-tracks)
- [Do we want to use honorifics like Dr.?](#honorifics)
# Table of Contents
- [Timeline](#timeline)
- [Dry run](#dry-run)
- [Phases](#phases)
- [Draft CFP](#cfp)
- [Distribute CFP](#distrib-cfp)
- [Process submissions](#submission-process)
- [Draft schedule](#draft-schedule)
- [Prepare infrastructure](#check-infra)
- [Prepare assets](#prepare-assets)
- [Coordinate volunteers](#coordinate-volunteers)
- [Progress reports](#progress)
- [E-mail templates](#templates)
- [Review](#review)
- [Acceptance](#acceptance)
- [Archive](#archive)
<a id="timeline"></a>
# Timeline
<table>
<colgroup>
<col class="org-left">
<col class="org-left">
</colgroup>
<tbody>
<tr>
<td class="org-left">CFP</td>
<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2023-06-26 Mon]</span></span></td>
</tr>
<tr>
<td class="org-left">CFP deadline</td>
<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2023-09-14 Thu]</span></span></td>
</tr>
<tr>
<td class="org-left"><b>Speaker notifications</b></td>
<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2023-09-25 Mon]</span></span></td>
</tr>
<tr>
<td class="org-left">Publish schedule</td>
<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2023-10-30 Mon]</span></span></td>
</tr>
<tr>
<td class="org-left">Video submission deadline</td>
<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2023-11-04 Sat]</span></span></td>
</tr>
<tr>
<td class="org-left">EmacsConf</td>
<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2023-12-02 Sat]</span></span>, <span class="timestamp-wrapper"><span class="timestamp">[2023-12-03 Sun]</span></span></td>
</tr>
</tbody>
</table>
Last year, these were the actual dates:
- July 17: CFP sent
- Sept 18: Original CFP deadline
- Sept 30: CFP closed after extension
- Oct 1: acceptances sent
<a id="dry-run"></a>
## TODO Dry run
<a id="phases"></a>
# Phases
<a id="cfp"></a>
## DONE Draft CFP
### How to mark pages as drafts
Put inside double square brackets: `!template id=pagedraft`
### Considerations
We could see if there are parts of the CFP that we can remove or
postpone. Here are some thoughts:
- We might not need the 10+20+40 structure in the proposal. We did
that before because people tend to propose longer talks, and we had
to do lots of e-mail coordination in order to squeeze everything
into one track. If we’re doing multiple streams, there’s less time
pressure, so we might not need to confuse people with those
requirements. I think it would still be good to nudge people towards
20 minutes for their prerecorded presentations (separate time for
Q&A) instead of 40 minutes, because it’s good for people’s attention
spans. As an incentive to consider a 5-10 minute talk, we can say
that 5-10 minute videos can be played extra times during the
conference to fill gaps.
- Choices:
- Keep the 10+20+40 structure so that people who want to propose
longer talks are nudged to think about shorter versions
- Strongly nudge people towards 20-minute talks, with repeats as
the incentive for shorter talks and extra coordination/waiting
needed for longer talks. People propose just the talk length
they want (and can optionally propose other talk lengths if they
want to be considered for them).
- We added emergency contact info, public contact info, pronouns, and
introduction to the submission form because we ended up going back
and forth with people in previous years, and sometimes we had
incomplete info and were panicking about how to reach people during
the conference. We could drop this from the submission form and do a
separate speaker information form.
- Choices:
- Talk submission, then speaker information form: less
intimidating for speakers
- Everything in one: easier for organizers
### Previous years
- Ask for public e-mail or contact information, IRC handle in CFP
- Added to submit page.
- Be even more stringent about the 10/20/40-min splits. A lot of
speakers still default to the 20- or 40-min formats without
providing us shorter formats, and that puts strain on our schedule
and requires us to use a different template for the notification
(which can be confusing). We need to stress that not respecting the
format makes it harder not only for the organizers, but also for the
speakers themselves (since they will have to rethink their
presentation). Maybe we can have an e-mail template for a quick
reply that says something like “Just in case we need to squeeze
talks into shorter times, could you please also propose an outline
for a possible 10-minute talk that could get people interested in
your topic and point them to where they can find out more?”
- sachac: I’d love to experiment with rolling acceptances. If people
have a good 10-20 minute version of their talk and we want to
accept it in the program, it would be nice to be able to say yes
early so that they can start working on it. We can work with any
duplication of content in later proposals.
- Two people is the sweet number of reviewers to have for the
proposals before sending the notifications, and there’d be
diminishing returns with more. Two is enough to release the pressure
on SCHED, verify the metadata (esp. speaker availability), and
suggest a different ordering where appropriate. It can take a long
time to comb through the proposals (roughly 10 proposals per hour),
and whilst it’d be difficult to justify more in-depth reviewers,
other orgas can do a shallow-pass to catch red-flags or discuss the
submissions as they come in. Other organizers can always chime in on
topics they particularly care about so that their encouraging
comments or suggestions can be included in the acceptance e-mail.
- sachac: Who wants to help me with this?
- We extended CFP-end by two weeks this year, but that made it coincide
with speaker-notifs, and that’s awkward. Next time, we should only
extend the CFP by one week to avoid having to scramble with the
schedule until the very last day.
- Proposed dates in <https://emacsconf.org/2023/cfp/> have similar
spacing, so yeah, we’ll want to extend by only one week.
- Some people assume that they have to suggest longer formats even if
they intend their talks to be 10′ or 20′. We should change the
wording on the CFP to ask them to only provide alternatives for
shorter formats, not longer.
- Added a brief note to CFP.
- It was hard to squeeze all the org/hyperbole talk on day-1.
Generally, the people who submit these kinds of talk come from all
over the world, and US mornings are more accommodating than US
evenings when it comes to timezones. We might consider having two org
**mornings** rather than an org **day**; it would give us more flexibility
with those talks.
- Let’s see if we can do two streams again. That was fun.
- We’re starting to reach critical mass on the org-talks. We might want
to consider splitting the org-talks and the dev-talks into two
distinct events to allow them to grow independently.
- Let’s see if we can do two streams again. That was fun.
- We should associate time-of-day with CFP-deadline; otherwise, the
scheduler has to be on edge until the very end of the day. It’s worse
this year because we made CFP-end coincide with speaker-notif, so this
might not be as much of a problem next year.
- If we do rolling acceptances and we extend by at most one week
instead of two, this should be fine.
- It’s easier for us to extend beyond 5pm than to go before 9am
(especially for the West coast). Extending beyond 5pm puts strain on
European organizers and volunteers, though.
- Time pressure should be alleviated with multiple streams.
- Sometimes, ikiwiki on front0 took a lot of time to process the new
commits. sachac assumed this is due to a faulty regex parsing. We
should be able to find out more by looking at the logs from ikiwiki
after a slow commit.
- Seems speedy at the moment.
- Ask for preferred timezone in CFP
- Added to availability.
- Check with John Wiegley re: schedule - we always happen to coincide
with his work trips
- I checked with him and the people at his work don’t have a schedule
yet, so we should go ahead and plan
### Lessons learned for next year
- Maybe incentivize proper timezone specification by saying we can translate times to their local time?
- Make sure to include cfp.org as an attachment instead of inline
### Other thoughts
- sachac: bandali likes having the commitment to freedom section in the CFP as a form of activism
- sachac: I thought about pulling the deadline back to Sept 1, but it might be
good to keep it at Sept 14 so that anyone who tends to work with the
schoolyear can still have a little time to work on it.
<a id="distrib-cfp"></a>
## DONE Distribute CFP
### DONE Add proposal review volunteers to emacsconf-submit
- <https://lists.gnu.org/mailman/admin/emacsconf-submit/members/add>
- Ask volunteers to e-mail an SSH public key so they can be added via the gitolite-admin repo to the conf.org repo for the year
### First announcement
- Remove draft tags :sachac:
- Post on emacsconf-discuss, emacs-tangents :bandali: :zaeph:
- Sticky on reddit.com/r/emacs
- Post in Emacs News :sachac:
### Reminder
<a id="submission-process"></a>
## DONE Process submissions
- Proposal received: sachac adds it to this document with status of PROPOSED
- Fields:
EMERGENCY, Q_AND_A, AVAILABILITY, NAME, PRONOUNS, TIME, MIN_TIME, MAX_TIME, SLUG, EMAIL, NAME_SHORT, CUSTOM_ID, TRACK, TIMEZONE, CATEGORY, DATE_SUBMITTED
- jc doublechecks that the data has been correctly captured (especially EMAIL and AVAILABILITY)
- People review it (sachac, jc, etc.) and weigh in
- Proposal accepted: sachac e-mails the speaker and sets status to WAITING\_FOR\_EMAIL\_CONFIRM
- E-mail confirmation received: log it in the logbook
- Schedule set: sachac e-mails the speaker and sets status to WAITING\_FOR\_SCHED\_CONFIRM
### 2023-08-14 EmacsConf 2023 CFP progress report (8 talks accepted so far, 1 to review, 6 todo)
The end of the EmacsConf 2023 call for participation is one month away
(Sept 14; <https://emacsconf.org/2023/cfp/>). Whee! So far, we’ve sent
early acceptances to the following talks and added them to the program
on the wiki (<https://emacsconf.org/2023/talks>):
<table>
<colgroup>
<col class="org-right">
<col class="org-left">
<col class="org-left">
</colgroup>
<tbody>
<tr>
<td class="org-right">Duration</td>
<td class="org-left">Title</td>
<td class="org-left">Speaker</td>
</tr>
<tr>
<td class="org-right">10</td>
<td class="org-left">An Org-Mode based text adventure game for learning the basics of Emacs, inside Emacs, written in Emacs Lisp</td>
<td class="org-left">Chung-hong Chan</td>
</tr>
<tr>
<td class="org-right">20</td>
<td class="org-left">Authoring and presenting university courses with Emacs and a full libre software stack</td>
<td class="org-left">James Howell</td>
</tr>
<tr>
<td class="org-right">20</td>
<td class="org-left">Org-Mode workflow: informal reference tracking</td>
<td class="org-left">Christopher Howard</td>
</tr>
<tr>
<td class="org-right">20</td>
<td class="org-left">GNU Emacs for electronics, note-taking, and as lightweight IDE</td>
<td class="org-left">Anand Tamariya</td>
</tr>
<tr>
<td class="org-right">10</td>
<td class="org-left">A modern Emacs look-and-feel without pain</td>
<td class="org-left">Pedro A. Aranda</td>
</tr>
<tr>
<td class="org-right">10</td>
<td class="org-left">Writing a language server in OCaml for Emacs, fun, and profit</td>
<td class="org-left">Austin Theriault</td>
</tr>
<tr>
<td class="org-right">20</td>
<td class="org-left">LLM clients in Emacs, functionality and standardization</td>
<td class="org-left">Andrew Hyatt</td>
</tr>
<tr>
<td class="org-right">10</td>
<td class="org-left">The many ways to browse Hacker News from Emacs</td>
<td class="org-left">Mickael Kerjean</td>
</tr>
</tbody>
</table>
We sent the speakers <https://emacsconf.org/2023/prepare/> in case
anyone wants to get started on their presentations.
There’s one talk that’s waiting for feedback on the emacsconf-submit
before we send the early acceptance in about a week:
<table>
<colgroup>
<col class="org-right">
<col class="org-left">
<col class="org-left">
</colgroup>
<tbody>
<tr>
<td class="org-right">Duration</td>
<td class="org-left">Title</td>
<td class="org-left">Speaker</td>
</tr>
<tr>
<td class="org-right">20</td>
<td class="org-left">one.el: the static site generator for Emacs Lisp Programmers</td>
<td class="org-left">Tony Aldon</td>
</tr>
</tbody>
</table>
There are several talk proposals that are in progress (need to
coordinate, don’t have speaker releases / full details / etc.):
<table>
<colgroup>
<col class="org-left">
<col class="org-left">
</colgroup>
<tbody>
<tr>
<td class="org-left">Title</td>
<td class="org-left">Speaker</td>
</tr>
<tr>
<td class="org-left">Emacs MultiMedia System (EMMS)</td>
<td class="org-left">Yoni Rabkin</td>
</tr>
<tr>
<td class="org-left">Emacs development updates</td>
<td class="org-left">John Wiegley</td>
</tr>
<tr>
<td class="org-left">Watch Over Our Folders</td>
<td class="org-left">Bastien Guerry</td>
</tr>
<tr>
<td class="org-left">Emacs community information sharing?</td>
<td class="org-left">Jake B</td>
</tr>
<tr>
<td class="org-left">Emacs saves the Web</td>
<td class="org-left">Yuchen Pei</td>
</tr>
<tr>
<td class="org-left">How to build an Emacs 2: Revenge of the Lem</td>
<td class="org-left">Fermin</td>
</tr>
</tbody>
</table>
This time last year, we had 2 proposals, with most of the proposals
coming in at the end of the CFP. This was usually when we started
panicking about not having lots of proposals, but I think we can skip
stressing about it this year. <laugh> Even with the program as it is
now, we’d already have a pretty fun EmacsConf. Can’t wait to see what
it’ll look like when more people get their proposals in!
bandali, maybe we can do a 1-month and/or 2-week reminder about the
CFP deadline? I’d like to see if we can get away without officially
extending the CFP this time.
Sacha
### Lessons learned from the CFP acceptance phase :lessons:
- Early acceptances are nice. A few got comments within the 1-week
period, which helped refine the talk idea more. We probably don’t
need to make this a 2-week review period.
- It’s a good idea to send the review and acceptance e-mails even to
fellow organizers/volunteers, even if they’re quite familiar with
the page already. =)
- We successfully didn’t panic about submissions, yay! It was nice to
be able to draft schedules as we went along, and to compare the
dates with last year’s trends.
- I added some more automation for including a template in a mail
reply. Changing the subject to `EmacsConf 2023 acceptance: talk
title` made it easier to verify that talks had been responded to.
- I added `emacsconf-mail-add-submission` for parsing submissions from
e-mail and adding them to `emacsconf-org-file`. That was nice
because it automatically saved `EMAIL`, `DATE_SUBMITTED`, and
`DATE_TO_NOTIFY`.
- Displaying the schedule as a list with time constraints made it
easier to verify the time constraints and to see how I can fix
errors.
- Drafting the schedule in the public organizers notebook was
<a id="draft-schedule"></a>
## Draft schedule
These times are in EST (GMT-5).
<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/2023/talks/sat-open" title="Saturday opening remarks" data-slug="sat-open"> <title> 9:00- 9:10 Saturday opening remarks</title> <rect x="0" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(13,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> sat-open</text></g></a> <a href="https://emacsconf.org/2023/talks/adventure" title="An Org-Mode based text adventure game for learning the basics of Emacs, inside Emacs, written in Emacs Lisp" data-slug="adventure"> <title> 9:10- 9:20 An Org-Mode based text adventure game for learning the basics of Emacs, inside Emacs, written in Emacs Lisp</title> <rect x="15" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect> <g transform="translate(28,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> adventure</text></g></a> <a href="https://emacsconf.org/2023/talks/uni" title="Authoring and presenting university courses with Emacs and a full libre software stack" data-slug="uni"> <title> 9:30- 9:50 Authoring and presenting university courses with Emacs and a full libre software stack</title> <rect x="47" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(76,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> uni</text></g></a> <a href="https://emacsconf.org/2023/talks/teaching" title="Teaching computer and data science with literate programming tools" data-slug="teaching"> <title> 10:05-10:25 Teaching computer and data science with literate programming tools</title> <rect x="101" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(130,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> teaching</text></g></a> <a href="https://emacsconf.org/2023/talks/table" title="Who needs Excel? Managing your students qualifications with org-table" data-slug="table"> <title> 10:40-10:50 Who needs Excel? Managing your students qualifications with org-table</title> <rect x="156" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(169,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> table</text></g></a> <a href="https://emacsconf.org/2023/talks/taming" title="Taming things with Org Mode" data-slug="taming"> <title> 11:05-11:15 Taming things with Org Mode</title> <rect x="196" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(209,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> taming</text></g></a> <a href="https://emacsconf.org/2023/talks/one" title="one.el: the static site generator for Emacs Lisp Programmers" data-slug="one"> <title> 11:30-11:50 one.el: the static site generator for Emacs Lisp Programmers</title> <rect x="235" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(264,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> one</text></g></a> <a href="https://emacsconf.org/2023/talks/writing" title="Emacs turbo-charges my writing" data-slug="writing"> <title> 1:00- 1:10 Emacs turbo-charges my writing</title> <rect x="376" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(389,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> writing</text></g></a> <a href="https://emacsconf.org/2023/talks/nabokov" title="Why Nabokov would use Org-Mode if he were writing today" data-slug="nabokov"> <title> 1:25- 1:35 Why Nabokov would use Org-Mode if he were writing today</title> <rect x="415" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(428,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> nabokov</text></g></a> <a href="https://emacsconf.org/2023/talks/collab" title="Collaborative data processing and documenting using org-babel" data-slug="collab"> <title> 1:50- 2:10 Collaborative data processing and documenting using org-babel</title> <rect x="454" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect> <g transform="translate(483,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> collab</text></g></a> <a href="https://emacsconf.org/2023/talks/woof" title="Watch Over Our Folders" data-slug="woof"> <title> 2:20- 2:40 Watch Over Our Folders</title> <rect x="501" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="lightgray"></rect> <g transform="translate(530,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> woof</text></g></a> <a href="https://emacsconf.org/2023/talks/solo" title="How I play TTRPGs in Emacs" data-slug="solo"> <title> 2:55- 3:15 How I play TTRPGs in Emacs</title> <rect x="556" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(585,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> solo</text></g></a> <a href="https://emacsconf.org/2023/talks/unentangling" title="(Un)entangling projects and repos" data-slug="unentangling"> <title> 3:40- 3:50 (Un)entangling projects and repos</title> <rect x="627" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect> <g transform="translate(640,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> unentangling</text></g></a> <a href="https://emacsconf.org/2023/talks/ref" title="Org-Mode workflow: informal reference tracking" data-slug="ref"> <title> 4:00- 4:20 Org-Mode workflow: informal reference tracking</title> <rect x="658" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect> <g transform="translate(687,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> ref</text></g></a> <a href="https://emacsconf.org/2023/talks/devel" title="Emacs development updates" data-slug="devel"> <title> 4:30- 4:40 Emacs development updates</title> <rect x="705" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect> <g transform="translate(718,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> devel</text></g></a> <a href="https://emacsconf.org/2023/talks/sat-close" title="Saturday closing remarks" data-slug="sat-close"> <title> 4:50- 5:00 Saturday closing remarks</title> <rect x="737" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="green"></rect> <g transform="translate(750,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> sat-close</text></g></a> <a href="https://emacsconf.org/2023/talks/matplotllm" title="MatplotLLM, iterative natural language data visualization in org-babel" data-slug="matplotllm"> <title> 10:00-10:10 MatplotLLM, iterative natural language data visualization in org-babel</title> <rect x="94" y="75" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect> <g transform="translate(107,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> matplotllm</text></g></a> <a href="https://emacsconf.org/2023/talks/voice" title="Improving access to AI-assisted literate programming with voice control" data-slug="voice"> <title> 10:20-10:40 Improving access to AI-assisted literate programming with voice control</title> <rect x="125" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(154,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> voice</text></g></a> <a href="https://emacsconf.org/2023/talks/llm" title="LLM clients in Emacs, functionality and standardization" data-slug="llm"> <title> 10:55-11:15 LLM clients in Emacs, functionality and standardization</title> <rect x="180" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(209,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> llm</text></g></a> <a href="https://emacsconf.org/2023/talks/overlay" title="Improving compiler diagnostics with Overlays" data-slug="overlay"> <title> 1:00- 1:20 Improving compiler diagnostics with Overlays</title> <rect x="376" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(405,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> overlay</text></g></a> <a href="https://emacsconf.org/2023/talks/eval" title="Editor Integrated REPL Driven Development for all languages" data-slug="eval"> <title> 1:35- 1:45 Editor Integrated REPL Driven Development for all languages</title> <rect x="431" y="75" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(444,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> eval</text></g></a> <a href="https://emacsconf.org/2023/talks/repl" title="REPLs in strange places: Lua, LaTeX, LPeg, LPegRex, TikZ" data-slug="repl"> <title> 2:00- 2:40 REPLs in strange places: Lua, LaTeX, LPeg, LPegRex, TikZ</title> <rect x="470" y="75" opacity="0.8" width="62" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect> <g transform="translate(530,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> repl</text></g></a> <a href="https://emacsconf.org/2023/talks/hyperdrive" title="hyperdrive.el: Peer-to-peer filesystem in Emacs" data-slug="hyperdrive"> <title> 2:50- 3:30 hyperdrive.el: Peer-to-peer filesystem in Emacs</title> <rect x="549" y="75" opacity="0.8" width="62" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(609,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> hyperdrive</text></g></a> <a href="https://emacsconf.org/2023/talks/extending" title="GNU Emacs for electronics, note-taking, and as lightweight IDE" data-slug="extending"> <title> 3:45- 4:05 GNU Emacs for electronics, note-taking, and as lightweight IDE</title> <rect x="635" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(664,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> extending</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/2023/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="green"></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/2023/talks/hyperamp" title="Top 10 ways Hyperbole amps up Emacs" data-slug="hyperamp"> <title> 9:05- 9:25 Top 10 ways Hyperbole amps up Emacs</title> <rect x="7" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(36,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> hyperamp</text></g></a> <a href="https://emacsconf.org/2023/talks/koutline" title="Using Koutline for stream of thought journaling" data-slug="koutline"> <title> 9:40-10:00 Using Koutline for stream of thought journaling</title> <rect x="62" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect> <g transform="translate(91,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> koutline</text></g></a> <a href="https://emacsconf.org/2023/talks/parallel" title="Parallel Text Replacement: Does P = NP?" data-slug="parallel"> <title> 10:10-10:20 Parallel Text Replacement: Does P = NP?</title> <rect x="109" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(122,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> parallel</text></g></a> <a href="https://emacsconf.org/2023/talks/eat" title="Eat and Eat powered Eshell, fast featureful terminal inside Emacs" data-slug="eat"> <title> 10:35-10:45 Eat and Eat powered Eshell, fast featureful terminal inside Emacs</title> <rect x="149" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(162,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> eat</text></g></a> <a href="https://emacsconf.org/2023/talks/poltys" title="The browser in a buffer" data-slug="poltys"> <title> 11:00-11:20 The browser in a buffer</title> <rect x="188" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(217,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> poltys</text></g></a> <a href="https://emacsconf.org/2023/talks/cubing" title="Speedcubing in Emacs" data-slug="cubing"> <title> 11:35-11:55 Speedcubing in Emacs</title> <rect x="243" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect> <g transform="translate(272,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> cubing</text></g></a> <a href="https://emacsconf.org/2023/talks/emms" title="Emacs MultiMedia System (EMMS)" data-slug="emms"> <title> 1:00- 1:40 Emacs MultiMedia System (EMMS)</title> <rect x="376" y="15" opacity="0.8" width="62" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(436,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> emms</text></g></a> <a href="https://emacsconf.org/2023/talks/steno" title="Programming at 200 wpm" data-slug="steno"> <title> 1:55- 2:25 Programming at 200 wpm</title> <rect x="462" y="15" opacity="0.8" width="47" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect> <g transform="translate(507,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> steno</text></g></a> <a href="https://emacsconf.org/2023/talks/mentor" title="Mentoring VS-Coders as an Emacsian (or How to show not tell people about the wonders of Emacs)" data-slug="mentor"> <title> 2:35- 2:45 Mentoring VS-Coders as an Emacsian (or How to show not tell people about the wonders of Emacs)</title> <rect x="525" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(538,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> mentor</text></g></a> <a href="https://emacsconf.org/2023/talks/hn" title="The many ways to browse Hacker News from Emacs" data-slug="hn"> <title> 3:00- 3:10 The many ways to browse Hacker News from Emacs</title> <rect x="564" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(577,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> hn</text></g></a> <a href="https://emacsconf.org/2023/talks/web" title="Emacs saves the Web" data-slug="web"> <title> 3:25- 4:05 Emacs saves the Web</title> <rect x="603" y="15" opacity="0.8" width="62" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(663,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> web</text></g></a> <a href="https://emacsconf.org/2023/talks/sharing" title="Sharing Emacs is Caring Emacs: Emacs education and why I embraced video" data-slug="sharing"> <title> 4:20- 4:40 Sharing Emacs is Caring Emacs: Emacs education and why I embraced video</title> <rect x="690" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(719,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> sharing</text></g></a> <a href="https://emacsconf.org/2023/talks/sun-close" title="Sunday closing remarks" data-slug="sun-close"> <title> 4:55- 5:05 Sunday closing remarks</title> <rect x="745" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="green"></rect> <g transform="translate(758,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> sun-close</text></g></a> <a href="https://emacsconf.org/2023/talks/scheme" title="Bringing joy to Scheme programming" data-slug="scheme"> <title> 10:00-10:20 Bringing joy to Scheme programming</title> <rect x="94" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(123,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> scheme</text></g></a> <a href="https://emacsconf.org/2023/talks/test" title="What I learned by writing test cases for GNU Hyperbole" data-slug="test"> <title> 10:35-10:55 What I learned by writing test cases for GNU Hyperbole</title> <rect x="149" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(178,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> test</text></g></a> <a href="https://emacsconf.org/2023/talks/flat" title="A modern Emacs look-and-feel without pain" data-slug="flat"> <title> 11:10-11:20 A modern Emacs look-and-feel without pain</title> <rect x="203" y="75" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(216,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> flat</text></g></a> <a href="https://emacsconf.org/2023/talks/gc" title="emacs-gc-stats: Does garbage collection actually slow down Emacs?" data-slug="gc"> <title> 1:00- 1:20 emacs-gc-stats: Does garbage collection actually slow down Emacs?</title> <rect x="376" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(405,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> gc</text></g></a> <a href="https://emacsconf.org/2023/talks/lspocaml" title="Writing a language server in OCaml for Emacs, fun, and profit" data-slug="lspocaml"> <title> 1:35- 1:45 Writing a language server in OCaml for Emacs, fun, and profit</title> <rect x="431" y="75" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(444,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> lspocaml</text></g></a> <a href="https://emacsconf.org/2023/talks/windows" title="Windows into Freedom" data-slug="windows"> <title> 2:00- 2:40 Windows into Freedom</title> <rect x="470" y="75" opacity="0.8" width="62" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(530,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> windows</text></g></a> <a href="https://emacsconf.org/2023/talks/emacsconf" title="EmacsConf.org: How we use Org Mode and TRAMP to organize and run a multi-track conference" data-slug="emacsconf"> <title> 2:55- 3:15 EmacsConf.org: How we use Org Mode and TRAMP to organize and run a multi-track conference</title> <rect x="556" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(585,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> emacsconf</text></g></a> <a href="https://emacsconf.org/2023/talks/emacsen" title="The Emacsen family, the design of an Emacs and the importance of Lisp" data-slug="emacsen"> <title> 3:30- 3:50 The Emacsen family, the design of an Emacs and the importance of Lisp</title> <rect x="611" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect> <g transform="translate(640,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> emacsen</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>
### Draft schedule as a list
- 2023-12-02 Sat 09:00-09:10 [sat-open](https://emacsconf.org/2023/talks/sat-open "Saturday opening remarks"): Saturday opening remarks
- 2023-12-02 Sat 09:10-09:20 - before 10:00 EST - [adventure](https://emacsconf.org/2023/talks/adventure "An Org-Mode based text adventure game for learning the basics of Emacs, inside Emacs, written in Emacs Lisp"): An Org-Mode based text adventure game for learning the basics of Emacs, inside Emacs, written in Emacs Lisp (Chung-hong Chan)
- 2023-12-02 Sat 09:30-09:50 [uni](https://emacsconf.org/2023/talks/uni "Authoring and presenting university courses with Emacs and a full libre software stack"): Authoring and presenting university courses with Emacs and a full libre software stack (James Howell)
- 2023-12-02 Sat 10:00-10:10 - before 10:30 EST - [matplotllm](https://emacsconf.org/2023/talks/matplotllm "MatplotLLM, iterative natural language data visualization in org-babel"): MatplotLLM, iterative natural language data visualization in org-babel (Abhinav Tushar)
- 2023-12-02 Sat 10:05-10:25 [teaching](https://emacsconf.org/2023/talks/teaching "Teaching computer and data science with literate programming tools"): Teaching computer and data science with literate programming tools
- 2023-12-02 Sat 10:20-10:40 [voice](https://emacsconf.org/2023/talks/voice "Improving access to AI-assisted literate programming with voice control"): Improving access to AI-assisted literate programming with voice control (Blaine Mooers)
- 2023-12-02 Sat 10:40-10:50 - before 11:00 EST - [table](https://emacsconf.org/2023/talks/table "Who needs Excel? Managing your students qualifications with org-table"): Who needs Excel? Managing your students qualifications with org-table (Daniel Molina)
- 2023-12-02 Sat 10:55-11:15 - after 10:00 EST - [llm](https://emacsconf.org/2023/talks/llm "LLM clients in Emacs, functionality and standardization"): LLM clients in Emacs, functionality and standardization (Andrew Hyatt)
- 2023-12-02 Sat 11:05-11:15 - before 15:00 EST - [taming](https://emacsconf.org/2023/talks/taming "Taming things with Org Mode"): Taming things with Org Mode (Gergely Nagy (algernon))
- 2023-12-02 Sat 11:30-11:50 - before 13:00 EST - [one](https://emacsconf.org/2023/talks/one "one.el: the static site generator for Emacs Lisp Programmers"): one.el: the static site generator for Emacs Lisp Programmers (Tony Aldon)
- 2023-12-02 Sat 13:00-13:10 [writing](https://emacsconf.org/2023/talks/writing "Emacs turbo-charges my writing"): Emacs turbo-charges my writing (Jeremy Friesen)
- 2023-12-02 Sat 13:00-13:20 - after 11:00 EST - [overlay](https://emacsconf.org/2023/talks/overlay "Improving compiler diagnostics with Overlays"): Improving compiler diagnostics with Overlays (Jeff Trull)
- 2023-12-02 Sat 13:25-13:35 [nabokov](https://emacsconf.org/2023/talks/nabokov "Why Nabokov would use Org-Mode if he were writing today"): Why Nabokov would use Org-Mode if he were writing today (Edmund Jorgensen)
- 2023-12-02 Sat 13:35-13:45 [eval](https://emacsconf.org/2023/talks/eval "Editor Integrated REPL Driven Development for all languages"): Editor Integrated REPL Driven Development for all languages (Musa Al-hassy)
- 2023-12-02 Sat 13:50-14:10 - no live Q&A - [collab](https://emacsconf.org/2023/talks/collab "Collaborative data processing and documenting using org-babel"): Collaborative data processing and documenting using org-babel (Jonathan Hartman, Lukas C. Bossert)
- 2023-12-02 Sat 14:00-14:40 [repl](https://emacsconf.org/2023/talks/repl "REPLs in strange places: Lua, LaTeX, LPeg, LPegRex, TikZ"): REPLs in strange places: Lua, LaTeX, LPeg, LPegRex, TikZ (Eduardo Ochs)
- 2023-12-02 Sat 14:20-14:40 - before 15:00 EST - [woof](https://emacsconf.org/2023/talks/woof "Watch Over Our Folders"): Watch Over Our Folders (Bastien Guerry)
- 2023-12-02 Sat 14:50-15:30 - after 11:00 EST - [hyperdrive](https://emacsconf.org/2023/talks/hyperdrive "hyperdrive.el: Peer-to-peer filesystem in Emacs"): hyperdrive.el: Peer-to-peer filesystem in Emacs (Joseph Turner)
- 2023-12-02 Sat 14:55-15:15 - after 12:00 EST - [solo](https://emacsconf.org/2023/talks/solo "How I play TTRPGs in Emacs"): How I play TTRPGs in Emacs (Howard Abrams)
- 2023-12-02 Sat 15:40-15:50 - between 15:00-16:00 EST - [unentangling](https://emacsconf.org/2023/talks/unentangling "(Un)entangling projects and repos"): (Un)entangling projects and repos (Alexey Bochkarev)
- 2023-12-02 Sat 15:45-16:05 [extending](https://emacsconf.org/2023/talks/extending "GNU Emacs for electronics, note-taking, and as lightweight IDE"): GNU Emacs for electronics, note-taking, and as lightweight IDE (Anand Tamariya)
- 2023-12-02 Sat 16:00-16:20 - after 13:00 EST - [ref](https://emacsconf.org/2023/talks/ref "Org-Mode workflow: informal reference tracking"): Org-Mode workflow: informal reference tracking (Christopher Howard)
- 2023-12-02 Sat 16:30-16:40 - no live Q&A - [devel](https://emacsconf.org/2023/talks/devel "Emacs development updates"): Emacs development updates (John Wiegley)
- 2023-12-02 Sat 16:50-17:00 [sat-close](https://emacsconf.org/2023/talks/sat-close "Saturday closing remarks"): Saturday closing remarks
- 2023-12-03 Sun 09:00-09:05 [sun-open](https://emacsconf.org/2023/talks/sun-open "Sunday opening remarks"): Sunday opening remarks
- 2023-12-03 Sun 09:05-09:25 - before 12:00 EST - [hyperamp](https://emacsconf.org/2023/talks/hyperamp "Top 10 ways Hyperbole amps up Emacs"): Top 10 ways Hyperbole amps up Emacs (Robert Weiner)
- 2023-12-03 Sun 09:40-10:00 [koutline](https://emacsconf.org/2023/talks/koutline "Using Koutline for stream of thought journaling"): Using Koutline for stream of thought journaling (Matthew Jorgensen (PlasmaStrike))
- 2023-12-03 Sun 10:00-10:20 - before 12:00 EST - [scheme](https://emacsconf.org/2023/talks/scheme "Bringing joy to Scheme programming"): Bringing joy to Scheme programming (Andrew Tropin)
- 2023-12-03 Sun 10:10-10:20 - before 11:00 EST - [parallel](https://emacsconf.org/2023/talks/parallel "Parallel Text Replacement: Does P = NP?"): Parallel Text Replacement: Does P = NP? (Lovro, Valentino Picotti)
- 2023-12-03 Sun 10:35-10:45 - before 13:00 EST - [eat](https://emacsconf.org/2023/talks/eat "Eat and Eat powered Eshell, fast featureful terminal inside Emacs"): Eat and Eat powered Eshell, fast featureful terminal inside Emacs (Akib Azmain Turja)
- 2023-12-03 Sun 10:35-10:55 - before 12:00 EST - [test](https://emacsconf.org/2023/talks/test "What I learned by writing test cases for GNU Hyperbole"): What I learned by writing test cases for GNU Hyperbole (Mats Lidell)
- 2023-12-03 Sun 11:00-11:20 - before 13:00 EST - [poltys](https://emacsconf.org/2023/talks/poltys "The browser in a buffer"): The browser in a buffer (Michael Bauer)
- 2023-12-03 Sun 11:10-11:20 - between 11:00-13:00 EST - [flat](https://emacsconf.org/2023/talks/flat "A modern Emacs look-and-feel without pain"): A modern Emacs look-and-feel without pain (Pedro A. Aranda)
- 2023-12-03 Sun 11:35-11:55 - before 17:00 EST - [cubing](https://emacsconf.org/2023/talks/cubing "Speedcubing in Emacs"): Speedcubing in Emacs (Vasilij “wasamasa” Schneidermann)
- 2023-12-03 Sun 13:00-13:20 - before 14:00 EST - [gc](https://emacsconf.org/2023/talks/gc "emacs-gc-stats: Does garbage collection actually slow down Emacs?"): emacs-gc-stats: Does garbage collection actually slow down Emacs? (Ihor Radchenko)
- 2023-12-03 Sun 13:00-13:40 [emms](https://emacsconf.org/2023/talks/emms "Emacs MultiMedia System (EMMS)"): Emacs MultiMedia System (EMMS) (Yoni Rabkin)
- 2023-12-03 Sun 13:35-13:45 [lspocaml](https://emacsconf.org/2023/talks/lspocaml "Writing a language server in OCaml for Emacs, fun, and profit"): Writing a language server in OCaml for Emacs, fun, and profit (Austin Theriault)
- 2023-12-03 Sun 13:55-14:25 [steno](https://emacsconf.org/2023/talks/steno "Programming at 200 wpm"): Programming at 200 wpm (Daniel Alejandro Tapia)
- 2023-12-03 Sun 14:00-14:40 [windows](https://emacsconf.org/2023/talks/windows "Windows into Freedom"): Windows into Freedom (Corwin Brust)
- 2023-12-03 Sun 14:35-14:45 [mentor](https://emacsconf.org/2023/talks/mentor "Mentoring VS-Coders as an Emacsian (or How to show not tell people about the wonders of Emacs)"): Mentoring VS-Coders as an Emacsian (or How to show not tell people about the wonders of Emacs) (Jeremy Friesen)
- 2023-12-03 Sun 14:55-15:15 [emacsconf](https://emacsconf.org/2023/talks/emacsconf "EmacsConf.org: How we use Org Mode and TRAMP to organize and run a multi-track conference"): EmacsConf.org: How we use Org Mode and TRAMP to organize and run a multi-track conference (Sacha Chua)
- 2023-12-03 Sun 15:00-15:10 - after 15:00 EST - [hn](https://emacsconf.org/2023/talks/hn "The many ways to browse Hacker News from Emacs"): The many ways to browse Hacker News from Emacs (Mickael Kerjean)
- 2023-12-03 Sun 15:25-16:05 - after 15:00 EST - [web](https://emacsconf.org/2023/talks/web "Emacs saves the Web"): Emacs saves the Web (Yuchen Pei)
- 2023-12-03 Sun 15:30-15:50 - no live Q&A - [emacsen](https://emacsconf.org/2023/talks/emacsen "The Emacsen family, the design of an Emacs and the importance of Lisp"): The Emacsen family, the design of an Emacs and the importance of Lisp (Fermin)
- 2023-12-03 Sun 16:20-16:40 [sharing](https://emacsconf.org/2023/talks/sharing "Sharing Emacs is Caring Emacs: Emacs education and why I embraced video"): Sharing Emacs is Caring Emacs: Emacs education and why I embraced video (Jacob Boxerman)
- 2023-12-03 Sun 16:55-17:05 [sun-close](https://emacsconf.org/2023/talks/sun-close "Sunday closing remarks"): Sunday closing remarks
### Schedule notes
- Legend: dashed line means non-BBB Q&A; light gray means penciled-in talk
- Saturday on the General track: Org day + misc
- [adventure](https://emacsconf.org/2023/talks/adventure "An Org-Mode based text adventure game for learning the basics of Emacs, inside Emacs, written in Emacs Lisp") is the first talk because of availability constraints; would be nice to connect it to [solo](https://emacsconf.org/2023/talks/solo "How I play TTRPGs in Emacs")
- [uni](https://emacsconf.org/2023/talks/uni "Authoring and presenting university courses with Emacs and a full libre software stack") for teaching, [teaching](https://emacsconf.org/2023/talks/teaching "Teaching computer and data science with literate programming tools") is also related, and [table](https://emacsconf.org/2023/talks/table "Who needs Excel? Managing your students qualifications with org-table") for grading
- [taming](https://emacsconf.org/2023/talks/taming "Taming things with Org Mode") and [one](https://emacsconf.org/2023/talks/one "one.el: the static site generator for Emacs Lisp Programmers") both deal with exports in some way. [unentangling](https://emacsconf.org/2023/talks/unentangling "(Un)entangling projects and repos") would be nice to add here, but that one needs to be in the afternoon because of availability constraints.
- [writing](https://emacsconf.org/2023/talks/writing "Emacs turbo-charges my writing") is connected to [nabokov](https://emacsconf.org/2023/talks/nabokov "Why Nabokov would use Org-Mode if he were writing today") (blog posts, novel). It’s also a little connected to [one](https://emacsconf.org/2023/talks/one "one.el: the static site generator for Emacs Lisp Programmers") (exporting a blog).
- [collab](https://emacsconf.org/2023/talks/collab "Collaborative data processing and documenting using org-babel") and [solo](https://emacsconf.org/2023/talks/solo "How I play TTRPGs in Emacs") are amusing to pair together, but maybe following [collab](https://emacsconf.org/2023/talks/collab "Collaborative data processing and documenting using org-babel") (coordinating with other people who use Org) with [woof](https://emacsconf.org/2023/talks/woof "Watch Over Our Folders") (Org development coordination) also makes sense and makes it so that [woof](https://emacsconf.org/2023/talks/woof "Watch Over Our Folders") isn’t too late (Europe/Paris timezone). I put [woof](https://emacsconf.org/2023/talks/woof "Watch Over Our Folders") on the general track because it’s Org-related and could encourage people to help out. Penciled in because bzg isn’t sure he’ll make it.
- [unentangling](https://emacsconf.org/2023/talks/unentangling "(Un)entangling projects and repos") and [ref](https://emacsconf.org/2023/talks/ref "Org-Mode workflow: informal reference tracking") are also Org-related. [ref](https://emacsconf.org/2023/talks/ref "Org-Mode workflow: informal reference tracking") would be nice to place together with [nabokov](https://emacsconf.org/2023/talks/nabokov "Why Nabokov would use Org-Mode if he were writing today"), but that would move [woof](https://emacsconf.org/2023/talks/woof "Watch Over Our Folders") and [unentangling](https://emacsconf.org/2023/talks/unentangling "(Un)entangling projects and repos") too late.
- [devel](https://emacsconf.org/2023/talks/devel "Emacs development updates") is not Org-related, but probably good to share with everyone.
- Saturday morning Development track: large language models, AI. Has to be morning because of [matplotllm](https://emacsconf.org/2023/talks/matplotllm "MatplotLLM, iterative natural language data visualization in org-babel"). [llm](https://emacsconf.org/2023/talks/llm "LLM clients in Emacs, functionality and standardization") is about general interfaces, so we can put that last. Could have a general LLM discussion after the talks. Can’t swap it with Sunday morning because [test](https://emacsconf.org/2023/talks/test "What I learned by writing test cases for GNU Hyperbole") should stick with [hyperamp](https://emacsconf.org/2023/talks/hyperamp "Top 10 ways Hyperbole amps up Emacs") and [koutline](https://emacsconf.org/2023/talks/koutline "Using Koutline for stream of thought journaling") (Hyperbole talks), and the Hyperbole talks won’t fit into Saturday morning
- Saturday afternoon, developer track: REPLs, misc talks
- start off with developer tweaks: [overlay](https://emacsconf.org/2023/talks/overlay "Improving compiler diagnostics with Overlays") (compilation), and then [eval](https://emacsconf.org/2023/talks/eval "Editor Integrated REPL Driven Development for all languages") and [repl](https://emacsconf.org/2023/talks/repl "REPLs in strange places: Lua, LaTeX, LPeg, LPegRex, TikZ") are paired together
- [hyperdrive](https://emacsconf.org/2023/talks/hyperdrive "hyperdrive.el: Peer-to-peer filesystem in Emacs"): adding another file protocol, using HTTP APIs
- [extending](https://emacsconf.org/2023/talks/extending "GNU Emacs for electronics, note-taking, and as lightweight IDE") might just be replays of demos + Q&A session if people are interested
- Sunday morning gen: Hyperbole (gen track, then crossing over to dev for testing) + misc talks
- Hyperbole mini-track is in the morning because of [test](https://emacsconf.org/2023/talks/test "What I learned by writing test cases for GNU Hyperbole")’s availability constraints; [hyperamp](https://emacsconf.org/2023/talks/hyperamp "Top 10 ways Hyperbole amps up Emacs") and [koutline](https://emacsconf.org/2023/talks/koutline "Using Koutline for stream of thought journaling") go before it. Try to avoid conflicts so they can attend each other’s talks
- Sunday morning after [test](https://emacsconf.org/2023/talks/test "What I learned by writing test cases for GNU Hyperbole") could be a fun extended “let’s write tests together” session if someone wants to lead it
- [parallel](https://emacsconf.org/2023/talks/parallel "Parallel Text Replacement: Does P = NP?") needs to go in the morning. Might be okay to include in the general talk.
- [poltys](https://emacsconf.org/2023/talks/poltys "The browser in a buffer") and [cubing](https://emacsconf.org/2023/talks/cubing "Speedcubing in Emacs") aren’t related to Hyperbole, but we need to fit them into the schedule somewhere. It would be nice to connect [poltys](https://emacsconf.org/2023/talks/poltys "The browser in a buffer") (talking to web browsers from Emacs) to [web](https://emacsconf.org/2023/talks/web "Emacs saves the Web") (doing web stuff in Emacs instead), but [poltys](https://emacsconf.org/2023/talks/poltys "The browser in a buffer") needs to be in the morning (which is pretty full) and [web](https://emacsconf.org/2023/talks/web "Emacs saves the Web") is in the afternoon because Yuchen is in Australia/Sydney.
- [cubing](https://emacsconf.org/2023/talks/cubing "Speedcubing in Emacs") can be something fun to transition to lunch, then.
- Sunday afternoon gen: misc talks, community
- [eat](https://emacsconf.org/2023/talks/eat "Eat and Eat powered Eshell, fast featureful terminal inside Emacs") is about shells and running commands, so it’s generally useful
- [emms](https://emacsconf.org/2023/talks/emms "Emacs MultiMedia System (EMMS)") is a user+dev talk
- community theme ([mentor](https://emacsconf.org/2023/talks/mentor "Mentoring VS-Coders as an Emacsian (or How to show not tell people about the wonders of Emacs)"), [hn](https://emacsconf.org/2023/talks/hn "The many ways to browse Hacker News from Emacs"), [sharing](https://emacsconf.org/2023/talks/sharing "Sharing Emacs is Caring Emacs: Emacs education and why I embraced video")), with an aside for [web](https://emacsconf.org/2023/talks/web "Emacs saves the Web") (using Emacs as a client for stuff). [sharing](https://emacsconf.org/2023/talks/sharing "Sharing Emacs is Caring Emacs: Emacs education and why I embraced video") is possible closing keynote - encourage people to go out and explore/share all year? If not, [web](https://emacsconf.org/2023/talks/web "Emacs saves the Web") could be good for a closing talk - encouraging people to use Emacs for more stuff.
- Sunday dev: misc dev talks
- Morning:
- [test](https://emacsconf.org/2023/talks/test "What I learned by writing test cases for GNU Hyperbole") is related to the Hyperbole talks [hyperamp](https://emacsconf.org/2023/talks/hyperamp "Top 10 ways Hyperbole amps up Emacs") and [koutline](https://emacsconf.org/2023/talks/koutline "Using Koutline for stream of thought journaling"), so we don’t want to overlap with the Q&A for those talks
- [flat](https://emacsconf.org/2023/talks/flat "A modern Emacs look-and-feel without pain"), [scheme](https://emacsconf.org/2023/talks/scheme "Bringing joy to Scheme programming"), [gc](https://emacsconf.org/2023/talks/gc "emacs-gc-stats: Does garbage collection actually slow down Emacs?"), [flat](https://emacsconf.org/2023/talks/flat "A modern Emacs look-and-feel without pain"), [windows](https://emacsconf.org/2023/talks/windows "Windows into Freedom"), [emacsconf](https://emacsconf.org/2023/talks/emacsconf "EmacsConf.org: How we use Org Mode and TRAMP to organize and run a multi-track conference"), [steno](https://emacsconf.org/2023/talks/steno "Programming at 200 wpm")
- [emacsen](https://emacsconf.org/2023/talks/emacsen "The Emacsen family, the design of an Emacs and the importance of Lisp") is more high-level and can talk about other editors
- checking with [web](https://emacsconf.org/2023/talks/web "Emacs saves the Web") and [hn](https://emacsconf.org/2023/talks/hn "The many ways to browse Hacker News from Emacs") if ~3pm Sunday afternoon (~7am Mon local time) is okay with them. It would be nice to pair it with [hn](https://emacsconf.org/2023/talks/hn "The many ways to browse Hacker News from Emacs"), which is nice to connect to [mentor](https://emacsconf.org/2023/talks/mentor "Mentoring VS-Coders as an Emacsian (or How to show not tell people about the wonders of Emacs)") and [web](https://emacsconf.org/2023/talks/web "Emacs saves the Web").
- Thinking about the flow:
- General: Org day, then misc talks Sunday morning and part of Sunday afternoon. Ending with a focus on community and expanding Emacs. It would be nice to get people excited about connecting and sharing throughout the year.
- Dev: people who are really curious about AI can connect on
Saturday morning and keep the conversation going. Some programming
tweaks are grouped together. The rest are mostly based on
availability.
- if the talks get cancelled, we can have an open meetup possibly with
breakout rooms
- coordination notes:
- TODO [repl](https://emacsconf.org/2023/talks/repl "REPLs in strange places: Lua, LaTeX, LPeg, LPegRex, TikZ"), [eval](https://emacsconf.org/2023/talks/eval "Editor Integrated REPL Driven Development for all languages")
- [hyperamp](https://emacsconf.org/2023/talks/hyperamp "Top 10 ways Hyperbole amps up Emacs"), [koutline](https://emacsconf.org/2023/talks/koutline "Using Koutline for stream of thought journaling"), and [test](https://emacsconf.org/2023/talks/test "What I learned by writing test cases for GNU Hyperbole") are all in touch because they work on Hyperbole together
- [hn](https://emacsconf.org/2023/talks/hn "The many ways to browse Hacker News from Emacs") and [web](https://emacsconf.org/2023/talks/web "Emacs saves the Web")
- [unentangling](https://emacsconf.org/2023/talks/unentangling "(Un)entangling projects and repos"), [taming](https://emacsconf.org/2023/talks/taming "Taming things with Org Mode")?
- [matplotllm](https://emacsconf.org/2023/talks/matplotllm "MatplotLLM, iterative natural language data visualization in org-babel"), [voice](https://emacsconf.org/2023/talks/voice "Improving access to AI-assisted literate programming with voice control"), [llm](https://emacsconf.org/2023/talks/llm "LLM clients in Emacs, functionality and standardization") (so they don’t all have to define LLMs?)
- The schedule doesn’t have neat aligned slots on purpose so that
organizers can jump between streams if needed, and also because we
have so many awesome talks. Somehow people managed to handle the
schedule last year. =)
- Next steps:
- Schedule: We’ll e-mail the draft schedule to speakers so that they
can get a sense of where they are in the schedule, see if they
really want to make it to a conflicting session’s Q&A live
(they’ll have early access to the videos), etc.
- Infrastructure:
- Dust off and document infrastructure, processes
- Sort out access to media.emacsconf.org so that we can get the upload service up and running
- Draft brief intros for talks, keeping in mind that we’re going to say them out loud
- Speakers will work on videos, and we can help with nudges/coordination if needed
<a id="three-tracks"></a>
### TODO Test the idea of three tracks and more aligned times :decision:
Compared to [two-track schedule](#draft-schedule):
<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/2023/talks/sat-open" title="Saturday opening remarks" data-slug="sat-open"> <title> 9:00- 9:10 Saturday opening remarks</title> <rect x="0" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(13,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> sat-open</text></g></a> <a href="https://emacsconf.org/2023/talks/adventure" title="An Org-Mode based text adventure game for learning the basics of Emacs, inside Emacs, written in Emacs Lisp" data-slug="adventure"> <title> 9:10- 9:20 An Org-Mode based text adventure game for learning the basics of Emacs, inside Emacs, written in Emacs Lisp</title> <rect x="15" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect> <g transform="translate(28,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> adventure</text></g></a> <a href="https://emacsconf.org/2023/talks/uni" title="Authoring and presenting university courses with Emacs and a full libre software stack" data-slug="uni"> <title> 9:30- 9:50 Authoring and presenting university courses with Emacs and a full libre software stack</title> <rect x="47" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(76,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> uni</text></g></a> <a href="https://emacsconf.org/2023/talks/teaching" title="Teaching computer and data science with literate programming tools" data-slug="teaching"> <title> 10:05-10:25 Teaching computer and data science with literate programming tools</title> <rect x="101" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(130,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> teaching</text></g></a> <a href="https://emacsconf.org/2023/talks/table" title="Who needs Excel? Managing your students qualifications with org-table" data-slug="table"> <title> 10:40-10:50 Who needs Excel? Managing your students qualifications with org-table</title> <rect x="156" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(169,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> table</text></g></a> <a href="https://emacsconf.org/2023/talks/taming" title="Taming things with Org Mode" data-slug="taming"> <title> 11:05-11:15 Taming things with Org Mode</title> <rect x="196" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(209,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> taming</text></g></a> <a href="https://emacsconf.org/2023/talks/one" title="one.el: the static site generator for Emacs Lisp Programmers" data-slug="one"> <title> 11:30-11:50 one.el: the static site generator for Emacs Lisp Programmers</title> <rect x="235" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(264,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> one</text></g></a> <a href="https://emacsconf.org/2023/talks/writing" title="Emacs turbo-charges my writing" data-slug="writing"> <title> 1:00- 1:10 Emacs turbo-charges my writing</title> <rect x="376" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(389,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> writing</text></g></a> <a href="https://emacsconf.org/2023/talks/nabokov" title="Why Nabokov would use Org-Mode if he were writing today" data-slug="nabokov"> <title> 1:25- 1:35 Why Nabokov would use Org-Mode if he were writing today</title> <rect x="415" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(428,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> nabokov</text></g></a> <a href="https://emacsconf.org/2023/talks/collab" title="Collaborative data processing and documenting using org-babel" data-slug="collab"> <title> 1:50- 2:10 Collaborative data processing and documenting using org-babel</title> <rect x="454" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect> <g transform="translate(483,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> collab</text></g></a> <a href="https://emacsconf.org/2023/talks/woof" title="Watch Over Our Folders" data-slug="woof"> <title> 2:20- 2:40 Watch Over Our Folders</title> <rect x="501" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="lightgray"></rect> <g transform="translate(530,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> woof</text></g></a> <a href="https://emacsconf.org/2023/talks/solo" title="How I play TTRPGs in Emacs" data-slug="solo"> <title> 2:55- 3:15 How I play TTRPGs in Emacs</title> <rect x="556" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(585,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> solo</text></g></a> <a href="https://emacsconf.org/2023/talks/unentangling" title="(Un)entangling projects and repos" data-slug="unentangling"> <title> 3:40- 3:50 (Un)entangling projects and repos</title> <rect x="627" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect> <g transform="translate(640,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> unentangling</text></g></a> <a href="https://emacsconf.org/2023/talks/ref" title="Org-Mode workflow: informal reference tracking" data-slug="ref"> <title> 4:00- 4:20 Org-Mode workflow: informal reference tracking</title> <rect x="658" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect> <g transform="translate(687,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> ref</text></g></a> <a href="https://emacsconf.org/2023/talks/devel" title="Emacs development updates" data-slug="devel"> <title> 4:30- 4:40 Emacs development updates</title> <rect x="705" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect> <g transform="translate(718,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> devel</text></g></a> <a href="https://emacsconf.org/2023/talks/sat-close" title="Saturday closing remarks" data-slug="sat-close"> <title> 4:50- 5:00 Saturday closing remarks</title> <rect x="737" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="green"></rect> <g transform="translate(750,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> sat-close</text></g></a> <a href="https://emacsconf.org/2023/talks/matplotllm" title="MatplotLLM, iterative natural language data visualization in org-babel" data-slug="matplotllm"> <title> 10:00-10:10 MatplotLLM, iterative natural language data visualization in org-babel</title> <rect x="94" y="75" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect> <g transform="translate(107,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> matplotllm</text></g></a> <a href="https://emacsconf.org/2023/talks/voice" title="Improving access to AI-assisted literate programming with voice control" data-slug="voice"> <title> 10:20-10:40 Improving access to AI-assisted literate programming with voice control</title> <rect x="125" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(154,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> voice</text></g></a> <a href="https://emacsconf.org/2023/talks/llm" title="LLM clients in Emacs, functionality and standardization" data-slug="llm"> <title> 10:55-11:15 LLM clients in Emacs, functionality and standardization</title> <rect x="180" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(209,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> llm</text></g></a> <a href="https://emacsconf.org/2023/talks/overlay" title="Improving compiler diagnostics with Overlays" data-slug="overlay"> <title> 1:00- 1:20 Improving compiler diagnostics with Overlays</title> <rect x="376" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(405,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> overlay</text></g></a> <a href="https://emacsconf.org/2023/talks/eval" title="Editor Integrated REPL Driven Development for all languages" data-slug="eval"> <title> 1:35- 1:45 Editor Integrated REPL Driven Development for all languages</title> <rect x="431" y="75" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(444,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> eval</text></g></a> <a href="https://emacsconf.org/2023/talks/repl" title="REPLs in strange places: Lua, LaTeX, LPeg, LPegRex, TikZ" data-slug="repl"> <title> 2:00- 2:40 REPLs in strange places: Lua, LaTeX, LPeg, LPegRex, TikZ</title> <rect x="470" y="75" opacity="0.8" width="62" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect> <g transform="translate(530,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> repl</text></g></a> <a href="https://emacsconf.org/2023/talks/hyperdrive" title="hyperdrive.el: Peer-to-peer filesystem in Emacs" data-slug="hyperdrive"> <title> 2:50- 3:30 hyperdrive.el: Peer-to-peer filesystem in Emacs</title> <rect x="549" y="75" opacity="0.8" width="62" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(609,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> hyperdrive</text></g></a> <a href="https://emacsconf.org/2023/talks/extending" title="GNU Emacs for electronics, note-taking, and as lightweight IDE" data-slug="extending"> <title> 3:45- 4:05 GNU Emacs for electronics, note-taking, and as lightweight IDE</title> <rect x="635" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(664,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> extending</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/2023/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="green"></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/2023/talks/hyperamp" title="Top 10 ways Hyperbole amps up Emacs" data-slug="hyperamp"> <title> 9:05- 9:25 Top 10 ways Hyperbole amps up Emacs</title> <rect x="7" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(36,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> hyperamp</text></g></a> <a href="https://emacsconf.org/2023/talks/koutline" title="Using Koutline for stream of thought journaling" data-slug="koutline"> <title> 9:40-10:00 Using Koutline for stream of thought journaling</title> <rect x="62" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect> <g transform="translate(91,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> koutline</text></g></a> <a href="https://emacsconf.org/2023/talks/parallel" title="Parallel Text Replacement: Does P = NP?" data-slug="parallel"> <title> 10:10-10:20 Parallel Text Replacement: Does P = NP?</title> <rect x="109" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(122,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> parallel</text></g></a> <a href="https://emacsconf.org/2023/talks/eat" title="Eat and Eat powered Eshell, fast featureful terminal inside Emacs" data-slug="eat"> <title> 10:35-10:45 Eat and Eat powered Eshell, fast featureful terminal inside Emacs</title> <rect x="149" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(162,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> eat</text></g></a> <a href="https://emacsconf.org/2023/talks/poltys" title="The browser in a buffer" data-slug="poltys"> <title> 11:00-11:20 The browser in a buffer</title> <rect x="188" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(217,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> poltys</text></g></a> <a href="https://emacsconf.org/2023/talks/cubing" title="Speedcubing in Emacs" data-slug="cubing"> <title> 11:35-11:55 Speedcubing in Emacs</title> <rect x="243" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect> <g transform="translate(272,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> cubing</text></g></a> <a href="https://emacsconf.org/2023/talks/emms" title="Emacs MultiMedia System (EMMS)" data-slug="emms"> <title> 1:00- 1:40 Emacs MultiMedia System (EMMS)</title> <rect x="376" y="15" opacity="0.8" width="62" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(436,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> emms</text></g></a> <a href="https://emacsconf.org/2023/talks/steno" title="Programming at 200 wpm" data-slug="steno"> <title> 1:55- 2:25 Programming at 200 wpm</title> <rect x="462" y="15" opacity="0.8" width="47" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect> <g transform="translate(507,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> steno</text></g></a> <a href="https://emacsconf.org/2023/talks/mentor" title="Mentoring VS-Coders as an Emacsian (or How to show not tell people about the wonders of Emacs)" data-slug="mentor"> <title> 2:35- 2:45 Mentoring VS-Coders as an Emacsian (or How to show not tell people about the wonders of Emacs)</title> <rect x="525" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(538,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> mentor</text></g></a> <a href="https://emacsconf.org/2023/talks/hn" title="The many ways to browse Hacker News from Emacs" data-slug="hn"> <title> 3:00- 3:10 The many ways to browse Hacker News from Emacs</title> <rect x="564" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(577,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> hn</text></g></a> <a href="https://emacsconf.org/2023/talks/web" title="Emacs saves the Web" data-slug="web"> <title> 3:25- 4:05 Emacs saves the Web</title> <rect x="603" y="15" opacity="0.8" width="62" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(663,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> web</text></g></a> <a href="https://emacsconf.org/2023/talks/sharing" title="Sharing Emacs is Caring Emacs: Emacs education and why I embraced video" data-slug="sharing"> <title> 4:20- 4:40 Sharing Emacs is Caring Emacs: Emacs education and why I embraced video</title> <rect x="690" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(719,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> sharing</text></g></a> <a href="https://emacsconf.org/2023/talks/sun-close" title="Sunday closing remarks" data-slug="sun-close"> <title> 4:55- 5:05 Sunday closing remarks</title> <rect x="745" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="green"></rect> <g transform="translate(758,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> sun-close</text></g></a> <a href="https://emacsconf.org/2023/talks/scheme" title="Bringing joy to Scheme programming" data-slug="scheme"> <title> 10:00-10:20 Bringing joy to Scheme programming</title> <rect x="94" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(123,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> scheme</text></g></a> <a href="https://emacsconf.org/2023/talks/test" title="What I learned by writing test cases for GNU Hyperbole" data-slug="test"> <title> 10:35-10:55 What I learned by writing test cases for GNU Hyperbole</title> <rect x="149" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(178,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> test</text></g></a> <a href="https://emacsconf.org/2023/talks/flat" title="A modern Emacs look-and-feel without pain" data-slug="flat"> <title> 11:10-11:20 A modern Emacs look-and-feel without pain</title> <rect x="203" y="75" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(216,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> flat</text></g></a> <a href="https://emacsconf.org/2023/talks/gc" title="emacs-gc-stats: Does garbage collection actually slow down Emacs?" data-slug="gc"> <title> 1:00- 1:20 emacs-gc-stats: Does garbage collection actually slow down Emacs?</title> <rect x="376" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(405,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> gc</text></g></a> <a href="https://emacsconf.org/2023/talks/lspocaml" title="Writing a language server in OCaml for Emacs, fun, and profit" data-slug="lspocaml"> <title> 1:35- 1:45 Writing a language server in OCaml for Emacs, fun, and profit</title> <rect x="431" y="75" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(444,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> lspocaml</text></g></a> <a href="https://emacsconf.org/2023/talks/windows" title="Windows into Freedom" data-slug="windows"> <title> 2:00- 2:40 Windows into Freedom</title> <rect x="470" y="75" opacity="0.8" width="62" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(530,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> windows</text></g></a> <a href="https://emacsconf.org/2023/talks/emacsconf" title="EmacsConf.org: How we use Org Mode and TRAMP to organize and run a multi-track conference" data-slug="emacsconf"> <title> 2:55- 3:15 EmacsConf.org: How we use Org Mode and TRAMP to organize and run a multi-track conference</title> <rect x="556" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(585,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> emacsconf</text></g></a> <a href="https://emacsconf.org/2023/talks/emacsen" title="The Emacsen family, the design of an Emacs and the importance of Lisp" data-slug="emacsen"> <title> 3:30- 3:50 The Emacsen family, the design of an Emacs and the importance of Lisp</title> <rect x="611" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect> <g transform="translate(640,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> emacsen</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>
What if we have three tracks instead?
- Three-track advantages:
- More space between talks for streaming the Q&A
- Easier to explain the schedule
- More logical grouping
- Ends earlier, which is easier for participants from Europe
- Three-track disadvantages:
- Needs more volunteers (host, IRC, pad)
- Needs more computing power (will probably need to spin up another node for VNC+OBS)
- More fear of missing out for participants
(defun emacsconf-schedule-copy-previous-track (list)
(cl-loop
with track = (plist-get (car list) :track)
with track-names = (seq-map (lambda (o) (plist-get o :name)) emacsconf-tracks)
for talk in list
collect
(progn
(when (member (plist-get talk :track) track-names)
(setq track (plist-get talk :track)))
(append (list :track track) talk))))
<svg width="800" height="400" 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="200" x="0" y="0" fill="white"></rect> <text font-size="10" fill="black" y="12" x="3"> Saturday</text> <a href="/2023/talks/sat-open" title="Saturday opening remarks" data-slug="sat-open"> <title> 9:00- 9:10 Saturday opening remarks</title> <rect x="0" y="15" opacity="0.8" width="15" height="55" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(13,69)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> sat-open</text></g></a> <a href="/2023/talks/adventure" title="An Org-Mode based text adventure game for learning the basics of Emacs, inside Emacs, written in Emacs Lisp" data-slug="adventure"> <title> 9:10- 9:20 An Org-Mode based text adventure game for learning the basics of Emacs, inside Emacs, written in Emacs Lisp</title> <rect x="15" y="15" opacity="0.8" width="15" height="55" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect> <g transform="translate(28,69)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> adventure</text></g></a> <a href="/2023/talks/uni" title="Authoring and presenting university courses with Emacs and a full libre software stack" data-slug="uni"> <title> 9:40-10:00 Authoring and presenting university courses with Emacs and a full libre software stack</title> <rect x="62" y="15" opacity="0.8" width="31" height="55" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(91,69)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> uni</text></g></a> <a href="/2023/talks/table" title="Who needs Excel? Managing your students qualifications with org-table" data-slug="table"> <title> 10:30-10:40 Who needs Excel? Managing your students qualifications with org-table</title> <rect x="141" y="15" opacity="0.8" width="15" height="55" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(154,69)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> table</text></g></a> <a href="/2023/talks/teaching" title="Teaching computer and data science with literate programming tools" data-slug="teaching"> <title> 11:15-11:35 Teaching computer and data science with literate programming tools</title> <rect x="211" y="15" opacity="0.8" width="31" height="55" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(240,69)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> teaching</text></g></a> <a href="/2023/talks/collab" title="Collaborative data processing and documenting using org-babel" data-slug="collab"> <title> 1:00- 1:20 Collaborative data processing and documenting using org-babel</title> <rect x="376" y="15" opacity="0.8" width="31" height="55" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect> <g transform="translate(405,69)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> collab</text></g></a> <a href="/2023/talks/woof" title="Watch Over Our Folders" data-slug="woof"> <title> 1:40- 2:00 Watch Over Our Folders</title> <rect x="439" y="15" opacity="0.8" width="31" height="55" stroke="black" stroke-dasharray="" fill="lightgray"></rect> <g transform="translate(468,69)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> woof</text></g></a> <a href="/2023/talks/solo" title="How I play TTRPGs in Emacs" data-slug="solo"> <title> 2:20- 2:40 How I play TTRPGs in Emacs</title> <rect x="501" y="15" opacity="0.8" width="31" height="55" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(530,69)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> solo</text></g></a> <a href="/2023/talks/hn" title="The many ways to browse Hacker News from Emacs" data-slug="hn"> <title> 3:00- 3:10 The many ways to browse Hacker News from Emacs</title> <rect x="564" y="15" opacity="0.8" width="15" height="55" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(577,69)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> hn</text></g></a> <a href="/2023/talks/web" title="Emacs saves the Web" data-slug="web"> <title> 3:30- 4:10 Emacs saves the Web</title> <rect x="611" y="15" opacity="0.8" width="62" height="55" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(671,69)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> web</text></g></a> <a href="/2023/talks/sat-close" title="Saturday closing remarks" data-slug="sat-close"> <title> 4:30- 4:40 Saturday closing remarks</title> <rect x="705" y="15" opacity="0.8" width="15" height="55" stroke="black" stroke-dasharray="" fill="green"></rect> <g transform="translate(718,69)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> sat-close</text></g></a> <a href="/2023/talks/one" title="one.el: the static site generator for Emacs Lisp Programmers" data-slug="one"> <title> 9:40-10:00 one.el: the static site generator for Emacs Lisp Programmers</title> <rect x="62" y="71" opacity="0.8" width="31" height="55" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(91,125)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> one</text></g></a> <a href="/2023/talks/poltys" title="The browser in a buffer" data-slug="poltys"> <title> 10:30-10:50 The browser in a buffer</title> <rect x="141" y="71" opacity="0.8" width="31" height="55" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(170,125)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> poltys</text></g></a> <a href="/2023/talks/taming" title="Taming things with Org Mode" data-slug="taming"> <title> 11:15-11:25 Taming things with Org Mode</title> <rect x="211" y="71" opacity="0.8" width="15" height="55" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(224,125)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> taming</text></g></a> <a href="/2023/talks/writing" title="Emacs turbo-charges my writing" data-slug="writing"> <title> 1:00- 1:10 Emacs turbo-charges my writing</title> <rect x="376" y="71" opacity="0.8" width="15" height="55" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(389,125)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> writing</text></g></a> <a href="/2023/talks/nabokov" title="Why Nabokov would use Org-Mode if he were writing today" data-slug="nabokov"> <title> 1:40- 1:50 Why Nabokov would use Org-Mode if he were writing today</title> <rect x="439" y="71" opacity="0.8" width="15" height="55" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(452,125)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> nabokov</text></g></a> <a href="/2023/talks/steno" title="Programming at 200 wpm" data-slug="steno"> <title> 2:20- 2:50 Programming at 200 wpm</title> <rect x="501" y="71" opacity="0.8" width="47" height="55" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect> <g transform="translate(546,125)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> steno</text></g></a> <a href="/2023/talks/emacsen" title="The Emacsen family, the design of an Emacs and the importance of Lisp" data-slug="emacsen"> <title> 3:30- 3:50 The Emacsen family, the design of an Emacs and the importance of Lisp</title> <rect x="611" y="71" opacity="0.8" width="31" height="55" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect> <g transform="translate(640,125)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> emacsen</text></g></a> <a href="/2023/talks/matplotllm" title="MatplotLLM, iterative natural language data visualization in org-babel" data-slug="matplotllm"> <title> 9:40- 9:50 MatplotLLM, iterative natural language data visualization in org-babel</title> <rect x="62" y="127" opacity="0.8" width="15" height="55" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect> <g transform="translate(75,181)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> matplotllm</text></g></a> <a href="/2023/talks/voice" title="Improving access to AI-assisted literate programming with voice control" data-slug="voice"> <title> 10:30-10:50 Improving access to AI-assisted literate programming with voice control</title> <rect x="141" y="127" opacity="0.8" width="31" height="55" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(170,181)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> voice</text></g></a> <a href="/2023/talks/llm" title="LLM clients in Emacs, functionality and standardization" data-slug="llm"> <title> 11:15-11:35 LLM clients in Emacs, functionality and standardization</title> <rect x="211" y="127" opacity="0.8" width="31" height="55" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(240,181)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> llm</text></g></a> <a href="/2023/talks/overlay" title="Improving compiler diagnostics with Overlays" data-slug="overlay"> <title> 1:00- 1:20 Improving compiler diagnostics with Overlays</title> <rect x="376" y="127" opacity="0.8" width="31" height="55" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(405,181)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> overlay</text></g></a> <a href="/2023/talks/eval" title="Editor Integrated REPL Driven Development for all languages" data-slug="eval"> <title> 1:40- 1:50 Editor Integrated REPL Driven Development for all languages</title> <rect x="439" y="127" opacity="0.8" width="15" height="55" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(452,181)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> eval</text></g></a> <a href="/2023/talks/repl" title="REPLs in strange places: Lua, LaTeX, LPeg, LPegRex, TikZ" data-slug="repl"> <title> 2:20- 3:00 REPLs in strange places: Lua, LaTeX, LPeg, LPegRex, TikZ</title> <rect x="501" y="127" opacity="0.8" width="62" height="55" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect> <g transform="translate(561,181)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> repl</text></g></a> <a href="/2023/talks/emacsconf" title="EmacsConf.org: How we use Org Mode and TRAMP to organize and run a multi-track conference" data-slug="emacsconf"> <title> 3:30- 3:50 EmacsConf.org: How we use Org Mode and TRAMP to organize and run a multi-track conference</title> <rect x="611" y="127" opacity="0.8" width="31" height="55" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(640,181)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> emacsconf</text></g></a> <g transform="translate(0,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="170"></line> <text fill="black" x="0" y="183" 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="170"></line> <text fill="black" x="0" y="183" 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="170"></line> <text fill="black" x="0" y="183" 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="170"></line> <text fill="black" x="0" y="183" 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="170"></line> <text fill="black" x="0" y="183" 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="170"></line> <text fill="black" x="0" y="183" 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="170"></line> <text fill="black" x="0" y="183" 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="170"></line> <text fill="black" x="0" y="183" 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="170"></line> <text fill="black" x="0" y="183" font-size="10" text-anchor="left"> 5 PM</text></g></g> <g transform="translate(0,200)"> <title> Schedule for Sunday</title> <rect width="800" height="200" x="0" y="0" fill="white"></rect> <text font-size="10" fill="black" y="12" x="3"> Sunday</text> <a href="/2023/talks/sun-open" title="Sunday opening remarks" data-slug="sun-open"> <title> 9:00- 9:10 Sunday opening remarks</title> <rect x="0" y="15" opacity="0.8" width="15" height="55" stroke="black" stroke-dasharray="" fill="green"></rect> <g transform="translate(13,69)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> sun-open</text></g></a> <a href="/2023/talks/hyperamp" title="Top 10 ways Hyperbole amps up Emacs" data-slug="hyperamp"> <title> 9:10- 9:30 Top 10 ways Hyperbole amps up Emacs</title> <rect x="15" y="15" opacity="0.8" width="31" height="55" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(44,69)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> hyperamp</text></g></a> <a href="/2023/talks/koutline" title="Using Koutline for stream of thought journaling" data-slug="koutline"> <title> 10:00-10:20 Using Koutline for stream of thought journaling</title> <rect x="94" y="15" opacity="0.8" width="31" height="55" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect> <g transform="translate(123,69)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> koutline</text></g></a> <a href="/2023/talks/test" title="What I learned by writing test cases for GNU Hyperbole" data-slug="test"> <title> 11:00-11:20 What I learned by writing test cases for GNU Hyperbole</title> <rect x="188" y="15" opacity="0.8" width="31" height="55" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(217,69)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> test</text></g></a> <a href="/2023/talks/emms" title="Emacs MultiMedia System (EMMS)" data-slug="emms"> <title> 1:00- 1:40 Emacs MultiMedia System (EMMS)</title> <rect x="376" y="15" opacity="0.8" width="62" height="55" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(436,69)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> emms</text></g></a> <a href="/2023/talks/devel" title="Emacs development updates" data-slug="devel"> <title> 2:00- 2:10 Emacs development updates</title> <rect x="470" y="15" opacity="0.8" width="15" height="55" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect> <g transform="translate(483,69)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> devel</text></g></a> <a href="/2023/talks/mentor" title="Mentoring VS-Coders as an Emacsian (or How to show not tell people about the wonders of Emacs)" data-slug="mentor"> <title> 2:30- 2:40 Mentoring VS-Coders as an Emacsian (or How to show not tell people about the wonders of Emacs)</title> <rect x="517" y="15" opacity="0.8" width="15" height="55" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(530,69)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> mentor</text></g></a> <a href="/2023/talks/sharing" title="Sharing Emacs is Caring Emacs: Emacs education and why I embraced video" data-slug="sharing"> <title> 3:00- 3:20 Sharing Emacs is Caring Emacs: Emacs education and why I embraced video</title> <rect x="564" y="15" opacity="0.8" width="31" height="55" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(593,69)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> sharing</text></g></a> <a href="/2023/talks/sun-close" title="Sunday closing remarks" data-slug="sun-close"> <title> 4:00- 4:10 Sunday closing remarks</title> <rect x="658" y="15" opacity="0.8" width="15" height="55" stroke="black" stroke-dasharray="" fill="green"></rect> <g transform="translate(671,69)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> sun-close</text></g></a> <a href="/2023/talks/parallel" title="Parallel Text Replacement: Does P = NP?" data-slug="parallel"> <title> 10:00-10:10 Parallel Text Replacement: Does P = NP?</title> <rect x="94" y="71" opacity="0.8" width="15" height="55" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(107,125)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> parallel</text></g></a> <a href="/2023/talks/eat" title="Eat and Eat powered Eshell, fast featureful terminal inside Emacs" data-slug="eat"> <title> 10:30-10:40 Eat and Eat powered Eshell, fast featureful terminal inside Emacs</title> <rect x="141" y="71" opacity="0.8" width="15" height="55" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(154,125)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> eat</text></g></a> <a href="/2023/talks/gc" title="emacs-gc-stats: Does garbage collection actually slow down Emacs?" data-slug="gc"> <title> 11:00-11:20 emacs-gc-stats: Does garbage collection actually slow down Emacs?</title> <rect x="188" y="71" opacity="0.8" width="31" height="55" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(217,125)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> gc</text></g></a> <a href="/2023/talks/hyperdrive" title="hyperdrive.el: Peer-to-peer filesystem in Emacs" data-slug="hyperdrive"> <title> 1:00- 1:40 hyperdrive.el: Peer-to-peer filesystem in Emacs</title> <rect x="376" y="71" opacity="0.8" width="62" height="55" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(436,125)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> hyperdrive</text></g></a> <a href="/2023/talks/ref" title="Org-Mode workflow: informal reference tracking" data-slug="ref"> <title> 2:00- 2:20 Org-Mode workflow: informal reference tracking</title> <rect x="470" y="71" opacity="0.8" width="31" height="55" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect> <g transform="translate(499,125)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> ref</text></g></a> <a href="/2023/talks/unentangling" title="(Un)entangling projects and repos" data-slug="unentangling"> <title> 3:00- 3:10 (Un)entangling projects and repos</title> <rect x="564" y="71" opacity="0.8" width="15" height="55" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect> <g transform="translate(577,125)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> unentangling</text></g></a> <a href="/2023/talks/scheme" title="Bringing joy to Scheme programming" data-slug="scheme"> <title> 10:00-10:20 Bringing joy to Scheme programming</title> <rect x="94" y="127" opacity="0.8" width="31" height="55" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(123,181)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> scheme</text></g></a> <a href="/2023/talks/lspocaml" title="Writing a language server in OCaml for Emacs, fun, and profit" data-slug="lspocaml"> <title> 11:00-11:10 Writing a language server in OCaml for Emacs, fun, and profit</title> <rect x="188" y="127" opacity="0.8" width="15" height="55" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(201,181)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> lspocaml</text></g></a> <a href="/2023/talks/flat" title="A modern Emacs look-and-feel without pain" data-slug="flat"> <title> 11:30-11:40 A modern Emacs look-and-feel without pain</title> <rect x="235" y="127" opacity="0.8" width="15" height="55" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(248,181)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> flat</text></g></a> <a href="/2023/talks/windows" title="Windows into Freedom" data-slug="windows"> <title> 1:00- 1:40 Windows into Freedom</title> <rect x="376" y="127" opacity="0.8" width="62" height="55" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(436,181)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> windows</text></g></a> <a href="/2023/talks/cubing" title="Speedcubing in Emacs" data-slug="cubing"> <title> 2:00- 2:20 Speedcubing in Emacs</title> <rect x="470" y="127" opacity="0.8" width="31" height="55" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect> <g transform="translate(499,181)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> cubing</text></g></a> <a href="/2023/talks/extending" title="GNU Emacs for electronics, note-taking, and as lightweight IDE" data-slug="extending"> <title> 3:00- 3:20 GNU Emacs for electronics, note-taking, and as lightweight IDE</title> <rect x="564" y="127" opacity="0.8" width="31" height="55" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(593,181)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> extending</text></g></a> <g transform="translate(0,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="170"></line> <text fill="black" x="0" y="183" 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="170"></line> <text fill="black" x="0" y="183" 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="170"></line> <text fill="black" x="0" y="183" 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="170"></line> <text fill="black" x="0" y="183" 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="170"></line> <text fill="black" x="0" y="183" 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="170"></line> <text fill="black" x="0" y="183" 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="170"></line> <text fill="black" x="0" y="183" 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="170"></line> <text fill="black" x="0" y="183" 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="170"></line> <text fill="black" x="0" y="183" font-size="10" text-anchor="left"> 5 PM</text></g></g></svg>
<a id="check-infra"></a>
## Prepare infrastructure
### WAITING Get access to media.emacsconf.org so that we can set up the upload service and the backstage area
### TODO Double-check streaming on res
### TODO Double-check icecast
### TODO Figure out a better way to handle 480p stream
It kept dropping last year and sachac didn’t have the mental bandwidth to figure it out
### BLOCKED Create pads for all the talks
Because the pads refer to the next and previous talks and include the talk titles, this is best done after the schedule has settled down.
### TODO Doublecheck prerec processing workflow
#### Captions
#### Reencoding
<a id="prepare-assets"></a>
## Prepare assets
### TODO Generate intro slides and overlays
We generate intro slides to display in between talks so that people
can find out information about the previous talk and learn about the
next talk. It includes talk titles, speaker names, URLs, and Q&A
methods. The image will also be used for an introduction video if we
can record one before the conference.
We also generate overlays that show talk information during the talk
itself.
SVGs don’t support line-wrapping, so it helps to do a quick pass to
make sure all the talks are displayed properly.
### BLOCKED Generate redirects
We use redirects for Q&A sessions with BBB web conferences so that people can easily join the web conference. This is blocked while waiting for media.emacsconf.org.
### TODO Write 1-2 sentence intros for all the talks
We do a brief introduction before each talk so that people know the
topic of the next talk, the pronunciation of the speaker’s name, the
pronouns to use when referring to them, and the type of Q&A that will
follow.
The template we used last year was: “In this talk, SPEAKER shares
TITLE OR SUMMARY. Afterwards, PRONOUN will handle questions over Q&A
METHOD.”
This year, we asked speakers to contribute a short introduction. These
are in conf.org in the private repository. Many of the introductions
are a little longer than the template, but we might be able to handle
that. Some need to be rewritten into third-person (using the speaker’s
name/pronouns instead of I). Some might be a bit of a tongue-twister
and can be rewritten to be easier to say.
We can store the introduction in the `INTRO_NOTE` property in
conf.org.
Actually recording the introductions can wait until closer to the
conference because talk titles and Q&A methods can change. We can
verify speaker name pronunciations at that time.
<a id="honorifics"></a>
#### TODO Do we want to use honorifics like Dr.? :decision:
- OPTION: Consistently using names without honorifics, even if indicated in the
speaker-submitted intros:
- Equality
- OPTION: Asking speakers if they want us to use any honorifics in their intro:
- Observes personal preferences
- OPTION: Using honorifics based on e-mail signatures and intros:
- Recognizes credentials
### BLOCKED Record intro videos with 1-2 sentence intros for all the talks
<a id="coordinate-volunteers"></a>
## Coordinate volunteers
### TODO Prepare shift calendar
<a name="shifts"></a>
AM: 9-12 PM EST, PM: 1-5 PM EST (plus a little extra for setup/transition)
Saturday Dec 2 2023
<table id="org02d79d3">
<colgroup>
<col class="org-left">
<col class="org-left">
<col class="org-left">
<col class="org-left">
<col class="org-left">
<col class="org-left">
<col class="org-left">
</colgroup>
<thead>
<tr>
<th scope="col" class="org-left"> </th>
<th scope="col" class="org-left"><a href="https://emacsconf.org/2023/volunteer/host/">Host</a></th>
<th scope="col" class="org-left">Streamer</th>
<th scope="col" class="org-left"><a href="https://emacsconf.org/2023/volunteer/checkin/">Checkin</a></th>
<th scope="col" class="org-left"><a href="https://emacsconf.org/2023/volunteer/irc/">IRC</a></th>
<th scope="col" class="org-left"><a href="https://emacsconf.org/2023/volunteer/pad/">Pad</a></th>
<th scope="col" class="org-left">Coord</th>
</tr>
</thead>
<tbody>
<tr>
<td class="org-left">Gen AM</td>
<td class="org-left"> </td>
<td class="org-left">sachac</td>
<td class="org-left"> </td>
<td class="org-left"> </td>
<td class="org-left"> </td>
<td class="org-left">sachac</td>
</tr>
<tr>
<td class="org-left">Gen PM</td>
<td class="org-left"> </td>
<td class="org-left">sachac</td>
<td class="org-left"> </td>
<td class="org-left"> </td>
<td class="org-left"> </td>
<td class="org-left">sachac</td>
</tr>
<tr>
<td class="org-left">Dev AM</td>
<td class="org-left"> </td>
<td class="org-left">sachac</td>
<td class="org-left"> </td>
<td class="org-left"> </td>
<td class="org-left"> </td>
<td class="org-left">sachac</td>
</tr>
<tr>
<td class="org-left">Dev PM</td>
<td class="org-left"> </td>
<td class="org-left">sachac</td>
<td class="org-left"> </td>
<td class="org-left"> </td>
<td class="org-left"> </td>
<td class="org-left">sachac</td>
</tr>
</tbody>
</table>
Sunday Dec 3 2023
<table id="orgd875ee4">
<colgroup>
<col class="org-left">
<col class="org-left">
<col class="org-left">
<col class="org-left">
<col class="org-left">
<col class="org-left">
<col class="org-left">
</colgroup>
<thead>
<tr>
<th scope="col" class="org-left"> </th>
<th scope="col" class="org-left"><a href="https://emacsconf.org/2023/volunteer/host/">Host</a></th>
<th scope="col" class="org-left">Streamer</th>
<th scope="col" class="org-left"><a href="https://emacsconf.org/2023/volunteer/checkin/">Checkin</a></th>
<th scope="col" class="org-left"><a href="https://emacsconf.org/2023/volunteer/irc/">IRC</a></th>
<th scope="col" class="org-left"><a href="https://emacsconf.org/2023/volunteer/pad/">Pad</a></th>
<th scope="col" class="org-left">Coord</th>
</tr>
</thead>
<tbody>
<tr>
<td class="org-left">Gen AM</td>
<td class="org-left"> </td>
<td class="org-left">sachac</td>
<td class="org-left"> </td>
<td class="org-left"> </td>
<td class="org-left"> </td>
<td class="org-left">sachac</td>
</tr>
<tr>
<td class="org-left">Gen PM</td>
<td class="org-left"> </td>
<td class="org-left">sachac</td>
<td class="org-left"> </td>
<td class="org-left"> </td>
<td class="org-left"> </td>
<td class="org-left">sachac</td>
</tr>
<tr>
<td class="org-left">Dev AM</td>
<td class="org-left"> </td>
<td class="org-left">sachac</td>
<td class="org-left"> </td>
<td class="org-left"> </td>
<td class="org-left"> </td>
<td class="org-left">sachac</td>
</tr>
<tr>
<td class="org-left">Dev PM</td>
<td class="org-left"> </td>
<td class="org-left">sachac</td>
<td class="org-left"> </td>
<td class="org-left"> </td>
<td class="org-left"> </td>
<td class="org-left">sachac</td>
</tr>
</tbody>
</table>
Backups:
- dev host/streamer:
- gen host/streamer:
- checkin, IRC, pad:
Interested in a shift? Please e-mail <mailto:emacsconf-org-private@gnu.org> and we’ll help you figure out what you need to learn.
`(setq emacsconf-shifts
(list
,@(apply #'append
(mapcar
(lambda (day)
(let ((headers (mapcar (lambda (field) (intern (concat ":" (downcase field))))
(cdr (car (cadr day))))))
(mapcar
(lambda (row)
(apply #'append
(list 'list :id
(when (string-match "^\\([^ ]+\\) \\(AM\\|PM\\)" (car row))
(format "%s-%s-%s"
(car day)
(downcase (match-string 2 (car row)))
(downcase (match-string 1 (car row)))))
:track
(if (string-match "^Gen" (car row)) "General" "Development")
:start
(format "%sT%s:00:00%s"
(elt day 2)
(if (string-match "AM" (car row)) "08" "13")
emacsconf-timezone-offset)
:end
(format "%sT%s:00:00%s"
(elt day 2)
(if (string-match "AM" (car row)) "12" "18")
emacsconf-timezone-offset))
(seq-map-indexed
(lambda (value index)
(unless (string= value "")
(list (elt headers index) value)))
(cdr row))))
(cdr (cadr day)))
))
(list
(list "sat" sat "2022-12-03")
(list "sun" sun "2022-12-04"))))))
### DONE Document volunteer roles
Copied it over from the previous year
<a id="progress"></a>
# Progress reports
- <https://emacsconf.org/blog/2023-08-14-cfp-progress/>
- <https://emacsconf.org/blog/2023-09-25-draft-schedule>
<a id="templates"></a>
# E-mail templates
<a id="review"></a>
## Review
### Template
Thanks for submitting your proposal! (ZZZ: feedback) We’re experimenting
with early acceptance this year, so we’ll wait a week in case the
other volunteers want to chime in regarding your talk. =)
<a id="acceptance"></a>
## Acceptance
### Function
(defun emacsconf-mail-accept-talk (talk &optional template)
(interactive (list (emacsconf-complete-talk-info)))
(emacsconf-mail-prepare
(or template (emacsconf-mail-merge-get-template "acceptance"))
(plist-get talk :email)
(list
:title (plist-get talk :title)
:email (plist-get talk :email)
:time (plist-get talk :time)
:conf-name emacsconf-name
:speakers-short (plist-get talk :speakers-short)
:url (concat emacsconf-base-url (plist-get talk :url))
:video-target-date emacsconf-video-target-date
:year emacsconf-year)))
### Template
Hi, ${speakers-short}!
Looks like all systems are a go for your talk. =) Thanks for proposing
it! Your talk page is now at ${url} . Please feel free to update it or
e-mail us if you’d like help with any changes.
If you want to get started on your talk early, we have some
instructions at <https://emacsconf.org/${year}/prepare/> that might help.
We strongly encourage speakers to prepare a talk video by
${video-target-date} in order to reduce technical risks and make
things flow more smoothly. Plus, we might be able to get it captioned
by volunteers, just like the talks last year. We’ll save ${time} minutes
for your talk, not including time for Q&A. Don’t sweat it if
you’re a few minutes over or under. If it looks like a much shorter or
longer talk once you start getting into it, let us know and we might
be able to adjust.
I’ll follow up with the specific schedule for your talk once things
settle down. In the meantime, please let us know if you have any
questions or if there’s anything we can do to help out!
Sacha
<a id="archive"></a>
# Archive