diff options
author | Sacha Chua <sacha@sachachua.com> | 2023-10-30 19:23:19 -0400 |
---|---|---|
committer | Sacha Chua <sacha@sachachua.com> | 2023-10-30 19:23:19 -0400 |
commit | fb74be4f3270f81f95e5f590a2119c01e5066ffc (patch) | |
tree | ccc13ee97c23aa2b14430ee127af6bc0ba1cb9cb /2023 | |
parent | a72074798599d0a7c779e2c8e16da7433bd085f2 (diff) | |
download | emacsconf-wiki-fb74be4f3270f81f95e5f590a2119c01e5066ffc.tar.xz emacsconf-wiki-fb74be4f3270f81f95e5f590a2119c01e5066ffc.zip |
update schedule
Diffstat (limited to '2023')
-rw-r--r-- | 2023/organizers-notebook.md | 712 | ||||
-rw-r--r-- | 2023/organizers-notebook/index.org | 92 | ||||
-rw-r--r-- | 2023/organizers-notebook/schedule.svg | 2 |
3 files changed, 635 insertions, 171 deletions
diff --git a/2023/organizers-notebook.md b/2023/organizers-notebook.md index adb62394..dd466ac3 100644 --- a/2023/organizers-notebook.md +++ b/2023/organizers-notebook.md @@ -5,7 +5,7 @@ This file is automatically exported from [/2023/organizers-notebook/index.org](/ Help wanted: -- [Figure out a better way to handle 480p stream](#lowres) +- [Find volunteers for audio processing (normalization, noise reduction) and document the process](#audio) Help wanted: @@ -26,9 +26,9 @@ Help wanted: - [Distribute CFP](#distrib-cfp) - [Process submissions](#submission-process) - [Draft schedule](#draft-schedule) - - [Prepare infrastructure](#check-infra) - - [Prepare assets](#prepare-assets) - - [Coordinate volunteers](#coordinate-volunteers) + - [Prepare for the conference](#status) + - [Get ready for production](#go-live) + - [Volunteers](#coordinate-volunteers) - [Progress reports](#progress) - [E-mail templates](#templates) - [Review](#review) @@ -570,7 +570,7 @@ Sacha 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/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="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(530,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/ref" title="Org-Mode workflow: informal reference tracking" data-slug="ref"> <title> 2:55- 3:15 Org-Mode workflow: informal reference tracking</title> <rect x="556" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect> <g transform="translate(585,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/unentangling" title="(Un)entangling projects and repos" data-slug="unentangling"> <title> 3:25- 3:35 (Un)entangling projects and repos</title> <rect x="603" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect> <g transform="translate(616,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/devel" title="Emacs development updates" data-slug="devel"> <title> 3:45- 3:55 Emacs development updates</title> <rect x="635" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect> <g transform="translate(648,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/core" title="Emacs core development: how it works" data-slug="core"> <title> 4:05- 4:45 Emacs core development: how it works</title> <rect x="666" y="15" opacity="0.8" width="62" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(726,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> core</text></g></a> <a href="https://emacsconf.org/2023/talks/sat-close" title="Saturday closing remarks" data-slug="sat-close"> <title> 5:00- 5:10 Saturday closing remarks</title> <rect x="752" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="green"></rect> <g transform="translate(765,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="yellow"></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/emacsconf" title="EmacsConf.org: How we use Org Mode and TRAMP to organize and run a multi-track conference" data-slug="emacsconf"> <title> 2:50- 3:10 EmacsConf.org: How we use Org Mode and TRAMP to organize and run a multi-track conference</title> <rect x="549" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(578,133)"> <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="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="green"></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/world" title="GNU Emacs: A World of Possibilities" data-slug="world"> <title> 11:10-11:30 GNU Emacs: A World of Possibilities</title> <rect x="203" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(232,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> world</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:45-11:55 A modern Emacs look-and-feel without pain</title> <rect x="258" y="75" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(271,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/hyperdrive" title="hyperdrive.el: Peer-to-peer filesystem in Emacs" data-slug="hyperdrive"> <title> 1:35- 2:15 hyperdrive.el: Peer-to-peer filesystem in Emacs</title> <rect x="431" y="75" opacity="0.8" width="62" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(491,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/lspocaml" title="Writing a language server in OCaml for Emacs, fun, and profit" data-slug="lspocaml"> <title> 2:30- 2:40 Writing a language server in OCaml for Emacs, fun, and profit</title> <rect x="517" y="75" opacity="0.8" width="15" 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)"> lspocaml</text></g></a> <a href="https://emacsconf.org/2023/talks/windows" title="Windows into Freedom" data-slug="windows"> <title> 2:55- 3:35 Windows into Freedom</title> <rect x="556" y="75" opacity="0.8" width="62" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(616,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/emacsen" title="The Emacsen family, the design of an Emacs and the importance of Lisp" data-slug="emacsen"> <title> 3:50- 4:10 The Emacsen family, the design of an Emacs and the importance of Lisp</title> <rect x="643" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect> <g transform="translate(672,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> +<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="yellow"></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/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="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(530,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/ref" title="Org-Mode workflow: informal reference tracking" data-slug="ref"> <title> 2:55- 3:15 Org-Mode workflow: informal reference tracking</title> <rect x="556" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="green"></rect> <g transform="translate(585,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/unentangling" title="(Un)entangling projects and repos" data-slug="unentangling"> <title> 3:25- 3:35 (Un)entangling projects and repos</title> <rect x="603" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect> <g transform="translate(616,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/devel" title="Emacs development updates" data-slug="devel"> <title> 3:45- 3:55 Emacs development updates</title> <rect x="635" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(648,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/core" title="Emacs core development: how it works" data-slug="core"> <title> 4:10- 4:50 Emacs core development: how it works</title> <rect x="674" y="15" opacity="0.8" width="62" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(734,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> core</text></g></a> <a href="https://emacsconf.org/2023/talks/sat-close" title="Saturday closing remarks" data-slug="sat-close"> <title> 5:05- 5:15 Saturday closing remarks</title> <rect x="760" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="green"></rect> <g transform="translate(773,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="lightgreen"></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="lightgreen"></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/emacsconf" title="EmacsConf.org: How we use Org Mode and TRAMP to organize and run a multi-track conference" data-slug="emacsconf"> <title> 2:50- 3:10 EmacsConf.org: How we use Org Mode and TRAMP to organize and run a multi-track conference</title> <rect x="549" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(578,133)"> <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="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="green"></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/web" title="Emacs saves the Web" data-slug="web"> <title> 3:10- 3:50 Emacs saves the Web</title> <rect x="580" y="15" opacity="0.8" width="62" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(640,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:05- 4:25 Sharing Emacs is Caring Emacs: Emacs education and why I embraced video</title> <rect x="666" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(695,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:40- 4:50 Sunday closing remarks</title> <rect x="721" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="green"></rect> <g transform="translate(734,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/world" title="GNU Emacs: A World of Possibilities" data-slug="world"> <title> 11:10-11:30 GNU Emacs: A World of Possibilities</title> <rect x="203" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="palegoldenrod"></rect> <g transform="translate(232,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> world</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:45-11:55 A modern Emacs look-and-feel without pain</title> <rect x="258" y="75" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(271,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/hyperdrive" title="hyperdrive.el: Peer-to-peer filesystem in Emacs" data-slug="hyperdrive"> <title> 1:35- 2:15 hyperdrive.el: Peer-to-peer filesystem in Emacs</title> <rect x="431" y="75" opacity="0.8" width="62" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(491,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/lspocaml" title="Writing a language server in OCaml for Emacs, fun, and profit" data-slug="lspocaml"> <title> 2:30- 2:40 Writing a language server in OCaml for Emacs, fun, and profit</title> <rect x="517" y="75" opacity="0.8" width="15" 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)"> lspocaml</text></g></a> <a href="https://emacsconf.org/2023/talks/windows" title="Windows into Freedom" data-slug="windows"> <title> 2:55- 3:35 Windows into Freedom</title> <rect x="556" y="75" opacity="0.8" width="62" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(616,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/emacsen" title="The Emacsen family, the design of an Emacs and the importance of Lisp" data-slug="emacsen"> <title> 3:50- 4:10 The Emacsen family, the design of an Emacs and the importance of Lisp</title> <rect x="643" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect> <g transform="translate(672,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> - Legend: dashed line means non-BBB Q&A; light gray means penciled-in talk; yellow means video already submitted and being processed @@ -596,9 +596,9 @@ These times are in EST (GMT-5). - 2023-12-02 Sat 14:50-15:10 [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-02 Sat 14:55-15:15 - >= 13:00 - [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 15:25-15:35 - between 15:00-16:00 - [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-15:55 - no live Q&A - [devel](https://emacsconf.org/2023/talks/devel "Emacs development updates"): Emacs development updates (John Wiegley) -- 2023-12-02 Sat 16:05-16:45 [core](https://emacsconf.org/2023/talks/core "Emacs core development: how it works"): Emacs core development: how it works (Stefan Kangas) -- 2023-12-02 Sat 17:00-17:10 [sat-close](https://emacsconf.org/2023/talks/sat-close "Saturday closing remarks"): Saturday closing remarks +- 2023-12-02 Sat 15:45-15:55 - >= 12:00 - [devel](https://emacsconf.org/2023/talks/devel "Emacs development updates"): Emacs development updates (John Wiegley) +- 2023-12-02 Sat 16:10-16:50 [core](https://emacsconf.org/2023/talks/core "Emacs core development: how it works"): Emacs core development: how it works (Stefan Kangas) +- 2023-12-02 Sat 17:05-17:15 [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 - <= 12:00 - [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)) @@ -608,7 +608,7 @@ These times are in EST (GMT-5). - 2023-12-03 Sun 10:35-10:55 - <= 12:00 - [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 - <= 13:00 - [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:30 - <= 11:30 - [world](https://emacsconf.org/2023/talks/world "GNU Emacs: A World of Possibilities"): GNU Emacs: A World of Possibilities (Anand Tamariya) -- 2023-12-03 Sun 11:35-11:55 - <= 17:00 - [cubing](https://emacsconf.org/2023/talks/cubing "Speedcubing in Emacs"): Speedcubing in Emacs (Vasilij “wasamasa” Schneidermann) +- 2023-12-03 Sun 11:35-11:55 - <= 17:00 - [cubing](https://emacsconf.org/2023/talks/cubing "Speedcubing in Emacs"): Speedcubing in Emacs (wasamasa) - 2023-12-03 Sun 11:45-11:55 - between 11:00-13:00 - [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 13:00-13:20 - <= 14:00 - [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) @@ -617,11 +617,10 @@ These times are in EST (GMT-5). - 2023-12-03 Sun 14:30-14:40 [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 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:35 [windows](https://emacsconf.org/2023/talks/windows "Windows into Freedom"): Windows into Freedom (Corwin Brust) -- 2023-12-03 Sun 15:00-15:10 - >= 15:00 - [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 - >= 15:00 - [web](https://emacsconf.org/2023/talks/web "Emacs saves the Web"): Emacs saves the Web (Yuchen Pei) +- 2023-12-03 Sun 15:10-15:50 - >= 15:00 - [web](https://emacsconf.org/2023/talks/web "Emacs saves the Web"): Emacs saves the Web (Yuchen Pei) - 2023-12-03 Sun 15:50-16:10 - 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 +- 2023-12-03 Sun 16:05-16:25 [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:40-16:50 [sun-close](https://emacsconf.org/2023/talks/sun-close "Sunday closing remarks"): Sunday closing remarks ### Schedule notes @@ -707,15 +706,199 @@ When do we want to do this? We don’t have to worry too much, because we can offer them the option of doing it live, and we can have space in the schedule if they cancel last-minute. -<a id="check-infra"></a> +<a id="status"></a> + +## Prepare for the conference + +<table> + + +<colgroup> +<col class="org-left"> + +<col class="org-left"> + +<col class="org-left"> +</colgroup> +<thead> +<tr> +<th scope="col" class="org-left">ITEM</th> +<th scope="col" class="org-left">TODO</th> +<th scope="col" class="org-left">STATUS</th> +</tr> +</thead> +<tbody> +<tr> +<td class="org-left">Upload</td> +<td class="org-left">DONE</td> +<td class="org-left">Ready to go</td> +</tr> + +<tr> +<td class="org-left">Prerec</td> +<td class="org-left">DONE</td> +<td class="org-left">Ready to go</td> +</tr> + +<tr> +<td class="org-left">Captions</td> +<td class="org-left">INPROGRESS</td> +<td class="org-left">Ready to go; waiting for videos and captions</td> +</tr> + +<tr> +<td class="org-left">Backstage</td> +<td class="org-left">DONE</td> +<td class="org-left">Ready to go</td> +</tr> + +<tr> +<td class="org-left">Test assets</td> +<td class="org-left">DONE</td> +<td class="org-left">test videos generated</td> +</tr> + +<tr> +<td class="org-left">BBB</td> +<td class="org-left"> </td> +<td class="org-left">redirects created, confirmed; next: e-mail speakers testing/checkin instructions</td> +</tr> + +<tr> +<td class="org-left">VNC</td> +<td class="org-left">DONE</td> +<td class="org-left">confirmed access to emacsconf-gen and emacsconf-dev</td> +</tr> + +<tr> +<td class="org-left">OBS</td> +<td class="org-left">DONE</td> +<td class="org-left">confirmed that gen and dev can stream</td> +</tr> + +<tr> +<td class="org-left">Icecast</td> +<td class="org-left">DONE</td> +<td class="org-left">gen and dev confirmed with MPV</td> +</tr> + +<tr> +<td class="org-left">MPV</td> +<td class="org-left">DONE</td> +<td class="org-left">confirmed that mpv can watch both streams</td> +</tr> + +<tr> +<td class="org-left">Watch page</td> +<td class="org-left">DONE</td> +<td class="org-left">updated for 2023</td> +</tr> + +<tr> +<td class="org-left">Status page</td> +<td class="org-left">DONE</td> +<td class="org-left">ready to go</td> +</tr> + +<tr> +<td class="org-left">Public media</td> +<td class="org-left">DONE</td> +<td class="org-left">confirmed, set to protected so that we can test publishing live</td> +</tr> + +<tr> +<td class="org-left">Mumble</td> +<td class="org-left">DONE</td> +<td class="org-left">confirmed gen and dev can connect, receive audio</td> +</tr> + +<tr> +<td class="org-left">Etherpad</td> +<td class="org-left">DONE</td> +<td class="org-left">Ready to go, pads created</td> +</tr> + +<tr> +<td class="org-left">Pad proxy</td> +<td class="org-left">DONE</td> +<td class="org-left">Ready to go, pad.emacsconf.org works</td> +</tr> + +<tr> +<td class="org-left">Overlays</td> +<td class="org-left">DONE</td> +<td class="org-left">generated and uploaded</td> +</tr> + +<tr> +<td class="org-left">Intros</td> +<td class="org-left">INPROGRESS</td> +<td class="org-left">all intros recorded, should send them to speakers for review</td> +</tr> + +<tr> +<td class="org-left">IRC channels</td> +<td class="org-left"> </td> +<td class="org-left">Not yet started</td> +</tr> + +<tr> +<td class="org-left">IRC talk info</td> +<td class="org-left"> </td> +<td class="org-left">Not yet started</td> +</tr> + +<tr> +<td class="org-left">Announcements</td> +<td class="org-left"> </td> +<td class="org-left">Not yet started</td> +</tr> + +<tr> +<td class="org-left">Publishing updates live</td> +<td class="org-left"> </td> +<td class="org-left">Not yet started</td> +</tr> + +<tr> +<td class="org-left">Autopilot</td> +<td class="org-left"> </td> +<td class="org-left">Not yet started</td> +</tr> + +<tr> +<td class="org-left">YouTube</td> +<td class="org-left"> </td> +<td class="org-left">Not yet started</td> +</tr> + +<tr> +<td class="org-left">Peertube</td> +<td class="org-left"> </td> +<td class="org-left">Not yet started</td> +</tr> + +<tr> +<td class="org-left">480p</td> +<td class="org-left"> </td> +<td class="org-left">Delegated to corwin</td> +</tr> + +<tr> +<td class="org-left">Audio processing</td> +<td class="org-left"> </td> +<td class="org-left">Help wanted</td> +</tr> +</tbody> +</table> -## Prepare infrastructure +### DONE Upload -### DONE Get access to media.emacsconf.org so that we can set up the upload service and the backstage area +#### DONE Get access to media.emacsconf.org so that we can set up the upload service and the backstage area -#### DONE Decide what to do for backstage area and upload service :decision: +##### DONE Decide what to do for backstage area and upload service :decision: - <span class="timestamp-wrapper"><span class="timestamp">[2023-10-13 Fri]</span></span>: Got access to media.emacsconf.org, set up the backstage area @@ -728,9 +911,159 @@ and we can have space in the schedule if they cancel last-minute. - access to media.emacsconf.org might be sorted out by <span class="timestamp-wrapper"><span class="timestamp">[2023-10-13 Fri]</span></span> - not in a big rush yet -### TODO Double-check OBS setup and streaming on res +### DONE Prerec + + +##### Set up for the new year + +As orga@res: + +- mkdir /data/emacsconf/$year +- rm ~/current +- ln -s /data/emacsconf/$year current +- ln -s /data/emacsconf/$year $year + +When we receive files + +- change the TODO status to PROCESSING +- mkdir ~/current/$slug +- copy the files to there +- rename-original $slug $file +- process-prerec $video +- Copy the files to the res:~/cache, laptop:~/proj/emacsconf/2023/cache, and media:~/backstage +- emacsconf-cache-all-video-data +- emacsconf-publish-info-pages +- emacsconf-publish-backstage-index + + +(check that the reencode.sh process has kicked off; if not, call reencode.sh $video $prefix–reencoded.webm) + +### INPROGRESS Captions + +- OpenAI Whisper SaaS (<https://platform.openai.com/docs/guides/speech-to-text/longer-inputs>) limits audio files to 25MB, so it’s probably easier to do it ourselves + +#### TODO E-mail previous captioning volunteers to see if they’re interested in helping out + +#### DONE E-mail captioning volunteers the backstage instructions + +#### DONE E-mail current caption volunteers backstage information, captioning process, etc. + +I’ll wait a few days for Yoni to get back to us about whether he wants +to caption his own talk and/or seeing if other speakers will get their +talks in. + +`emacsconf-mail-backstage-info` + + + +Hi ${name}! + +You’re getting this e-mail because you have volunteered to help out +with captions for ${conf-name} ${year}. (Thank you so much!) + +I’m so excited! =) We’re starting to get recorded talks, which means +it’s time to get captions going. People really appreciate the +captions, especially when the captions have been lovingly edited by +volunteers who change things like “Emax” to “Emacs” and “metaX” to +“M-x”. + +Just like last year, we’re using OpenAI Whisper to give us a +reasonable starting point for transcripts. If working from scratch +works better for you, you’re welcome to do that too. + +We’ve set up ${backstage} as the backstage area where you can view the +videos and resources uploaded so far. You can access it with the +username "${backstage-user}“ and the password ”${backstage-password}“. +Please keep the backstage password and other speakers’ talk resources +secret. ${backstage-use} + +To call dibs on a video to caption, just send a message to me at +sacha@sachachua.com and I can update the page so that it’s assigned to +you. You can e-mail me the edited captions when you’re done. Don’t +worry too much about timestamps; we can re-align the text with the +audio afterwards. If life gets suddenly busy and you can’t see it all +the way through, no worries. Just e-mail me what you’ve got and I’ll +put it back in the pool. Every little bit helps! + +Thank you! + +Sacha Chua + +#### TODO E-mail the emacsconf-org mailing list the announcement and the invitation to volunteer -### TODO Generate BBB rooms +#### TODO Try out Deepgram, play around with it for last-minute submissions? + +#### DONE Get the autocaptions for emms up in the backstage area + +#### Captions lessons learned :lessons: + +- OpenAI had a breaking API change, need to call `whisper.utils.get_writer` + - <https://github.com/dmarx/video-killed-the-radio-star/issues/101> + vtt_writer = whisper.utils.get_writer('vtt', os.path.dirname(new_file)) + txt_writer = whisper.utils.get_writer('txt', os.path.dirname(new_file)) + vtt_writer(result, work['audio'], {'max_line_width': 60, 'max_line_count': None, 'highlight_words': None}) + txt_writer(result, work['audio'], {'max_line_width': 60, 'max_line_count': None, 'highlight_words': None}) + +#### Reencoding + +### DONE Backstage + +<a id="test"></a> + +### DONE Test assets + +<file://ssh:res:/data/emacsconf/2023/assets/test> + +#### DONE Generate test videos + +#### Try autopilot + + (let* ((offset-seconds 60) + (start-time (time-add (current-time) offset-seconds)) + (emacsconf-schedule-validation-functions nil) + (emacsconf-schedule-default-buffer-minutes 1) + (emacsconf-schedule-default-buffer-minutes-for-live-q-and-a 1) + (emacsconf-schedule-strategies '(emacsconf-schedule-allocate-buffer-time + emacsconf-schedule-copy-previous-track)) + (schedule (emacsconf-schedule-prepare + (emacsconf-schedule-inflate-sexp + `(("GEN" + :start ,(format-time-string "%Y-%m-%d %H:%M" start-time) + :set-track "General") + (sat-open :time 1) + (adventure :time 1) ; pad Q&A + (uni :time 1) ; live Q&A + (teaching :time 1) + (table :time 1) + (taming :time 1) + (one :time 1) + (cubing :time 1) ; IRC + ("DEV" + :start + ,(format-time-string "%Y-%m-%d %H:%M" (time-add start-time 60)) + :set-track "Development") + (matplotllm :time 1) + (gc :time 1) ; pad + (repl :time 1) ; IRC + (voice :time 1) + (llm :time 1) + (overlay :time 1) + (eval :time 1) + (emacsconf :time 1)))))) + (emacsconf-stream-crontabs t schedule)) + +### BBB + +Generate them for possibly live presentations as well? We’ll see. + +#### DONE Generate redirects + +We use redirects for Q&A sessions with BBB web conferences so that people can easily join the web conference. + +- <emacsconf-publish-bbb-static-redirects>: generate static redirects +- <emacsconf-publish-bbb-redirect-all> + +#### DONE Generate BBB rooms BBB name convention from last year @@ -794,152 +1127,183 @@ Creating new rooms (dolist (group groups) (emacsconf-spookfox-create-bbb group))) -### TODO Double-check icecast +#### TODO Possibly generate BBB rooms for live presentations? -<a id="lowres"></a> +#### TODO Send testing instructions -### TODO Figure out a better way to handle 480p stream :corwin: +### DONE VNC -It kept dropping last year and sachac didn’t have the mental bandwidth to figure it out. -Might need another node so that we don’t risk it getting killed for memory reasons? +We use VNC to connect to the X servers on res.emacsconf.org so that we can stream from it. -Corwin has volunteered to take this on +Success: +- [X] Confirm that you can connect to emacsconf-gen via VNC +- [X] Confirm that you can connect to emacsconf-dev via VNC -### BLOCKED Create pads for all the talks +Setting up +- <emacsconf-publish-res-index> -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. +<a id="vnc-instructions"></a> -### TODO Doublecheck prerec processing workflow +#### Instructions +NOTE: VNC+OBS doesn’t work well if you have a window manager that +automatically resizes windows, like i3. Please configure your window +manager so that the VNC window is not resized. -#### Process +1. Install a VNC viewer on your system (ex: tigervnc-viewer). +2. Set up your local environment: + + - gen: export TRACK=gen; export TRACK\_PORT=5905; export SSH\_PORT=46668 + - dev: export TRACK=dev; export TRACK\_PORT=5906; export SSH\_PORT=46668 -##### Set up for the new year +3. Copy the password: + + scp emacsconf-$TRACK@res.emacsconf.org:~/.vnc/passwd vnc-passwd-$TRACK -p $SSH\_PORT -As orga@res: +4. Forward your local ports and connect via VNC viewer to the + appropriate forwarded port from your laptop: + + ssh emacsconf-$TRACK@res.emacsconf.org -N -L $TRACK_PORT:127.0.0.1:$TRACK_PORT -p $SSH_PORT & + sleep 5 # Give it time to establish the tunnels + xvncviewer 127.0.0.1:$TRACK_PORT -shared -geometry 1280x720 -passwd vnc-passwd-$TRACK & -- mkdir /data/emacsconf/$year -- rm ~/current -- ln -s /data/emacsconf/$year current -- ln -s /data/emacsconf/$year $year +If you get the following error: -When we receive files + channel 2: open failed: connect failed: Connection refused + CConn: End of stream + CConn: The connection was dropped by the server before the session could + be established. -- change the TODO status to PROCESSING -- mkdir ~/current/$slug -- copy the files to there -- rename-original $slug $file -- process-prerec $video -- Copy the files to the res:~/cache, laptop:~/proj/emacsconf/2023/cache, and media:~/backstage -- emacsconf-cache-all-video-data -- emacsconf-publish-info-pages -- emacsconf-publish-backstage-index +then the VNC server hasn’t started yet. You can start it with + ssh emacsconf-$TRACK@res.emacsconf.org -p $SSH_PORT /home/emacsconf-$TRACK/bin/track-vnc -(check that the reencode.sh process has kicked off; if not, call reencode.sh $video $prefix–reencoded.webm) +and then connect with: -#### Captions + xvncviewer 127.0.0.1:$TRACK_PORT -shared -geometry 1280x720 -passwd vnc-passwd-$TRACK & -- OpenAI Whisper SaaS (<https://platform.openai.com/docs/guides/speech-to-text/longer-inputs>) limits audio files to 25MB, so it’s probably easier to do it ourselves +#### TODO Ask bandali or zaeph to share their window manager configuration :bandali:zaeph: -##### TODO E-mail current caption volunteers backstage information, captioning process, etc. +### DONE OBS -I’ll wait a few days for Yoni to get back to us about whether he wants -to caption his own talk and/or seeing if other speakers will get their -talks in. +We use OBS to stream to Icecast on live.emacsconf.org. -`emacsconf-mail-backstage-info` +Success: Confirm that you can stream +- [X] gen +- [X] dev +New year: reprovision with + ansible-playbook -i inventory.yml prod-playbook.yml --tags obs -Hi ${name}! +so that the year is updated in the shell scripts. -You’re getting this e-mail because you have volunteered to help out -with captions for ${conf-name} ${year}. (Thank you so much!) +<a id="obs-instructions"></a> -I’m so excited! =) We’re starting to get recorded talks, which means -it’s time to get captions going. People really appreciate the -captions, especially when the captions have been lovingly edited by -volunteers who change things like “Emax” to “Emacs” and “metaX” to -“M-x”. +#### Instructions -Just like last year, we’re using OpenAI Whisper to give us a -reasonable starting point for transcripts. If working from scratch -works better for you, you’re welcome to do that too. +1. [Connect to the VNC session for the track.](#vnc-instructions) -We’ve set up ${backstage} as the backstage area where you can view the -videos and resources uploaded so far. You can access it with the -username "${backstage-user}“ and the password ”${backstage-password}“. -Please keep the backstage password and other speakers’ talk resources -secret. ${backstage-use} +2. Start **recording** (not streaming). If you don’t see OBS when you connect, it’s probably on workspace 2, so you can switch with Alt-2. If you still don’t see it there, you can open a terminal with Alt-Enter and then run `track-obs`. After you start recording, confirm that it is now broadcasting to the stream. -To call dibs on a video to caption, just send a message to me at -sacha@sachachua.com and I can update the page so that it’s assigned to -you. You can e-mail me the edited captions when you’re done. Don’t -worry too much about timestamps; we can re-align the text with the -audio afterwards. If life gets suddenly busy and you can’t see it all -the way through, no worries. Just e-mail me what you’ve got and I’ll -put it back in the pool. Every little bit helps! +3. Verify with MPV on your local system: + + mpv https://live0.emacsconf.org/$TRACK.webm & -Thank you! +#### DONE Double-check OBS setup and streaming on res -Sacha Chua +### DONE Icecast -##### TODO E-mail the emacsconf-org mailing list the announcement and the invitation to volunteer +Success: You can use [OBS+VNC to record](#obs-instructions), and the results can be viewed by mpv. +- [X] Gen +- [X] Dev -##### TODO Try out Deepgram, play around with it for last-minute submissions? +New year: reprovision with -##### DONE Get the autocaptions for emms up in the backstage area + ansible-playbook -i inventory.yml prod-playbook.yml --tags stream -##### Captions lessons learned :lessons: +so that the year is updated in the configuration. -- OpenAI had a breaking API change, need to call `whisper.utils.get_writer` - - <https://github.com/dmarx/video-killed-the-radio-star/issues/101> - vtt_writer = whisper.utils.get_writer('vtt', os.path.dirname(new_file)) - txt_writer = whisper.utils.get_writer('txt', os.path.dirname(new_file)) - vtt_writer(result, work['audio'], {'max_line_width': 60, 'max_line_count': None, 'highlight_words': None}) - txt_writer(result, work['audio'], {'max_line_width': 60, 'max_line_count': None, 'highlight_words': None}) +This is on live.emacsconf.org and can be restarted with `/etc/init.d/emacsconf restart`. -#### Reencoding +#### DONE Double-check icecast -### TODO Find volunteers for audio processing and document the process :helpwanted: +### DONE MPV -- audio normalization -- noise reduction +### DONE Watch page -### TODO Write something for merging in information from previous years if not specified +live.emacsconf.org is on the front0.emacsconf.org server. -- availability -- timezone -- name -- short name -- pronouns +To set up for the year: -<a id="prepare-assets"></a> +1. Create directories and update the Nginx configuration + ansible-playbook -i inventory.yml prod-playbook.yml --tags live -## Prepare assets +2. Generate the pages + (emacsconf-publish-watch-pages) +3. Add the $year/watch to the wiki. -### TODO Generate intro slides and overlays +4. Create a $year/watch.md manually. -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. +### DONE Status page -We also generate overlays that show talk information during the talk -itself. +Manually maintained -SVGs don’t support line-wrapping, so it helps to do a quick pass to -make sure all the talks are displayed properly. +/ssh:front0.emacsconf.org:/var/www/status.emacsconf.org/index.html + +### DONE Public media + +Start of year: + +1. Set `media_protect_root` to true in Ansible `group_vars/all.yml`. +2. `ansible-playbook -i inventory.yml prod-playbook.yml --tags media` +3. Generate the index with `emacsconf-publish-update-media` + +Confirm by setting a submitted talk to `PLAYING` and testing with +<emacsconf-publish-media-files-on-change> . The public media +directory should have the files and the entry should be in the index. +Switching it back to `TO_STREAM` and calling +<emacsconf-publish-media-files-on-change> should remove it. + +#### TODO Switch public media to unprotected root before the conference + +1. Clear public media directory. +2. Set `media_protect_root` to false in Ansible `group_vars/all.yml`. +3. `ansible-playbook -i inventory.yml prod-playbook.yml --tags media` + +You can generate the index with `emacsconf-publish-update-media`. + +### DONE Mumble + +If you see `Server connection rejected: Wrong certificate or password.`, use **Certificate Wizard** to reimport the .p12 file in that user’s home directory. + +### DONE Etherpad + +<emacsconf-pad-prepopulate-all-talks> + +#### DONE Create pads for all the talks + +Because the pads refer to the next and previous talks and include the talk titles, this is best redone after the schedule has settled down. + +### DONE Pad proxy + +### DONE Overlays + +<emacsconf-stream-generate-overlays> -### BLOCKED Generate redirects +### INPROGRESS Intros -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. +Intro slides -### TODO Write 1-2 sentence intros for all the talks +<emacsconf-stream-generate-in-between-pages> +<emacsconf-pad-expand-intro> +[elisp:emacsconf-subed-intro-subtitles](emacsconf-subed-intro-subtitles) + +<http://ipa-reader.xyz/> + +#### CANCELLED 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 @@ -964,14 +1328,18 @@ 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. -#### Intros :levels: +Hmm… Actually, we can go ahead and record all of these so that +speakers can doublecheck pronunciations, and then we’ll re-record them +in case someone wants to get fancier about intros. + +##### Intros :levels: - Good: Use the same template as before: In this talk, SPEAKER shares TITLE OR SUMMARY. Afterwards, PRONOUN will handle questions over Q&A METHOD. - Better: Include some more biographical information to give listeners some context. -#### DONE Do we want to use honorifics like Dr.? :decision: +##### DONE Do we want to use honorifics like Dr.? :decision: DECISION: Include in the intro-review email: > We will usually introduce you by your first name (or handle, if you @@ -996,18 +1364,110 @@ use it when recording the intros. - 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 +#### DONE Record intro videos with 1-2 sentence intros for all the talks -<a id="coordinate-volunteers"></a> +#### DONE Record the rest of the intros + +#### DONE Generate intro slides + +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. + +Hmm… Maybe I should take the names and pronouns off the video +overlay? Then there’s less worry about wrapping, and people can always +go to the URL to get more information. + +<emacsconf-stream-generate-in-between-pages> + +#### TODO Ask speakers to review intros + +after they’ve uploaded their videos, since we might be able to check the pronunciation ourselves + +### IRC channels -## Coordinate volunteers +- /opall +- /conftopic +- /deopall +#### TODO Confirm that the emacsconf user can connect -### DONE E-mail captioning volunteers the backstage instructions +I think I had that on orga@res.emacsconf.org -### TODO E-mail previous captioning volunteers to see if they’re interested in helping out +### IRC talk info -### TODO Prepare shift calendar +### Announcements + +### Publishing updates live + +### Autopilot + +### YouTube + +### Peertube + +### 480p + +Consider increasing memory/cpu configuration on live? + +<a id="lowres"></a> + +#### TODO Figure out a better way to handle 480p stream :corwin: + +It kept dropping last year and sachac didn’t have the mental bandwidth to figure it out. +Might need another node so that we don’t risk it getting killed for memory reasons? + +Corwin has volunteered to take this on + +### Audio processing + + +<a id="audio"></a> + +#### TODO Find volunteers for audio processing (normalization, noise reduction) and document the process :helpwanted: + +- audio normalization +- noise reduction + +### TODO Write something for merging in information from previous years if not specified + +- availability +- timezone +- name +- short name +- pronouns + +<a id="go-live"></a> + +## Get ready for production + + +### A day or two before + +<a href="https://git.emacsconf.org/emacsconf-ansible/tree/group_vars/all.yml">group_vars/all.yml</a>: + + test_mode: false + media_protect_root: false + + ansible-playbook -i inventory.ml prod-playbook.yml --tags stream + ansible-playbook -i inventory.ml prod-playbook.yml --tags media + +Resize the nodes + +<a id="coordinate-volunteers"></a> + +## Volunteers + + +### TODO Prepare shift calendar, ask people to sign up <a name="shifts"></a> @@ -1015,7 +1475,7 @@ AM: 9-12 PM EST, PM: 1-5 PM EST (plus a little extra for setup/transition) Saturday Dec 2 2023 -<table id="org7b86601"> +<table id="orgd5d13b1"> <colgroup> @@ -1089,7 +1549,7 @@ Saturday Dec 2 2023 Sunday Dec 3 2023 -<table id="orgf4c1820"> +<table id="org91d3a58"> <colgroup> @@ -1348,6 +1808,8 @@ Note: Let’s see if we can decide on this by <span class="timestamp-wrapper e-mail the draft schedules to people. 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="yellow"></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/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="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(530,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/ref" title="Org-Mode workflow: informal reference tracking" data-slug="ref"> <title> 2:55- 3:15 Org-Mode workflow: informal reference tracking</title> <rect x="556" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="green"></rect> <g transform="translate(585,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/unentangling" title="(Un)entangling projects and repos" data-slug="unentangling"> <title> 3:25- 3:35 (Un)entangling projects and repos</title> <rect x="603" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect> <g transform="translate(616,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/devel" title="Emacs development updates" data-slug="devel"> <title> 3:45- 3:55 Emacs development updates</title> <rect x="635" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(648,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/core" title="Emacs core development: how it works" data-slug="core"> <title> 4:10- 4:50 Emacs core development: how it works</title> <rect x="674" y="15" opacity="0.8" width="62" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(734,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> core</text></g></a> <a href="https://emacsconf.org/2023/talks/sat-close" title="Saturday closing remarks" data-slug="sat-close"> <title> 5:05- 5:15 Saturday closing remarks</title> <rect x="760" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="green"></rect> <g transform="translate(773,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="lightgreen"></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="lightgreen"></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/emacsconf" title="EmacsConf.org: How we use Org Mode and TRAMP to organize and run a multi-track conference" data-slug="emacsconf"> <title> 2:50- 3:10 EmacsConf.org: How we use Org Mode and TRAMP to organize and run a multi-track conference</title> <rect x="549" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(578,133)"> <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="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="green"></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/web" title="Emacs saves the Web" data-slug="web"> <title> 3:10- 3:50 Emacs saves the Web</title> <rect x="580" y="15" opacity="0.8" width="62" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(640,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:05- 4:25 Sharing Emacs is Caring Emacs: Emacs education and why I embraced video</title> <rect x="666" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(695,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:40- 4:50 Sunday closing remarks</title> <rect x="721" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="green"></rect> <g transform="translate(734,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/world" title="GNU Emacs: A World of Possibilities" data-slug="world"> <title> 11:10-11:30 GNU Emacs: A World of Possibilities</title> <rect x="203" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="palegoldenrod"></rect> <g transform="translate(232,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> world</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:45-11:55 A modern Emacs look-and-feel without pain</title> <rect x="258" y="75" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(271,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/hyperdrive" title="hyperdrive.el: Peer-to-peer filesystem in Emacs" data-slug="hyperdrive"> <title> 1:35- 2:15 hyperdrive.el: Peer-to-peer filesystem in Emacs</title> <rect x="431" y="75" opacity="0.8" width="62" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(491,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/lspocaml" title="Writing a language server in OCaml for Emacs, fun, and profit" data-slug="lspocaml"> <title> 2:30- 2:40 Writing a language server in OCaml for Emacs, fun, and profit</title> <rect x="517" y="75" opacity="0.8" width="15" 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)"> lspocaml</text></g></a> <a href="https://emacsconf.org/2023/talks/windows" title="Windows into Freedom" data-slug="windows"> <title> 2:55- 3:35 Windows into Freedom</title> <rect x="556" y="75" opacity="0.8" width="62" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(616,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/emacsen" title="The Emacsen family, the design of an Emacs and the importance of Lisp" data-slug="emacsen"> <title> 3:50- 4:10 The Emacsen family, the design of an Emacs and the importance of Lisp</title> <rect x="643" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect> <g transform="translate(672,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? - Two-track advantages as in EmacsConf 2022: @@ -1365,6 +1827,8 @@ What if we have three tracks instead? - Allows us to have 20 minutes between talks instead of 15 - Might be easier to test the idea for just one part of the conference +<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="three-tracks-sun-am"></a> ### Three tracks for Sunday morning? @@ -1373,3 +1837,5 @@ What if we have three tracks instead? - world: Ends at 16:20 after 11:30 - Missing talks: core +<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> <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> <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> + diff --git a/2023/organizers-notebook/index.org b/2023/organizers-notebook/index.org index 39a940ca..9c089e08 100644 --- a/2023/organizers-notebook/index.org +++ b/2023/organizers-notebook/index.org @@ -509,7 +509,6 @@ These times are in EST (GMT-5). (steno) mentor break - (hn :start "15:00") web sharing sun-close @@ -572,52 +571,51 @@ These times are in EST (GMT-5). #+end_src #+RESULTS: draft-schedule-table - - 2023-12-02 Sat 09:00-09:10 [[emacsconf:sat-open][sat-open]]: Saturday opening remarks - - 2023-12-02 Sat 09:10-09:20 - <= 10:00 - [[emacsconf:adventure][adventure]]: 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 [[emacsconf:uni][uni]]: Authoring and presenting university courses with Emacs and a full libre software stack (James Howell) - - 2023-12-02 Sat 10:00-10:10 - <= 10:30 - [[emacsconf:matplotllm][matplotllm]]: MatplotLLM, iterative natural language data visualization in org-babel (Abhinav Tushar) - - 2023-12-02 Sat 10:05-10:25 - on 2023-12-02 - [[emacsconf:teaching][teaching]]: Teaching computer and data science with literate programming tools (Marcus Birkenkrahe) - - 2023-12-02 Sat 10:20-10:40 [[emacsconf:voice][voice]]: Improving access to AI-assisted literate programming with voice control (Blaine Mooers) - - 2023-12-02 Sat 10:40-10:50 - <= 11:00 - [[emacsconf:table][table]]: Who needs Excel? Managing your students qualifications with org-table (Daniel Molina) - - 2023-12-02 Sat 10:55-11:15 - >= 10:00 - [[emacsconf:llm][llm]]: LLM clients in Emacs, functionality and standardization (Andrew Hyatt) - - 2023-12-02 Sat 11:05-11:15 - <= 15:00 - [[emacsconf:taming][taming]]: Taming things with Org Mode (Gergely Nagy (algernon)) - - 2023-12-02 Sat 11:30-11:50 - <= 13:00 - [[emacsconf:one][one]]: one.el: the static site generator for Emacs Lisp Programmers (Tony Aldon) - - 2023-12-02 Sat 13:00-13:10 [[emacsconf:writing][writing]]: Emacs turbo-charges my writing (Jeremy Friesen) - - 2023-12-02 Sat 13:00-13:20 - >= 11:00 - [[emacsconf:overlay][overlay]]: Improving compiler diagnostics with Overlays (Jeff Trull) - - 2023-12-02 Sat 13:25-13:35 [[emacsconf:nabokov][nabokov]]: Why Nabokov would use Org-Mode if he were writing today (Edmund Jorgensen) - - 2023-12-02 Sat 13:35-13:45 [[emacsconf:eval][eval]]: Editor Integrated REPL Driven Development for all languages (Musa Al-hassy) - - 2023-12-02 Sat 13:50-14:10 - no live Q&A - [[emacsconf:collab][collab]]: Collaborative data processing and documenting using org-babel (Jonathan Hartman, Lukas C. Bossert) - - 2023-12-02 Sat 14:00-14:40 [[emacsconf:repl][repl]]: REPLs in strange places: Lua, LaTeX, LPeg, LPegRex, TikZ (Eduardo Ochs) - - 2023-12-02 Sat 14:20-14:40 - >= 12:00 - [[emacsconf:solo][solo]]: How I play TTRPGs in Emacs (Howard Abrams) - - 2023-12-02 Sat 14:50-15:10 [[emacsconf:emacsconf][emacsconf]]: EmacsConf.org: How we use Org Mode and TRAMP to organize and run a multi-track conference (Sacha Chua) - - 2023-12-02 Sat 14:55-15:15 - >= 13:00 - [[emacsconf:ref][ref]]: Org-Mode workflow: informal reference tracking (Christopher Howard) - - 2023-12-02 Sat 15:25-15:35 - between 15:00-16:00 - [[emacsconf:unentangling][unentangling]]: (Un)entangling projects and repos (Alexey Bochkarev) - - 2023-12-02 Sat 15:45-15:55 - no live Q&A - [[emacsconf:devel][devel]]: Emacs development updates (John Wiegley) - - 2023-12-02 Sat 16:05-16:45 [[emacsconf:core][core]]: Emacs core development: how it works (Stefan Kangas) - - 2023-12-02 Sat 17:00-17:10 [[emacsconf:sat-close][sat-close]]: Saturday closing remarks - - 2023-12-03 Sun 09:00-09:05 [[emacsconf:sun-open][sun-open]]: Sunday opening remarks - - 2023-12-03 Sun 09:05-09:25 - <= 12:00 - [[emacsconf:hyperamp][hyperamp]]: Top 10 ways Hyperbole amps up Emacs (Robert Weiner) - - 2023-12-03 Sun 09:40-10:00 [[emacsconf:koutline][koutline]]: Using Koutline for stream of thought journaling (Matthew Jorgensen (PlasmaStrike)) - - 2023-12-03 Sun 10:00-10:20 - <= 12:00 - [[emacsconf:scheme][scheme]]: Bringing joy to Scheme programming (Andrew Tropin) - - 2023-12-03 Sun 10:10-10:20 - <= 11:00 - [[emacsconf:parallel][parallel]]: Parallel Text Replacement: Does P = NP? (Lovro, Valentino Picotti) - - 2023-12-03 Sun 10:35-10:45 - <= 13:00 - [[emacsconf:eat][eat]]: Eat and Eat powered Eshell, fast featureful terminal inside Emacs (Akib Azmain Turja) - - 2023-12-03 Sun 10:35-10:55 - <= 12:00 - [[emacsconf:test][test]]: What I learned by writing test cases for GNU Hyperbole (Mats Lidell) - - 2023-12-03 Sun 11:00-11:20 - <= 13:00 - [[emacsconf:poltys][poltys]]: The browser in a buffer (Michael Bauer) - - 2023-12-03 Sun 11:10-11:30 - <= 11:30 - [[emacsconf:world][world]]: GNU Emacs: A World of Possibilities (Anand Tamariya) - - 2023-12-03 Sun 11:35-11:55 - <= 17:00 - [[emacsconf:cubing][cubing]]: Speedcubing in Emacs (Vasilij "wasamasa" Schneidermann) - - 2023-12-03 Sun 11:45-11:55 - between 11:00-13:00 - [[emacsconf:flat][flat]]: A modern Emacs look-and-feel without pain (Pedro A. Aranda) - - 2023-12-03 Sun 13:00-13:20 - <= 14:00 - [[emacsconf:gc][gc]]: emacs-gc-stats: Does garbage collection actually slow down Emacs? (Ihor Radchenko) - - 2023-12-03 Sun 13:00-13:40 [[emacsconf:emms][emms]]: Emacs MultiMedia System (EMMS) (Yoni Rabkin) - - 2023-12-03 Sun 13:35-14:15 - >= 11:00 - [[emacsconf:hyperdrive][hyperdrive]]: hyperdrive.el: Peer-to-peer filesystem in Emacs (Joseph Turner) - - 2023-12-03 Sun 13:55-14:25 [[emacsconf:steno][steno]]: Programming at 200 wpm (Daniel Alejandro Tapia) - - 2023-12-03 Sun 14:30-14:40 [[emacsconf:lspocaml][lspocaml]]: Writing a language server in OCaml for Emacs, fun, and profit (Austin Theriault) - - 2023-12-03 Sun 14:35-14:45 [[emacsconf:mentor][mentor]]: 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:35 [[emacsconf:windows][windows]]: Windows into Freedom (Corwin Brust) - - 2023-12-03 Sun 15:00-15:10 - >= 15:00 - [[emacsconf:hn][hn]]: The many ways to browse Hacker News from Emacs (Mickael Kerjean) - - 2023-12-03 Sun 15:25-16:05 - >= 15:00 - [[emacsconf:web][web]]: Emacs saves the Web (Yuchen Pei) - - 2023-12-03 Sun 15:50-16:10 - no live Q&A - [[emacsconf:emacsen][emacsen]]: The Emacsen family, the design of an Emacs and the importance of Lisp (Fermin) - - 2023-12-03 Sun 16:20-16:40 [[emacsconf:sharing][sharing]]: Sharing Emacs is Caring Emacs: Emacs education and why I embraced video (Jacob Boxerman) - - 2023-12-03 Sun 16:55-17:05 [[emacsconf:sun-close][sun-close]]: Sunday closing remarks + - 2023-12-02 Sat 09:00-09:10 [[emacsconf:sat-open][sat-open]]: Saturday opening remarks + - 2023-12-02 Sat 09:10-09:20 - <= 10:00 - [[emacsconf:adventure][adventure]]: 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 [[emacsconf:uni][uni]]: Authoring and presenting university courses with Emacs and a full libre software stack (James Howell) + - 2023-12-02 Sat 10:00-10:10 - <= 10:30 - [[emacsconf:matplotllm][matplotllm]]: MatplotLLM, iterative natural language data visualization in org-babel (Abhinav Tushar) + - 2023-12-02 Sat 10:05-10:25 - on 2023-12-02 - [[emacsconf:teaching][teaching]]: Teaching computer and data science with literate programming tools (Marcus Birkenkrahe) + - 2023-12-02 Sat 10:20-10:40 [[emacsconf:voice][voice]]: Improving access to AI-assisted literate programming with voice control (Blaine Mooers) + - 2023-12-02 Sat 10:40-10:50 - <= 11:00 - [[emacsconf:table][table]]: Who needs Excel? Managing your students qualifications with org-table (Daniel Molina) + - 2023-12-02 Sat 10:55-11:15 - >= 10:00 - [[emacsconf:llm][llm]]: LLM clients in Emacs, functionality and standardization (Andrew Hyatt) + - 2023-12-02 Sat 11:05-11:15 - <= 15:00 - [[emacsconf:taming][taming]]: Taming things with Org Mode (Gergely Nagy (algernon)) + - 2023-12-02 Sat 11:30-11:50 - <= 13:00 - [[emacsconf:one][one]]: one.el: the static site generator for Emacs Lisp Programmers (Tony Aldon) + - 2023-12-02 Sat 13:00-13:10 [[emacsconf:writing][writing]]: Emacs turbo-charges my writing (Jeremy Friesen) + - 2023-12-02 Sat 13:00-13:20 - >= 11:00 - [[emacsconf:overlay][overlay]]: Improving compiler diagnostics with Overlays (Jeff Trull) + - 2023-12-02 Sat 13:25-13:35 [[emacsconf:nabokov][nabokov]]: Why Nabokov would use Org-Mode if he were writing today (Edmund Jorgensen) + - 2023-12-02 Sat 13:35-13:45 [[emacsconf:eval][eval]]: Editor Integrated REPL Driven Development for all languages (Musa Al-hassy) + - 2023-12-02 Sat 13:50-14:10 - no live Q&A - [[emacsconf:collab][collab]]: Collaborative data processing and documenting using org-babel (Jonathan Hartman, Lukas C. Bossert) + - 2023-12-02 Sat 14:00-14:40 [[emacsconf:repl][repl]]: REPLs in strange places: Lua, LaTeX, LPeg, LPegRex, TikZ (Eduardo Ochs) + - 2023-12-02 Sat 14:20-14:40 - >= 12:00 - [[emacsconf:solo][solo]]: How I play TTRPGs in Emacs (Howard Abrams) + - 2023-12-02 Sat 14:50-15:10 [[emacsconf:emacsconf][emacsconf]]: EmacsConf.org: How we use Org Mode and TRAMP to organize and run a multi-track conference (Sacha Chua) + - 2023-12-02 Sat 14:55-15:15 - >= 13:00 - [[emacsconf:ref][ref]]: Org-Mode workflow: informal reference tracking (Christopher Howard) + - 2023-12-02 Sat 15:25-15:35 - between 15:00-16:00 - [[emacsconf:unentangling][unentangling]]: (Un)entangling projects and repos (Alexey Bochkarev) + - 2023-12-02 Sat 15:45-15:55 - >= 12:00 - [[emacsconf:devel][devel]]: Emacs development updates (John Wiegley) + - 2023-12-02 Sat 16:10-16:50 [[emacsconf:core][core]]: Emacs core development: how it works (Stefan Kangas) + - 2023-12-02 Sat 17:05-17:15 [[emacsconf:sat-close][sat-close]]: Saturday closing remarks + - 2023-12-03 Sun 09:00-09:05 [[emacsconf:sun-open][sun-open]]: Sunday opening remarks + - 2023-12-03 Sun 09:05-09:25 - <= 12:00 - [[emacsconf:hyperamp][hyperamp]]: Top 10 ways Hyperbole amps up Emacs (Robert Weiner) + - 2023-12-03 Sun 09:40-10:00 [[emacsconf:koutline][koutline]]: Using Koutline for stream of thought journaling (Matthew Jorgensen (PlasmaStrike)) + - 2023-12-03 Sun 10:00-10:20 - <= 12:00 - [[emacsconf:scheme][scheme]]: Bringing joy to Scheme programming (Andrew Tropin) + - 2023-12-03 Sun 10:10-10:20 - <= 11:00 - [[emacsconf:parallel][parallel]]: Parallel Text Replacement: Does P = NP? (Lovro, Valentino Picotti) + - 2023-12-03 Sun 10:35-10:45 - <= 13:00 - [[emacsconf:eat][eat]]: Eat and Eat powered Eshell, fast featureful terminal inside Emacs (Akib Azmain Turja) + - 2023-12-03 Sun 10:35-10:55 - <= 12:00 - [[emacsconf:test][test]]: What I learned by writing test cases for GNU Hyperbole (Mats Lidell) + - 2023-12-03 Sun 11:00-11:20 - <= 13:00 - [[emacsconf:poltys][poltys]]: The browser in a buffer (Michael Bauer) + - 2023-12-03 Sun 11:10-11:30 - <= 11:30 - [[emacsconf:world][world]]: GNU Emacs: A World of Possibilities (Anand Tamariya) + - 2023-12-03 Sun 11:35-11:55 - <= 17:00 - [[emacsconf:cubing][cubing]]: Speedcubing in Emacs (wasamasa) + - 2023-12-03 Sun 11:45-11:55 - between 11:00-13:00 - [[emacsconf:flat][flat]]: A modern Emacs look-and-feel without pain (Pedro A. Aranda) + - 2023-12-03 Sun 13:00-13:20 - <= 14:00 - [[emacsconf:gc][gc]]: emacs-gc-stats: Does garbage collection actually slow down Emacs? (Ihor Radchenko) + - 2023-12-03 Sun 13:00-13:40 [[emacsconf:emms][emms]]: Emacs MultiMedia System (EMMS) (Yoni Rabkin) + - 2023-12-03 Sun 13:35-14:15 - >= 11:00 - [[emacsconf:hyperdrive][hyperdrive]]: hyperdrive.el: Peer-to-peer filesystem in Emacs (Joseph Turner) + - 2023-12-03 Sun 13:55-14:25 [[emacsconf:steno][steno]]: Programming at 200 wpm (Daniel Alejandro Tapia) + - 2023-12-03 Sun 14:30-14:40 [[emacsconf:lspocaml][lspocaml]]: Writing a language server in OCaml for Emacs, fun, and profit (Austin Theriault) + - 2023-12-03 Sun 14:35-14:45 [[emacsconf:mentor][mentor]]: 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:35 [[emacsconf:windows][windows]]: Windows into Freedom (Corwin Brust) + - 2023-12-03 Sun 15:10-15:50 - >= 15:00 - [[emacsconf:web][web]]: Emacs saves the Web (Yuchen Pei) + - 2023-12-03 Sun 15:50-16:10 - no live Q&A - [[emacsconf:emacsen][emacsen]]: The Emacsen family, the design of an Emacs and the importance of Lisp (Fermin) + - 2023-12-03 Sun 16:05-16:25 [[emacsconf:sharing][sharing]]: Sharing Emacs is Caring Emacs: Emacs education and why I embraced video (Jacob Boxerman) + - 2023-12-03 Sun 16:40-16:50 [[emacsconf:sun-close][sun-close]]: Sunday closing remarks *** Schedule notes :PROPERTIES: diff --git a/2023/organizers-notebook/schedule.svg b/2023/organizers-notebook/schedule.svg index 10e4ddb7..17fcf5a3 100644 --- a/2023/organizers-notebook/schedule.svg +++ b/2023/organizers-notebook/schedule.svg @@ -1 +1 @@ -<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/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="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(530,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/ref" title="Org-Mode workflow: informal reference tracking" data-slug="ref"> <title> 2:55- 3:15 Org-Mode workflow: informal reference tracking</title> <rect x="556" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="lightgreen"></rect> <g transform="translate(585,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/unentangling" title="(Un)entangling projects and repos" data-slug="unentangling"> <title> 3:25- 3:35 (Un)entangling projects and repos</title> <rect x="603" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect> <g transform="translate(616,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/devel" title="Emacs development updates" data-slug="devel"> <title> 3:45- 3:55 Emacs development updates</title> <rect x="635" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(648,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/core" title="Emacs core development: how it works" data-slug="core"> <title> 4:10- 4:50 Emacs core development: how it works</title> <rect x="674" y="15" opacity="0.8" width="62" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(734,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> core</text></g></a> <a href="https://emacsconf.org/2023/talks/sat-close" title="Saturday closing remarks" data-slug="sat-close"> <title> 5:05- 5:15 Saturday closing remarks</title> <rect x="760" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="green"></rect> <g transform="translate(773,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="lightgreen"></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="yellow"></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/emacsconf" title="EmacsConf.org: How we use Org Mode and TRAMP to organize and run a multi-track conference" data-slug="emacsconf"> <title> 2:50- 3:10 EmacsConf.org: How we use Org Mode and TRAMP to organize and run a multi-track conference</title> <rect x="549" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(578,133)"> <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="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="green"></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/world" title="GNU Emacs: A World of Possibilities" data-slug="world"> <title> 11:10-11:30 GNU Emacs: A World of Possibilities</title> <rect x="203" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="yellow"></rect> <g transform="translate(232,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> world</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:45-11:55 A modern Emacs look-and-feel without pain</title> <rect x="258" y="75" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(271,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/hyperdrive" title="hyperdrive.el: Peer-to-peer filesystem in Emacs" data-slug="hyperdrive"> <title> 1:35- 2:15 hyperdrive.el: Peer-to-peer filesystem in Emacs</title> <rect x="431" y="75" opacity="0.8" width="62" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(491,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/lspocaml" title="Writing a language server in OCaml for Emacs, fun, and profit" data-slug="lspocaml"> <title> 2:30- 2:40 Writing a language server in OCaml for Emacs, fun, and profit</title> <rect x="517" y="75" opacity="0.8" width="15" 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)"> lspocaml</text></g></a> <a href="https://emacsconf.org/2023/talks/windows" title="Windows into Freedom" data-slug="windows"> <title> 2:55- 3:35 Windows into Freedom</title> <rect x="556" y="75" opacity="0.8" width="62" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(616,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/emacsen" title="The Emacsen family, the design of an Emacs and the importance of Lisp" data-slug="emacsen"> <title> 3:50- 4:10 The Emacsen family, the design of an Emacs and the importance of Lisp</title> <rect x="643" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect> <g transform="translate(672,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>
\ No newline at end of file +<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="yellow"></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/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="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(530,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/ref" title="Org-Mode workflow: informal reference tracking" data-slug="ref"> <title> 2:55- 3:15 Org-Mode workflow: informal reference tracking</title> <rect x="556" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="green"></rect> <g transform="translate(585,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/unentangling" title="(Un)entangling projects and repos" data-slug="unentangling"> <title> 3:25- 3:35 (Un)entangling projects and repos</title> <rect x="603" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect> <g transform="translate(616,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/devel" title="Emacs development updates" data-slug="devel"> <title> 3:45- 3:55 Emacs development updates</title> <rect x="635" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(648,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/core" title="Emacs core development: how it works" data-slug="core"> <title> 4:10- 4:50 Emacs core development: how it works</title> <rect x="674" y="15" opacity="0.8" width="62" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(734,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> core</text></g></a> <a href="https://emacsconf.org/2023/talks/sat-close" title="Saturday closing remarks" data-slug="sat-close"> <title> 5:05- 5:15 Saturday closing remarks</title> <rect x="760" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="green"></rect> <g transform="translate(773,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="lightgreen"></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="lightgreen"></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/emacsconf" title="EmacsConf.org: How we use Org Mode and TRAMP to organize and run a multi-track conference" data-slug="emacsconf"> <title> 2:50- 3:10 EmacsConf.org: How we use Org Mode and TRAMP to organize and run a multi-track conference</title> <rect x="549" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(578,133)"> <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="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="green"></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/web" title="Emacs saves the Web" data-slug="web"> <title> 3:10- 3:50 Emacs saves the Web</title> <rect x="580" y="15" opacity="0.8" width="62" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(640,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:05- 4:25 Sharing Emacs is Caring Emacs: Emacs education and why I embraced video</title> <rect x="666" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(695,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:40- 4:50 Sunday closing remarks</title> <rect x="721" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="green"></rect> <g transform="translate(734,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/world" title="GNU Emacs: A World of Possibilities" data-slug="world"> <title> 11:10-11:30 GNU Emacs: A World of Possibilities</title> <rect x="203" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="palegoldenrod"></rect> <g transform="translate(232,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> world</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:45-11:55 A modern Emacs look-and-feel without pain</title> <rect x="258" y="75" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(271,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/hyperdrive" title="hyperdrive.el: Peer-to-peer filesystem in Emacs" data-slug="hyperdrive"> <title> 1:35- 2:15 hyperdrive.el: Peer-to-peer filesystem in Emacs</title> <rect x="431" y="75" opacity="0.8" width="62" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(491,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/lspocaml" title="Writing a language server in OCaml for Emacs, fun, and profit" data-slug="lspocaml"> <title> 2:30- 2:40 Writing a language server in OCaml for Emacs, fun, and profit</title> <rect x="517" y="75" opacity="0.8" width="15" 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)"> lspocaml</text></g></a> <a href="https://emacsconf.org/2023/talks/windows" title="Windows into Freedom" data-slug="windows"> <title> 2:55- 3:35 Windows into Freedom</title> <rect x="556" y="75" opacity="0.8" width="62" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect> <g transform="translate(616,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/emacsen" title="The Emacsen family, the design of an Emacs and the importance of Lisp" data-slug="emacsen"> <title> 3:50- 4:10 The Emacsen family, the design of an Emacs and the importance of Lisp</title> <rect x="643" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect> <g transform="translate(672,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>
\ No newline at end of file |