summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSacha Chua <sacha@sachachua.com>2022-10-09 19:25:57 -0400
committerSacha Chua <sacha@sachachua.com>2022-10-09 19:25:57 -0400
commit9ffa229ece061b4d300c47283adf504529e685ee (patch)
treed868b4bfba02d35ae15f6cff1985ba66e8cf7e40
parentbbbdd43cf19495fa0ae5e51023c1af0c51842e83 (diff)
downloademacsconf-wiki-9ffa229ece061b4d300c47283adf504529e685ee.tar.xz
emacsconf-wiki-9ffa229ece061b4d300c47283adf504529e685ee.zip
Tweak schedule to put lspbridge earlier
Diffstat (limited to '')
-rw-r--r--2022/draft-schedule.md10
-rw-r--r--2022/info/asmblox-nav.md4
-rw-r--r--2022/info/async-nav.md2
-rw-r--r--2022/info/dbus-nav.md3
-rw-r--r--2022/info/fanfare-nav.md2
-rw-r--r--2022/info/localizing-nav.md3
-rw-r--r--2022/info/lspbridge-nav.md2
-rw-r--r--2022/info/sqlite-nav.md2
-rw-r--r--2022/info/treesitter-nav.md2
-rw-r--r--2022/info/wayland-nav.md4
-rw-r--r--2022/organizers-notebook/index.org709
-rw-r--r--2022/organizers-notebook/schedule.svg2
-rw-r--r--2022/schedule-details.md4
13 files changed, 377 insertions, 372 deletions
diff --git a/2022/draft-schedule.md b/2022/draft-schedule.md
index c941e41d..e88ee2ee 100644
--- a/2022/draft-schedule.md
+++ b/2022/draft-schedule.md
@@ -1,4 +1,4 @@
-<svg width="600" height="150" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <rect width="600" height="150" x="0" y="0" fill="white"></rect> <text font-size="10" fill="black" y="12" x="3"> Sat</text> <a href="/2022/talks/journalism" title="Emacs journalism (or everything's a nail if you hit it with Emacs)"> <title> Emacs journalism (or everything's a nail if you hit it with Emacs)</title> <rect x="6" y="15" opacity="0.8" width="25" height="59" stroke="black" stroke-dasharray="" fill="#ffdab9"></rect> <g transform="translate(29,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> journalism</text></g></a> <a href="/2022/talks/school" title="Back to school with Emacs"> <title> Back to school with Emacs</title> <rect x="56" y="15" opacity="0.8" width="25" height="59" stroke="black" stroke-dasharray="5,5,5" fill="#ffdab9"></rect> <g transform="translate(79,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> school</text></g></a> <a href="/2022/talks/handwritten" title="How to incorporate handwritten notes into Emacs Orgmode"> <title> How to incorporate handwritten notes into Emacs Orgmode</title> <rect x="93" y="15" opacity="0.8" width="12" height="59" stroke="black" stroke-dasharray="" fill="#ffdab9"></rect> <g transform="translate(103,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> handwritten</text></g></a> <a href="/2022/talks/science" title="Writing and organizing literature notes for scientific writing"> <title> Writing and organizing literature notes for scientific writing</title> <rect x="143" y="15" opacity="0.8" width="25" height="59" stroke="black" stroke-dasharray="" fill="#ffdab9"></rect> <g transform="translate(166,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> science</text></g></a> <a href="/2022/talks/meetups" title="Attending and organizing Emacs meetups"> <title> Attending and organizing Emacs meetups</title> <rect x="300" y="15" opacity="0.8" width="12" height="59" stroke="black" stroke-dasharray="" fill="#ffdab9"></rect> <g transform="translate(310,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> meetups</text></g></a> <a href="/2022/talks/buddy" title="The Emacs Buddy initiative"> <title> The Emacs Buddy initiative</title> <rect x="337" y="15" opacity="0.8" width="12" height="59" stroke="black" stroke-dasharray="5,5,5" fill="#ffdab9"></rect> <g transform="translate(347,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> buddy</text></g></a> <a href="/2022/talks/community" title="The ship that builds itself: How we used Emacs to develop a workshop for communities"> <title> The ship that builds itself: How we used Emacs to develop a workshop for communities</title> <rect x="362" y="15" opacity="0.8" width="37" height="59" stroke="black" stroke-dasharray="" fill="#ffdab9"></rect> <g transform="translate(397,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> community</text></g></a> <a href="/2022/talks/realestate" title="Real estate and Org table formulas"> <title> Real estate and Org table formulas</title> <rect x="437" y="15" opacity="0.8" width="25" height="59" stroke="black" stroke-dasharray="5,5,5" fill="#ffdab9"></rect> <g transform="translate(460,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> realestate</text></g></a> <a href="/2022/talks/health" title="Health data journaling and visualization with Org Mode and GNUplot"> <title> Health data journaling and visualization with Org Mode and GNUplot</title> <rect x="475" y="15" opacity="0.8" width="25" height="59" stroke="black" stroke-dasharray="" fill="#ffdab9"></rect> <g transform="translate(498,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> health</text></g></a> <a href="/2022/talks/jupyter" title="Edit live Jupyter notebook cells with Emacs"> <title> Edit live Jupyter notebook cells with Emacs</title> <rect x="525" y="15" opacity="0.8" width="12" height="59" stroke="black" stroke-dasharray="" fill="#ffdab9"></rect> <g transform="translate(535,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> jupyter</text></g></a> <a href="/2022/talks/orgvm" title="orgvm: a simple HTTP server for org"> <title> orgvm: a simple HTTP server for org</title> <rect x="562" y="15" opacity="0.8" width="12" height="59" stroke="black" stroke-dasharray="" fill="#ffdab9"></rect> <g transform="translate(572,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> orgvm</text></g></a> <a href="/2022/talks/asmblox" title="asm-blox: a game based on WebAssembly that no one asked for"> <title> asm-blox: a game based on WebAssembly that no one asked for</title> <rect x="75" y="75" opacity="0.8" width="12" height="59" stroke="black" stroke-dasharray="" fill="#87CEEB"></rect> <g transform="translate(85,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> asmblox</text></g></a> <a href="/2022/talks/treesitter" title="Tree-sitter beyond syntax highlighting"> <title> Tree-sitter beyond syntax highlighting</title> <rect x="118" y="75" opacity="0.8" width="12" height="59" stroke="black" stroke-dasharray="5,5,5" fill="#87CEEB"></rect> <g transform="translate(128,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> treesitter</text></g></a> <a href="/2022/talks/wayland" title="Emacs should become a Wayland compositor"> <title> Emacs should become a Wayland compositor</title> <rect x="143" y="75" opacity="0.8" width="12" height="59" stroke="black" stroke-dasharray="" fill="#87CEEB"></rect> <g transform="translate(153,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> wayland</text></g></a> <a href="/2022/talks/lspbridge" title="lsp-bridge: complete asynchronous LSP client"> <title> lsp-bridge: complete asynchronous LSP client</title> <rect x="187" y="75" opacity="0.8" width="25" height="59" stroke="black" stroke-dasharray="5,5,5" fill="#87CEEB"></rect> <g transform="translate(210,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> lspbridge</text></g></a> <a href="/2022/talks/sqlite" title="Using SQLite as a data source: a framework and an example"> <title> Using SQLite as a data source: a framework and an example</title> <rect x="300" y="75" opacity="0.8" width="25" height="59" stroke="black" stroke-dasharray="" fill="#87CEEB"></rect> <g transform="translate(323,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> sqlite</text></g></a> <a href="/2022/talks/mail" title="Revisiting the anatomy of Emacs mail user agents"> <title> Revisiting the anatomy of Emacs mail user agents</title> <rect x="356" y="75" opacity="0.8" width="37" height="59" stroke="black" stroke-dasharray="" fill="#87CEEB"></rect> <g transform="translate(391,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> mail</text></g></a> <a href="/2022/talks/maint" title="Maintaining the Maintainers: Attribution as an Economic Model for Open Source"> <title> Maintaining the Maintainers: Attribution as an Economic Model for Open Source</title> <rect x="437" y="75" opacity="0.8" width="25" height="59" stroke="black" stroke-dasharray="" fill="#87CEEB"></rect> <g transform="translate(460,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> maint</text></g></a> <a href="/2022/talks/eev" title="Bidirectional links with eev"> <title> Bidirectional links with eev</title> <rect x="493" y="75" opacity="0.8" width="6" height="59" stroke="black" stroke-dasharray="5,5,5" fill="#87CEEB"></rect> <g transform="translate(497,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> eev</text></g></a> <a href="/2022/talks/python" title="Short hyperlinks to Python docs"> <title> Short hyperlinks to Python docs</title> <rect x="512" y="75" opacity="0.8" width="6" height="59" stroke="black" stroke-dasharray="5,5,5" fill="#87CEEB"></rect> <g transform="translate(516,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> python</text></g></a> <a href="/2022/talks/haskell" title="Haskell code exploration with Emacs"> <title> Haskell code exploration with Emacs</title> <rect x="531" y="75" opacity="0.8" width="37" height="59" stroke="black" stroke-dasharray="" fill="#87CEEB"></rect> <g transform="translate(566,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> haskell</text></g></a> <g transform="translate(0,15)"> <line stroke="lightgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="darkgray" x="0" y="133" font-size="10" text-anchor="middle"> 9</text></g> <g transform="translate(75,15)"> <line stroke="lightgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="darkgray" x="0" y="133" font-size="10" text-anchor="middle"> 10</text></g> <g transform="translate(150,15)"> <line stroke="lightgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="darkgray" x="0" y="133" font-size="10" text-anchor="middle"> 11</text></g> <g transform="translate(225,15)"> <line stroke="lightgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="darkgray" x="0" y="133" font-size="10" text-anchor="middle"> 12</text></g> <g transform="translate(300,15)"> <line stroke="lightgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="darkgray" x="0" y="133" font-size="10" text-anchor="middle"> 1</text></g> <g transform="translate(375,15)"> <line stroke="lightgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="darkgray" x="0" y="133" font-size="10" text-anchor="middle"> 2</text></g> <g transform="translate(450,15)"> <line stroke="lightgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="darkgray" x="0" y="133" font-size="10" text-anchor="middle"> 3</text></g> <g transform="translate(525,15)"> <line stroke="lightgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="darkgray" x="0" y="133" font-size="10" text-anchor="middle"> 4</text></g></svg><svg width="600" height="150" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <rect width="600" height="150" x="0" y="0" fill="white"></rect> <text font-size="10" fill="black" y="12" x="3"> Sun</text> <a href="/2022/talks/survey" title="Results of the 2022 Emacs Survey"> <title> Results of the 2022 Emacs Survey</title> <rect x="6" y="15" opacity="0.8" width="25" height="59" stroke="black" stroke-dasharray="5,5,5" fill="#ffdab9"></rect> <g transform="translate(29,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> survey</text></g></a> <a href="/2022/talks/orgyear" title="This Year in Org"> <title> This Year in Org</title> <rect x="43" y="15" opacity="0.8" width="12" height="59" stroke="black" stroke-dasharray="5,5,5" fill="#ffdab9"></rect> <g transform="translate(53,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> orgyear</text></g></a> <a href="/2022/talks/rolodex" title="Build a Zettelkasten with the Hyperbole Rolodex"> <title> Build a Zettelkasten with the Hyperbole Rolodex</title> <rect x="75" y="15" opacity="0.8" width="25" height="59" stroke="black" stroke-dasharray="5,5,5" fill="#ffdab9"></rect> <g transform="translate(98,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> rolodex</text></g></a> <a href="/2022/talks/orgsuperlinks" title="Linking headings with org-super-links (poor-man's Zettelkasten)"> <title> Linking headings with org-super-links (poor-man's Zettelkasten)</title> <rect x="125" y="15" opacity="0.8" width="12" height="59" stroke="black" stroke-dasharray="" fill="#ffdab9"></rect> <g transform="translate(135,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> orgsuperlinks</text></g></a> <a href="/2022/talks/buttons" title="Linking personal info with Hyperbole implicit buttons"> <title> Linking personal info with Hyperbole implicit buttons</title> <rect x="162" y="15" opacity="0.8" width="12" height="59" stroke="black" stroke-dasharray="" fill="#ffdab9"></rect> <g transform="translate(172,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> buttons</text></g></a> <a href="/2022/talks/hyperorg" title="Powerful productivity with Hyperbole and Org Mode"> <title> Powerful productivity with Hyperbole and Org Mode</title> <rect x="300" y="15" opacity="0.8" width="37" height="59" stroke="black" stroke-dasharray="" fill="#ffdab9"></rect> <g transform="translate(335,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> hyperorg</text></g></a> <a href="/2022/talks/workflows" title="Org workflows for developers"> <title> Org workflows for developers</title> <rect x="362" y="15" opacity="0.8" width="25" height="59" stroke="black" stroke-dasharray="" fill="#ffdab9"></rect> <g transform="translate(385,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> workflows</text></g></a> <a href="/2022/talks/grail" title="GRAIL---A Generalized Representation and Aggregation of Information Layers"> <title> GRAIL---A Generalized Representation and Aggregation of Information Layers</title> <rect x="412" y="15" opacity="0.8" width="25" height="59" stroke="black" stroke-dasharray="" fill="#ffdab9"></rect> <g transform="translate(435,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> grail</text></g></a> <a href="/2022/talks/indieweb" title="Putting Org Mode on the Indieweb"> <title> Putting Org Mode on the Indieweb</title> <rect x="475" y="15" opacity="0.8" width="25" height="59" stroke="black" stroke-dasharray="" fill="#ffdab9"></rect> <g transform="translate(498,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> indieweb</text></g></a> <a href="/2022/talks/fanfare" title="Fanfare for the Common Emacs User"> <title> Fanfare for the Common Emacs User</title> <rect x="525" y="15" opacity="0.8" width="12" height="59" stroke="black" stroke-dasharray="" fill="#ffdab9"></rect> <g transform="translate(535,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> fanfare</text></g></a> <a href="/2022/talks/rde" title="rde Emacs introduction"> <title> rde Emacs introduction</title> <rect x="75" y="75" opacity="0.8" width="25" height="59" stroke="black" stroke-dasharray="" fill="#87CEEB"></rect> <g transform="translate(98,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> rde</text></g></a> <a href="/2022/talks/justl" title="justl: Driving recipes within Emacs"> <title> justl: Driving recipes within Emacs</title> <rect x="131" y="75" opacity="0.8" width="12" height="59" stroke="black" stroke-dasharray="5,5,5" fill="#87CEEB"></rect> <g transform="translate(141,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> justl</text></g></a> <a href="/2022/talks/tramp" title="Elisp and the TRAMP: How to NOT write code you don't have to"> <title> Elisp and the TRAMP: How to NOT write code you don't have to</title> <rect x="156" y="75" opacity="0.8" width="37" height="59" stroke="black" stroke-dasharray="" fill="#87CEEB"></rect> <g transform="translate(191,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> tramp</text></g></a> <a href="/2022/talks/detached" title="Getting detached from Emacs"> <title> Getting detached from Emacs</title> <rect x="300" y="75" opacity="0.8" width="12" height="59" stroke="black" stroke-dasharray="" fill="#87CEEB"></rect> <g transform="translate(310,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> detached</text></g></a> <a href="/2022/talks/eshell" title="Top 10 reasons why you should be using Eshell"> <title> Top 10 reasons why you should be using Eshell</title> <rect x="343" y="75" opacity="0.8" width="12" height="59" stroke="black" stroke-dasharray="" fill="#87CEEB"></rect> <g transform="translate(353,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> eshell</text></g></a> <a href="/2022/talks/async" title="Emacs was async before async was cool"> <title> Emacs was async before async was cool</title> <rect x="387" y="75" opacity="0.8" width="25" height="59" stroke="black" stroke-dasharray="" fill="#87CEEB"></rect> <g transform="translate(410,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> async</text></g></a> <a href="/2022/talks/dbus" title="The Wheels on D-Bus"> <title> The Wheels on D-Bus</title> <rect x="456" y="75" opacity="0.8" width="25" height="59" stroke="black" stroke-dasharray="" fill="#87CEEB"></rect> <g transform="translate(479,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> dbus</text></g></a> <a href="/2022/talks/localizing" title="Pre-localizing Emacs"> <title> Pre-localizing Emacs</title> <rect x="525" y="75" opacity="0.8" width="25" height="59" stroke="black" stroke-dasharray="" fill="#87CEEB"></rect> <g transform="translate(548,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> localizing</text></g></a> <g transform="translate(0,15)"> <line stroke="lightgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="darkgray" x="0" y="133" font-size="10" text-anchor="middle"> 9</text></g> <g transform="translate(75,15)"> <line stroke="lightgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="darkgray" x="0" y="133" font-size="10" text-anchor="middle"> 10</text></g> <g transform="translate(150,15)"> <line stroke="lightgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="darkgray" x="0" y="133" font-size="10" text-anchor="middle"> 11</text></g> <g transform="translate(225,15)"> <line stroke="lightgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="darkgray" x="0" y="133" font-size="10" text-anchor="middle"> 12</text></g> <g transform="translate(300,15)"> <line stroke="lightgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="darkgray" x="0" y="133" font-size="10" text-anchor="middle"> 1</text></g> <g transform="translate(375,15)"> <line stroke="lightgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="darkgray" x="0" y="133" font-size="10" text-anchor="middle"> 2</text></g> <g transform="translate(450,15)"> <line stroke="lightgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="darkgray" x="0" y="133" font-size="10" text-anchor="middle"> 3</text></g> <g transform="translate(525,15)"> <line stroke="lightgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="darkgray" x="0" y="133" font-size="10" text-anchor="middle"> 4</text></g></svg>This is a *DRAFT* schedule.
+<svg width="600" height="150" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <rect width="600" height="150" x="0" y="0" fill="white"></rect> <text font-size="10" fill="black" y="12" x="3"> Sat</text> <a href="/2022/talks/journalism" title="Emacs journalism (or everything's a nail if you hit it with Emacs)"> <title> Emacs journalism (or everything's a nail if you hit it with Emacs)</title> <rect x="6" y="15" opacity="0.8" width="25" height="59" stroke="black" stroke-dasharray="" fill="#ffdab9"></rect> <g transform="translate(29,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> journalism</text></g></a> <a href="/2022/talks/school" title="Back to school with Emacs"> <title> Back to school with Emacs</title> <rect x="56" y="15" opacity="0.8" width="25" height="59" stroke="black" stroke-dasharray="5,5,5" fill="#ffdab9"></rect> <g transform="translate(79,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> school</text></g></a> <a href="/2022/talks/handwritten" title="How to incorporate handwritten notes into Emacs Orgmode"> <title> How to incorporate handwritten notes into Emacs Orgmode</title> <rect x="93" y="15" opacity="0.8" width="12" height="59" stroke="black" stroke-dasharray="" fill="#ffdab9"></rect> <g transform="translate(103,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> handwritten</text></g></a> <a href="/2022/talks/science" title="Writing and organizing literature notes for scientific writing"> <title> Writing and organizing literature notes for scientific writing</title> <rect x="143" y="15" opacity="0.8" width="25" height="59" stroke="black" stroke-dasharray="" fill="#ffdab9"></rect> <g transform="translate(166,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> science</text></g></a> <a href="/2022/talks/meetups" title="Attending and organizing Emacs meetups"> <title> Attending and organizing Emacs meetups</title> <rect x="300" y="15" opacity="0.8" width="12" height="59" stroke="black" stroke-dasharray="" fill="#ffdab9"></rect> <g transform="translate(310,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> meetups</text></g></a> <a href="/2022/talks/buddy" title="The Emacs Buddy initiative"> <title> The Emacs Buddy initiative</title> <rect x="337" y="15" opacity="0.8" width="12" height="59" stroke="black" stroke-dasharray="5,5,5" fill="#ffdab9"></rect> <g transform="translate(347,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> buddy</text></g></a> <a href="/2022/talks/community" title="The ship that builds itself: How we used Emacs to develop a workshop for communities"> <title> The ship that builds itself: How we used Emacs to develop a workshop for communities</title> <rect x="362" y="15" opacity="0.8" width="37" height="59" stroke="black" stroke-dasharray="" fill="#ffdab9"></rect> <g transform="translate(397,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> community</text></g></a> <a href="/2022/talks/realestate" title="Real estate and Org table formulas"> <title> Real estate and Org table formulas</title> <rect x="437" y="15" opacity="0.8" width="25" height="59" stroke="black" stroke-dasharray="5,5,5" fill="#ffdab9"></rect> <g transform="translate(460,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> realestate</text></g></a> <a href="/2022/talks/health" title="Health data journaling and visualization with Org Mode and GNUplot"> <title> Health data journaling and visualization with Org Mode and GNUplot</title> <rect x="475" y="15" opacity="0.8" width="25" height="59" stroke="black" stroke-dasharray="" fill="#ffdab9"></rect> <g transform="translate(498,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> health</text></g></a> <a href="/2022/talks/jupyter" title="Edit live Jupyter notebook cells with Emacs"> <title> Edit live Jupyter notebook cells with Emacs</title> <rect x="525" y="15" opacity="0.8" width="12" height="59" stroke="black" stroke-dasharray="" fill="#ffdab9"></rect> <g transform="translate(535,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> jupyter</text></g></a> <a href="/2022/talks/orgvm" title="orgvm: a simple HTTP server for org"> <title> orgvm: a simple HTTP server for org</title> <rect x="562" y="15" opacity="0.8" width="12" height="59" stroke="black" stroke-dasharray="" fill="#ffdab9"></rect> <g transform="translate(572,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> orgvm</text></g></a> <a href="/2022/talks/treesitter" title="Tree-sitter beyond syntax highlighting"> <title> Tree-sitter beyond syntax highlighting</title> <rect x="75" y="75" opacity="0.8" width="12" height="59" stroke="black" stroke-dasharray="5,5,5" fill="#87CEEB"></rect> <g transform="translate(85,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> treesitter</text></g></a> <a href="/2022/talks/lspbridge" title="lsp-bridge: complete asynchronous LSP client"> <title> lsp-bridge: complete asynchronous LSP client</title> <rect x="100" y="75" opacity="0.8" width="25" height="59" stroke="black" stroke-dasharray="5,5,5" fill="#87CEEB"></rect> <g transform="translate(123,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> lspbridge</text></g></a> <a href="/2022/talks/asmblox" title="asm-blox: a game based on WebAssembly that no one asked for"> <title> asm-blox: a game based on WebAssembly that no one asked for</title> <rect x="137" y="75" opacity="0.8" width="12" height="59" stroke="black" stroke-dasharray="" fill="#87CEEB"></rect> <g transform="translate(147,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> asmblox</text></g></a> <a href="/2022/talks/wayland" title="Emacs should become a Wayland compositor"> <title> Emacs should become a Wayland compositor</title> <rect x="181" y="75" opacity="0.8" width="12" height="59" stroke="black" stroke-dasharray="" fill="#87CEEB"></rect> <g transform="translate(191,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> wayland</text></g></a> <a href="/2022/talks/sqlite" title="Using SQLite as a data source: a framework and an example"> <title> Using SQLite as a data source: a framework and an example</title> <rect x="300" y="75" opacity="0.8" width="25" height="59" stroke="black" stroke-dasharray="" fill="#87CEEB"></rect> <g transform="translate(323,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> sqlite</text></g></a> <a href="/2022/talks/mail" title="Revisiting the anatomy of Emacs mail user agents"> <title> Revisiting the anatomy of Emacs mail user agents</title> <rect x="356" y="75" opacity="0.8" width="37" height="59" stroke="black" stroke-dasharray="" fill="#87CEEB"></rect> <g transform="translate(391,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> mail</text></g></a> <a href="/2022/talks/maint" title="Maintaining the Maintainers: Attribution as an Economic Model for Open Source"> <title> Maintaining the Maintainers: Attribution as an Economic Model for Open Source</title> <rect x="437" y="75" opacity="0.8" width="25" height="59" stroke="black" stroke-dasharray="" fill="#87CEEB"></rect> <g transform="translate(460,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> maint</text></g></a> <a href="/2022/talks/eev" title="Bidirectional links with eev"> <title> Bidirectional links with eev</title> <rect x="493" y="75" opacity="0.8" width="6" height="59" stroke="black" stroke-dasharray="5,5,5" fill="#87CEEB"></rect> <g transform="translate(497,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> eev</text></g></a> <a href="/2022/talks/python" title="Short hyperlinks to Python docs"> <title> Short hyperlinks to Python docs</title> <rect x="512" y="75" opacity="0.8" width="6" height="59" stroke="black" stroke-dasharray="5,5,5" fill="#87CEEB"></rect> <g transform="translate(516,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> python</text></g></a> <a href="/2022/talks/haskell" title="Haskell code exploration with Emacs"> <title> Haskell code exploration with Emacs</title> <rect x="531" y="75" opacity="0.8" width="37" height="59" stroke="black" stroke-dasharray="" fill="#87CEEB"></rect> <g transform="translate(566,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> haskell</text></g></a> <g transform="translate(0,15)"> <line stroke="lightgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="darkgray" x="0" y="133" font-size="10" text-anchor="middle"> 9</text></g> <g transform="translate(75,15)"> <line stroke="lightgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="darkgray" x="0" y="133" font-size="10" text-anchor="middle"> 10</text></g> <g transform="translate(150,15)"> <line stroke="lightgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="darkgray" x="0" y="133" font-size="10" text-anchor="middle"> 11</text></g> <g transform="translate(225,15)"> <line stroke="lightgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="darkgray" x="0" y="133" font-size="10" text-anchor="middle"> 12</text></g> <g transform="translate(300,15)"> <line stroke="lightgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="darkgray" x="0" y="133" font-size="10" text-anchor="middle"> 1</text></g> <g transform="translate(375,15)"> <line stroke="lightgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="darkgray" x="0" y="133" font-size="10" text-anchor="middle"> 2</text></g> <g transform="translate(450,15)"> <line stroke="lightgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="darkgray" x="0" y="133" font-size="10" text-anchor="middle"> 3</text></g> <g transform="translate(525,15)"> <line stroke="lightgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="darkgray" x="0" y="133" font-size="10" text-anchor="middle"> 4</text></g></svg><svg width="600" height="150" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <rect width="600" height="150" x="0" y="0" fill="white"></rect> <text font-size="10" fill="black" y="12" x="3"> Sun</text> <a href="/2022/talks/survey" title="Results of the 2022 Emacs Survey"> <title> Results of the 2022 Emacs Survey</title> <rect x="6" y="15" opacity="0.8" width="25" height="59" stroke="black" stroke-dasharray="5,5,5" fill="#ffdab9"></rect> <g transform="translate(29,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> survey</text></g></a> <a href="/2022/talks/orgyear" title="This Year in Org"> <title> This Year in Org</title> <rect x="43" y="15" opacity="0.8" width="12" height="59" stroke="black" stroke-dasharray="5,5,5" fill="#ffdab9"></rect> <g transform="translate(53,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> orgyear</text></g></a> <a href="/2022/talks/rolodex" title="Build a Zettelkasten with the Hyperbole Rolodex"> <title> Build a Zettelkasten with the Hyperbole Rolodex</title> <rect x="75" y="15" opacity="0.8" width="25" height="59" stroke="black" stroke-dasharray="5,5,5" fill="#ffdab9"></rect> <g transform="translate(98,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> rolodex</text></g></a> <a href="/2022/talks/orgsuperlinks" title="Linking headings with org-super-links (poor-man's Zettelkasten)"> <title> Linking headings with org-super-links (poor-man's Zettelkasten)</title> <rect x="125" y="15" opacity="0.8" width="12" height="59" stroke="black" stroke-dasharray="" fill="#ffdab9"></rect> <g transform="translate(135,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> orgsuperlinks</text></g></a> <a href="/2022/talks/buttons" title="Linking personal info with Hyperbole implicit buttons"> <title> Linking personal info with Hyperbole implicit buttons</title> <rect x="162" y="15" opacity="0.8" width="12" height="59" stroke="black" stroke-dasharray="" fill="#ffdab9"></rect> <g transform="translate(172,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> buttons</text></g></a> <a href="/2022/talks/hyperorg" title="Powerful productivity with Hyperbole and Org Mode"> <title> Powerful productivity with Hyperbole and Org Mode</title> <rect x="300" y="15" opacity="0.8" width="37" height="59" stroke="black" stroke-dasharray="" fill="#ffdab9"></rect> <g transform="translate(335,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> hyperorg</text></g></a> <a href="/2022/talks/workflows" title="Org workflows for developers"> <title> Org workflows for developers</title> <rect x="362" y="15" opacity="0.8" width="25" height="59" stroke="black" stroke-dasharray="" fill="#ffdab9"></rect> <g transform="translate(385,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> workflows</text></g></a> <a href="/2022/talks/grail" title="GRAIL---A Generalized Representation and Aggregation of Information Layers"> <title> GRAIL---A Generalized Representation and Aggregation of Information Layers</title> <rect x="412" y="15" opacity="0.8" width="25" height="59" stroke="black" stroke-dasharray="" fill="#ffdab9"></rect> <g transform="translate(435,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> grail</text></g></a> <a href="/2022/talks/indieweb" title="Putting Org Mode on the Indieweb"> <title> Putting Org Mode on the Indieweb</title> <rect x="475" y="15" opacity="0.8" width="25" height="59" stroke="black" stroke-dasharray="" fill="#ffdab9"></rect> <g transform="translate(498,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> indieweb</text></g></a> <a href="/2022/talks/fanfare" title="Fanfare for the Common Emacs User"> <title> Fanfare for the Common Emacs User</title> <rect x="525" y="15" opacity="0.8" width="12" height="59" stroke="black" stroke-dasharray="" fill="#ffdab9"></rect> <g transform="translate(535,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> fanfare</text></g></a> <a href="/2022/talks/rde" title="rde Emacs introduction"> <title> rde Emacs introduction</title> <rect x="75" y="75" opacity="0.8" width="25" height="59" stroke="black" stroke-dasharray="" fill="#87CEEB"></rect> <g transform="translate(98,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> rde</text></g></a> <a href="/2022/talks/justl" title="justl: Driving recipes within Emacs"> <title> justl: Driving recipes within Emacs</title> <rect x="131" y="75" opacity="0.8" width="12" height="59" stroke="black" stroke-dasharray="5,5,5" fill="#87CEEB"></rect> <g transform="translate(141,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> justl</text></g></a> <a href="/2022/talks/tramp" title="Elisp and the TRAMP: How to NOT write code you don't have to"> <title> Elisp and the TRAMP: How to NOT write code you don't have to</title> <rect x="156" y="75" opacity="0.8" width="37" height="59" stroke="black" stroke-dasharray="" fill="#87CEEB"></rect> <g transform="translate(191,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> tramp</text></g></a> <a href="/2022/talks/detached" title="Getting detached from Emacs"> <title> Getting detached from Emacs</title> <rect x="300" y="75" opacity="0.8" width="12" height="59" stroke="black" stroke-dasharray="" fill="#87CEEB"></rect> <g transform="translate(310,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> detached</text></g></a> <a href="/2022/talks/eshell" title="Top 10 reasons why you should be using Eshell"> <title> Top 10 reasons why you should be using Eshell</title> <rect x="343" y="75" opacity="0.8" width="12" height="59" stroke="black" stroke-dasharray="" fill="#87CEEB"></rect> <g transform="translate(353,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> eshell</text></g></a> <a href="/2022/talks/async" title="Emacs was async before async was cool"> <title> Emacs was async before async was cool</title> <rect x="387" y="75" opacity="0.8" width="25" height="59" stroke="black" stroke-dasharray="" fill="#87CEEB"></rect> <g transform="translate(410,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> async</text></g></a> <a href="/2022/talks/dbus" title="The Wheels on D-Bus"> <title> The Wheels on D-Bus</title> <rect x="456" y="75" opacity="0.8" width="25" height="59" stroke="black" stroke-dasharray="" fill="#87CEEB"></rect> <g transform="translate(479,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> dbus</text></g></a> <a href="/2022/talks/localizing" title="Pre-localizing Emacs"> <title> Pre-localizing Emacs</title> <rect x="525" y="75" opacity="0.8" width="25" height="59" stroke="black" stroke-dasharray="" fill="#87CEEB"></rect> <g transform="translate(548,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> localizing</text></g></a> <g transform="translate(0,15)"> <line stroke="lightgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="darkgray" x="0" y="133" font-size="10" text-anchor="middle"> 9</text></g> <g transform="translate(75,15)"> <line stroke="lightgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="darkgray" x="0" y="133" font-size="10" text-anchor="middle"> 10</text></g> <g transform="translate(150,15)"> <line stroke="lightgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="darkgray" x="0" y="133" font-size="10" text-anchor="middle"> 11</text></g> <g transform="translate(225,15)"> <line stroke="lightgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="darkgray" x="0" y="133" font-size="10" text-anchor="middle"> 12</text></g> <g transform="translate(300,15)"> <line stroke="lightgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="darkgray" x="0" y="133" font-size="10" text-anchor="middle"> 1</text></g> <g transform="translate(375,15)"> <line stroke="lightgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="darkgray" x="0" y="133" font-size="10" text-anchor="middle"> 2</text></g> <g transform="translate(450,15)"> <line stroke="lightgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="darkgray" x="0" y="133" font-size="10" text-anchor="middle"> 3</text></g> <g transform="translate(525,15)"> <line stroke="lightgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="darkgray" x="0" y="133" font-size="10" text-anchor="middle"> 4</text></g></svg>This is a *DRAFT* schedule.
Jump to: <a href="#date-2022-12-03">Sat Dec 3</a> - <a href="#date-2022-12-04">Sun Dec 4</a><a name="date-2022-12-03"></a>
@@ -6,12 +6,12 @@ Jump to: <a href="#date-2022-12-03">Sat Dec 3</a> - <a href="#date-2022-12-04">S
<div class="schedule" data-start="2022-12-03T14:00:00+0000" data-end="2022-12-03T22:00:00+0000" data-tracks="General,Development">
[[!template id=sched title="Emacs journalism (or everything's a nail if you hit it with Emacs)" url="/2022/talks/journalism" speakers="Alfred Zanini" q-and-a="live" track="General" slug="journalism" time="20" startutc="2022-12-03T14:05:00+0000" endutc="2022-12-03T14:25:00+0000" start="9:05" end="9:25"]]
[[!template id=sched title="Back to school with Emacs" url="/2022/talks/school" speakers="Daniel Rösel" q-and-a="IRC" track="General" slug="school" time="20" startutc="2022-12-03T14:45:00+0000" endutc="2022-12-03T15:05:00+0000" start="9:45" end="10:05"]]
-[[!template id=sched title="asm-blox: a game based on WebAssembly that no one asked for" url="/2022/talks/asmblox" speakers="Zachary Romero" q-and-a="live" track="Development" slug="asmblox" time="10" startutc="2022-12-03T15:00:00+0000" endutc="2022-12-03T15:10:00+0000" start="10:00" end="10:10"]]
+[[!template id=sched title="Tree-sitter beyond syntax highlighting" url="/2022/talks/treesitter" speakers="Abin Simon" q-and-a="IRC or pad after event" track="Development" slug="treesitter" time="10" startutc="2022-12-03T15:00:00+0000" endutc="2022-12-03T15:10:00+0000" start="10:00" end="10:10"]]
[[!template id=sched title="How to incorporate handwritten notes into Emacs Orgmode" url="/2022/talks/handwritten" speakers="Bala Ramadurai" q-and-a="live" track="General" slug="handwritten" time="10" startutc="2022-12-03T15:15:00+0000" endutc="2022-12-03T15:25:00+0000" start="10:15" end="10:25"]]
-[[!template id=sched title="Tree-sitter beyond syntax highlighting" url="/2022/talks/treesitter" speakers="Abin Simon" q-and-a="IRC or pad after event" track="Development" slug="treesitter" time="10" startutc="2022-12-03T15:35:00+0000" endutc="2022-12-03T15:45:00+0000" start="10:35" end="10:45"]]
+[[!template id=sched title="lsp-bridge: complete asynchronous LSP client" url="/2022/talks/lspbridge" speakers="Andy Stewart" q-and-a="IRC" track="Development" slug="lspbridge" time="20" startutc="2022-12-03T15:20:00+0000" endutc="2022-12-03T15:40:00+0000" start="10:20" end="10:40"]]
+[[!template id=sched title="asm-blox: a game based on WebAssembly that no one asked for" url="/2022/talks/asmblox" speakers="Zachary Romero" q-and-a="live" track="Development" slug="asmblox" time="10" startutc="2022-12-03T15:50:00+0000" endutc="2022-12-03T16:00:00+0000" start="10:50" end="11:00"]]
[[!template id=sched title="Writing and organizing literature notes for scientific writing" url="/2022/talks/science" speakers="Vidianos" q-and-a="live" track="General" slug="science" time="20" startutc="2022-12-03T15:55:00+0000" endutc="2022-12-03T16:15:00+0000" start="10:55" end="11:15"]]
-[[!template id=sched title="Emacs should become a Wayland compositor" url="/2022/talks/wayland" speakers="Michael Bauer" q-and-a="live" track="Development" slug="wayland" time="10" startutc="2022-12-03T15:55:00+0000" endutc="2022-12-03T16:05:00+0000" start="10:55" end="11:05"]]
-[[!template id=sched title="lsp-bridge: complete asynchronous LSP client" url="/2022/talks/lspbridge" speakers="Andy Stewart" q-and-a="IRC" track="Development" slug="lspbridge" time="20" startutc="2022-12-03T16:30:00+0000" endutc="2022-12-03T16:50:00+0000" start="11:30" end="11:50"]]
+[[!template id=sched title="Emacs should become a Wayland compositor" url="/2022/talks/wayland" speakers="Michael Bauer" q-and-a="live" track="Development" slug="wayland" time="10" startutc="2022-12-03T16:25:00+0000" endutc="2022-12-03T16:35:00+0000" start="11:25" end="11:35"]]
[[!template id=sched title="Attending and organizing Emacs meetups" url="/2022/talks/meetups" speakers="Bhavin Gandhi" q-and-a="live" track="General" slug="meetups" time="10" startutc="2022-12-03T18:00:00+0000" endutc="2022-12-03T18:10:00+0000" start="1:00" end="1:10"]]
[[!template id=sched title="Using SQLite as a data source: a framework and an example" url="/2022/talks/sqlite" speakers="Andrew Hyatt" q-and-a="live" track="Development" slug="sqlite" time="20" startutc="2022-12-03T18:00:00+0000" endutc="2022-12-03T18:20:00+0000" start="1:00" end="1:20"]]
[[!template id=sched title="The Emacs Buddy initiative" url="/2022/talks/buddy" speakers="Andrea" q-and-a="IRC or pad" track="General" slug="buddy" time="10" startutc="2022-12-03T18:30:00+0000" endutc="2022-12-03T18:40:00+0000" start="1:30" end="1:40"]]
diff --git a/2022/info/asmblox-nav.md b/2022/info/asmblox-nav.md
index 528e4d48..b1275012 100644
--- a/2022/info/asmblox-nav.md
+++ b/2022/info/asmblox-nav.md
@@ -1,7 +1,7 @@
<div class="talk-nav">
Back to the [[talks]]
-Previous by track: <a href="/2022/talks/wayland">Emacs should become a Wayland compositor</a>
-Next by track: <a href="/2022/talks/dbus">The Wheels on D-Bus</a>
+Previous by track: <a href="/2022/talks/lspbridge">lsp-bridge: complete asynchronous LSP client</a>
+Next by track: <a href="/2022/talks/wayland">Emacs should become a Wayland compositor</a>
Track: <span class="sched-track Development">Development</span>
</div>
diff --git a/2022/info/async-nav.md b/2022/info/async-nav.md
index 70b98ac2..78098237 100644
--- a/2022/info/async-nav.md
+++ b/2022/info/async-nav.md
@@ -2,6 +2,6 @@
<div class="talk-nav">
Back to the [[talks]]
Previous by track: <a href="/2022/talks/eshell">Top 10 reasons why you should be using Eshell</a>
-Next by track: <a href="/2022/talks/wayland">Emacs should become a Wayland compositor</a>
+Next by track: <a href="/2022/talks/dbus">The Wheels on D-Bus</a>
Track: <span class="sched-track Development">Development</span>
</div>
diff --git a/2022/info/dbus-nav.md b/2022/info/dbus-nav.md
index 0977272b..792ee9de 100644
--- a/2022/info/dbus-nav.md
+++ b/2022/info/dbus-nav.md
@@ -1,6 +1,7 @@
<div class="talk-nav">
Back to the [[talks]]
-Previous by track: <a href="/2022/talks/asmblox">asm-blox: a game based on WebAssembly that no one asked for</a>
+Previous by track: <a href="/2022/talks/async">Emacs was async before async was cool</a>
+Next by track: <a href="/2022/talks/localizing">Pre-localizing Emacs</a>
Track: <span class="sched-track Development">Development</span>
</div>
diff --git a/2022/info/fanfare-nav.md b/2022/info/fanfare-nav.md
index da5758f8..44f60448 100644
--- a/2022/info/fanfare-nav.md
+++ b/2022/info/fanfare-nav.md
@@ -2,6 +2,6 @@
<div class="talk-nav">
Back to the [[talks]]
Previous by track: <a href="/2022/talks/indieweb">Putting Org Mode on the Indieweb</a>
-Next by track: <a href="/2022/talks/localizing">Pre-localizing Emacs</a>
+Next by track: <a href="/2022/talks/treesitter">Tree-sitter beyond syntax highlighting</a>
Track: <span class="sched-track General">General</span>
</div>
diff --git a/2022/info/localizing-nav.md b/2022/info/localizing-nav.md
index 38616a3c..c5ead2f7 100644
--- a/2022/info/localizing-nav.md
+++ b/2022/info/localizing-nav.md
@@ -1,7 +1,6 @@
<div class="talk-nav">
Back to the [[talks]]
-Previous by track: <a href="/2022/talks/fanfare">Fanfare for the Common Emacs User</a>
-Next by track: <a href="/2022/talks/treesitter">Tree-sitter beyond syntax highlighting</a>
+Previous by track: <a href="/2022/talks/dbus">The Wheels on D-Bus</a>
Track: <span class="sched-track Development">Development</span>
</div>
diff --git a/2022/info/lspbridge-nav.md b/2022/info/lspbridge-nav.md
index 532e6bce..0719dc1b 100644
--- a/2022/info/lspbridge-nav.md
+++ b/2022/info/lspbridge-nav.md
@@ -2,6 +2,6 @@
<div class="talk-nav">
Back to the [[talks]]
Previous by track: <a href="/2022/talks/treesitter">Tree-sitter beyond syntax highlighting</a>
-Next by track: <a href="/2022/talks/sqlite">Using SQLite as a data source: a framework and an example</a>
+Next by track: <a href="/2022/talks/asmblox">asm-blox: a game based on WebAssembly that no one asked for</a>
Track: <span class="sched-track Development">Development</span>
</div>
diff --git a/2022/info/sqlite-nav.md b/2022/info/sqlite-nav.md
index 2c94bda5..679b68f8 100644
--- a/2022/info/sqlite-nav.md
+++ b/2022/info/sqlite-nav.md
@@ -1,7 +1,7 @@
<div class="talk-nav">
Back to the [[talks]]
-Previous by track: <a href="/2022/talks/lspbridge">lsp-bridge: complete asynchronous LSP client</a>
+Previous by track: <a href="/2022/talks/wayland">Emacs should become a Wayland compositor</a>
Next by track: <a href="/2022/talks/mail">Revisiting the anatomy of Emacs mail user agents</a>
Track: <span class="sched-track Development">Development</span>
</div>
diff --git a/2022/info/treesitter-nav.md b/2022/info/treesitter-nav.md
index f4e68d33..6e1f8347 100644
--- a/2022/info/treesitter-nav.md
+++ b/2022/info/treesitter-nav.md
@@ -1,7 +1,7 @@
<div class="talk-nav">
Back to the [[talks]]
-Previous by track: <a href="/2022/talks/localizing">Pre-localizing Emacs</a>
+Previous by track: <a href="/2022/talks/fanfare">Fanfare for the Common Emacs User</a>
Next by track: <a href="/2022/talks/lspbridge">lsp-bridge: complete asynchronous LSP client</a>
Track: <span class="sched-track Development">Development</span>
</div>
diff --git a/2022/info/wayland-nav.md b/2022/info/wayland-nav.md
index 00eff77c..807e696b 100644
--- a/2022/info/wayland-nav.md
+++ b/2022/info/wayland-nav.md
@@ -1,7 +1,7 @@
<div class="talk-nav">
Back to the [[talks]]
-Previous by track: <a href="/2022/talks/async">Emacs was async before async was cool</a>
-Next by track: <a href="/2022/talks/asmblox">asm-blox: a game based on WebAssembly that no one asked for</a>
+Previous by track: <a href="/2022/talks/asmblox">asm-blox: a game based on WebAssembly that no one asked for</a>
+Next by track: <a href="/2022/talks/sqlite">Using SQLite as a data source: a framework and an example</a>
Track: <span class="sched-track Development">Development</span>
</div>
diff --git a/2022/organizers-notebook/index.org b/2022/organizers-notebook/index.org
index db2de204..e567e354 100644
--- a/2022/organizers-notebook/index.org
+++ b/2022/organizers-notebook/index.org
@@ -47,32 +47,70 @@ or ~C-c \~ (~org-match-sparse-tree~) to see anything tagged with your tag.
~org-agenda~ with ~<~ for the file restriction may also be handy.
+* Cadence
+:PROPERTIES:
+:CUSTOM_ID: cadence
+:OWNER: sachac
+:END:
+
+| | Work | Speakers | Volunteers | Public |
+| [2022-09-30 Fri] | | [[#acceptance][acceptance, reply to confirm]] | | |
+| [2022-10-09 Sun] | | [[#check-sched][schedule, reply if not okay]] | [[#volunteer-2022-10-09][overall priorities]] | |
+| [2022-10-16 Sun] | [[#upload][file upload]] | follow up with radio silence | infra update | |
+| [2022-10-23 Sun] | [[#etherpad][Etherpad]], [[#upload][stream]] | file upload instructions, drop radio silence | training | |
+| [2022-10-30 Sun] | [[#intro][intro, exit videos]] | | shifts | schedule, posters? |
+| [2022-11-06 Sun] | [[#write-viewing][watch pages]], prerecs | prerec confirmation/reminder, caption progress | caption kickoff | |
+| [2022-11-13 Sun] | dry run, captions | tech check | | |
+| [2022-11-20 Sun] | captions | checkin instructions | | |
+| [2022-11-27 Sun] | captions | last weekend before EmacsConf | | watching |
+
+
+* Overall priorities
+:PROPERTIES:
+:CUSTOM_ID: overall
+:END:
+
+This table makes it easier to move the slider depending on who wants
+to volunteer and how much we can get done. At some point, we'll figure
+out how to track our current status so we know what we need to
+scramble to do in order to get the conference off the ground. *bold*
+is our current goal. Feel free to volunteer for anything that
+interests you!
+
+| | Good | Better | Best |
+|-------------------+-------------------------------------+--------------------------------------+------------------------------------------------------|
+| [[#sched-decision][schedule]] | one track | *DONE S: two tracks* | aligned times, full roster |
+| schedule view | text table | S: imagemap fallback | *DONE S: interactive SVG* |
+| [[#upload][upload]] | FTP | *S?: web-based* | auto-encoded, preview (SReview?) |
+| [[#streaming][streaming]] | ffmpeg from computer | DONE OBS | *Z: OBS in cloud, switchable hosts* |
+| [[#prepare-prerec-process][prerec]] | DONE play original with captions | Z: normalize audio | *S: post as soon as talk is live* |
+| BBB rooms | about 5 rooms that we cycle through | | *one room per speaker* |
+| host | no host, speaker reads pad | *host reads pad* | host monitors IRC and helps with BBB as well |
+| BBB Q&A | none | *DONE open to community* | moderated by speaker and host |
+| [[#write-viewing][watch page]] | tracks | *+ IRC* | + talk info, maybe even pad |
+| [[#etherpad][pad]] | one pad for conf | one pad per talk, wikimedia | *one pad per talk, self-hosted* so we can access API |
+| [[#irc][IRC]] | #emacsconf, -org | *tracks, hallway, org* | IRC volunteer copying to pads; maybe even IRC bots |
+| [[#irc-announce][IRC announcements]] | *ERC commands* | timer-based | |
+| [[#publishing-sched][sched update]] | *S: publish at start* | update main sched | update talk pages |
+| [[#publish-live][talk pages]] | S: link to stream, pad, IRC | *link to prerec when live* | embed stream, pad, IRC, prerec |
+| [[#other-streams][other streams]] | 480p | + Toobnix | *S: + YouTube* |
+| [[#video-platforms][other platforms]] | *S: Toobnix & YT after event* | | S: Toobnix + YT when live |
+| [[#wiki-design][wiki]] | plain text, markdown | *sachac: some JS and CSS enrichment* | more JS and CSS, embeds, videoplayer |
+| [[#intro][intro and exit]] | *generic static image* | per-talk image | Emacs thing so we can display info, countdowns, IRC |
+| [[#ansible][ansible]] | none | *sachac: some automation* | comprehensive, can also work against containers |
+
* Current tasks / status
:PROPERTIES:
:CUSTOM_ID: current
:END:
Planned dates and phases:
-| [2022-09-26] | Yes/no comments for original submissions |
-| [2022-09-30] | Original speaker notification date |
-| [2022-10-07] | Tentative deadline for settling on a strategy for the schedule/tracks |
-| [2022-10-08] | E-mail confirmation expected (collect public contact info for posting in program) |
-| [2022-10-14] | Program published |
-| [2022-10-31] | Schedule published |
-| [2022-11-04] | Target date to receive prerecs; earlier is better |
-| | zaeph: reencode videos |
-| | sachac: prepare talks for captioning |
-| | volunteers: tech checks, captions |
-| 2022-12-03, 2022-12-04 | Conference |
-
Current phase: No prerecs to process yet, so it's a good time to focus
on infrastructure
#+TOC: headlines 1 local
-[[#overall][Overall prioritization of effort]]
-
-** Time-sensitive
+* Time-sensitive
:PROPERTIES:
:CUSTOM_ID: time-sensitive
:END:
@@ -81,7 +119,7 @@ Ordered chronologically (and therefore by importance).
#+TOC: headlines 1 local
-*** Volunteer communications: E-mail update for Oct 9, 2022 :email:volunteers:
+** Volunteer communications: E-mail update for Oct 9, 2022 :email:volunteers:
SCHEDULED: <2022-10-09 Sun>
:PROPERTIES:
:CUSTOM_ID: volunteer-2022-10-09
@@ -89,7 +127,7 @@ SCHEDULED: <2022-10-09 Sun>
Add your news and requests to this.
-**** Template so far
+*** Template so far
:PROPERTIES:
:SUBJECT: Getting ready for EmacsConf ${year}
:END:
@@ -98,275 +136,52 @@ Hello, EmacsConf volunteers!
We're starting to gear up for EmacsConf ${year} and we would love your help!
-- https://emacsconf.org/${year}/organizers-notebook/#overall has an overall
- prioritization matrix. If any of those options look interesting, you
- can volunteer to help move the needle.
-- sachac: Given the number of talks this year, we're going to try to
- see if we can pull off two tracks. I've posted a draft schedule at
- https://emacsconf.org/2022/draft-schedule/ and will e-mail speakers
- to confirm their availability. This schedule staggers live Q&A
- sessions so that the person managing the streams can jump back and
- forth as needed. [[#shifts][Want to volunteer for a shift?]]
-
-Help wanted / upcoming tasks:
-
-- We would like to find a way for people to upload large files through
- a web-based interface, since a number of speakers had issues with
- FTP uploads last year. [[#upload][#upload]] has some options to explore. Do you
- have any recommendations or do you want to do some research?
+- https://emacsconf.org/${year}/organizers-notebook/#overall has an
+ overall prioritization matrix. If any of those options look like
+ something you want to learn or help with, you can volunteer to help
+ move the needle.
+- Given the number of talks this year, we're going to try to see if we
+ can pull off two tracks. I've posted a draft schedule at
+ https://emacsconf.org/2022/draft-schedule/ and have e-mailed
+ speakers to confirm their availability. This schedule staggers live
+ Q&A sessions so that the person managing the streams can jump back
+ and forth as needed. [[#shifts][Want to volunteer for a shift?]]
+
+Help wanted / upcoming projects:
+
+- Emacs Lisp: Want to design the screens that will be displayed before
+ and after a talk? Bonus points if you can do it in Emacs with a
+ count-down timer until the start of the talk. See [[#intro]]
+
+- Infrastructure - file upload: We would like to find a way for people
+ to upload large files through a web-based interface, since a number
+ of speakers had issues with FTP uploads last year. [[#upload][#upload]] has some
+ options to explore. Do you have any recommendations or do you want
+ to do some research?
+
+- Infrastructure - streaming: Got any experience streaming with OBS or
+ gstreamer? We're going to try to have two (or more!) streams this
+ year, so it would be great to have more streamers on board.
+ Definitely let us know if you have any experience using a cloud
+ server to stream, or if you'd like to help figure it out (see
+ [[#streaming][#streaming]]). It would be neat to have the streaming come from a VPS
+ that different people can control.
+
+-
You're receiving this e-mail because you're on the emacsconf-org mailing list.
-*** DONE Remind people about confirming e-mail communications :sachac:email:speakers:
-CLOSED: [2022-10-08 Sat 18:55] SCHEDULED: <2022-10-08 Sat>
-:PROPERTIES:
-:CUSTOM_ID: confirm-email
-:END:
-
-Look for the TO_CONFIRM status in conf.org, probably include in schedule e-mail
-*** TODO Plan cadence :email:
-:PROPERTIES:
-:CUSTOM_ID: cadence
-:END:
-
-| | Work | Speakers | Volunteers | Public |
-| [2022-09-30 Fri] | | [[#acceptance][acceptance, reply to confirm]] | | |
-| [2022-10-09 Sun] | | [[#check-sched][schedule, reply if not okay]] | [[#volunteer-2022-10-09][overall priorities]] | |
-| [2022-10-16 Sun] | [[#upload][file upload]] | follow up with radio silence | infra update | |
-| [2022-10-23 Sun] | [[#etherpad][Etherpad]], [[#upload][stream]] | file upload instructions, drop radio silence | training | |
-| [2022-10-30 Sun] | [[#intro][intro, exit videos]] | | shifts | schedule, posters? |
-| [2022-11-06 Sun] | [[#write-viewing][watch pages]] | prerec confirmation/reminder, caption progress | caption kickoff | |
-| [2022-11-13 Sun] | dry run, captions | tech check | | |
-| [2022-11-20 Sun] | captions | checkin instructions | | |
-| [2022-11-27 Sun] | captions | last weekend before EmacsConf | | watching |
-*** DONE Send people schedule information and doublecheck their availability/Q&A preference :sachac:email:speakers:sched:
-CLOSED: [2022-10-09 Sun 09:38] SCHEDULED: <2022-10-08 Sat>
-:PROPERTIES:
-:CUSTOM_ID: check-sched
-:END:
-
-#+begin_src emacs-lisp
-(defun emacsconf-mail-schedule (group &optional template)
- "Send draft schedule.
-GROUP is (email . (talk talk))"
- (interactive (list (emacsconf-mail-complete-email-group)))
- (require 'emacsconf-ical)
- (let ((reply-by-date (date-to-time "2022-10-14"))
- (draft-schedule (concat emacsconf-base-url emacsconf-year "/draft-schedule/")))
- (emacsconf-mail-prepare
- (or template (emacsconf-mail-merge-get-template "check-sched"))
- group
- (list
- :titles
- (mapconcat (lambda (o) (format "%s: %s"
- (plist-get o :slug)
- (format-time-string
- "%b %-e %-I:%M %#p %Z"
- (plist-get o :start-time)
- emacsconf-timezone)))
- (cdr group) "; ")
- :draft-schedule
- draft-schedule
- :speakers-short
- (plist-get (cadr group) :speakers-short)
- :plural
- (if (= (length (cdr group)) 1) "" "s")
- :email
- (plist-get (cadr group) :email)
- :year
- (or (plist-get (cadr group) :year) emacsconf-year)
- :coordination-note
- (if (seq-find (lambda (o) (member (plist-get o :slug) '("journalism" "rolodex" "orgsuperlinks" "buttons" "hyperorg" "science")))
- (cdr group))
- "I've changed the order slightly from the coordination e-mail I sent you. The sequence is now journalism - science - rolodex - orgsuperlinks - buttons - hyperorg. science is now second instead of last, and the first two talks are on Sat while the last four are on Sun. That probably means you don't have to coordinate as much, but you can still do so if you would like to build on other people's talks."
- "")
- :schedule
- (mapconcat
- (lambda (o) (format "* TODO Check time for \"%s\" (%s) :emacsconf:\nDEADLINE: %s\n(Not a hard deadline, just encouragement to e-mail us before that date if you can)\nPlease e-mail [[mailto:emacsconf-submit@gnu.org]] if you need it changed\n%s track\n%s\nIn context: %s"
- (plist-get o :title)
- (plist-get o :slug)
- (format-time-string (car org-time-stamp-formats) reply-by-date emacsconf-timezone)
- (plist-get o :track)
- (string-join
- (let ((emacsconf-timezones
- (if (plist-get o :timezone)
- (seq-uniq (append (list emacsconf-timezone)
- (split-string (plist-get o :timezone) " ")
- (list "UTC")))
- emacsconf-timezones)))
- (emacsconf-timezone-strings o))
- "\n")
- draft-schedule))
- (cdr group)
- "\n----------------------------------------------------------------\n")
- :reply-by
- (format-time-string "%b %-e (%a)" reply-by-date emacsconf-timezone)
- :timezone-note
- (if (plist-get (cadr group) :timezone)
- (format "I've included timezone conversion to %s. Let me know if you'd like me to use a different timezone in future e-mails."
- (plist-get (cadr group) :timezone) " ")
- "I can translate times into your local timezone. Let me know what timezone you'd like me to use.")
- :availability-note
- (cond
- ((seq-find (lambda (o) (string-match "yes" (or (plist-get o :availability) ""))) (cdr group))
- (format "I think you've indicated that you're available during the conference."))
- ((seq-find (lambda (o) (string-match "not indicated" (or (plist-get o :availability) ""))) (cdr group))
- (format "I think you didn't indicate any particular availability constraints in your submission."))
- (t (format "I think it respects your indicated availability, which we've noted as %s."
- (string-join
- (seq-uniq
- (mapcar
- (lambda (o) (format "\"%s\"" (plist-get o :availability)))
- (cdr group)))
- " and "))))))))
-
-(defun emacsconf-mail-schedule-update (group &optional template)
- "Send draft schedule update.
-GROUP is (email . (talk talk))"
- (interactive (list (emacsconf-mail-complete-email-group)))
- (require 'emacsconf-ical)
- (let ((reply-by-date (date-to-time "2022-10-14"))
- (draft-schedule (concat emacsconf-base-url emacsconf-year "/draft-schedule/")))
- (emacsconf-mail-prepare
- (or template (emacsconf-mail-merge-get-template "check-sched"))
- group
- (list
- :titles
- (mapconcat (lambda (o) (format "%s: %s"
- (plist-get o :slug)
- (format-time-string
- "%b %-e %-I:%M %#p %Z"
- (plist-get o :start-time)
- emacsconf-timezone)))
- (cdr group) "; ")
- :draft-schedule
- draft-schedule
- :speakers-short
- (plist-get (cadr group) :speakers-short)
- :plural
- (if (= (length (cdr group)) 1) "" "s")
- :email
- (plist-get (cadr group) :email)
- :year
- (or (plist-get (cadr group) :year) emacsconf-year)
- :coordination-note
- (if (seq-find (lambda (o) (member (plist-get o :slug) '("journalism" "rolodex" "orgsuperlinks" "buttons" "hyperorg" "science")))
- (cdr group))
- "I've changed the order slightly from the coordination e-mail I sent you. The sequence is now journalism - science - rolodex - orgsuperlinks - buttons - hyperorg. science is now second instead of last, and the first two talks are on Sat while the last four are on Sun. That probably means you don't have to coordinate as much, but you can still do so if you would like to build on other people's talks."
- "")
- :schedule
- (mapconcat
- (lambda (o) (format "\"%s\" (%s)\n%s track\n%s\nIn context: %s"
- (plist-get o :title)
- (plist-get o :slug)
- (plist-get o :track)
- (string-join
- (let ((emacsconf-timezones
- (if (plist-get o :timezone)
- (seq-uniq (append (list emacsconf-timezone)
- (split-string (plist-get o :timezone) " ")
- (list "UTC")))
- emacsconf-timezones)))
- (emacsconf-timezone-strings o))
- "\n")
- draft-schedule))
- (cdr group)
- "\n----------------------------------------------------------------\n")
- :reply-by
- (format-time-string "%b %-e (%a)" reply-by-date emacsconf-timezone)
- :timezone-note
- (if (plist-get (cadr group) :timezone)
- (format "I've included timezone conversion to %s. Let me know if you'd like me to use a different timezone in future e-mails."
- (plist-get (cadr group) :timezone) " ")
- "I can translate times into your local timezone. Let me know what timezone you'd like me to use.")
- :availability-note
- (cond
- ((seq-find (lambda (o) (string-match "yes" (or (plist-get o :availability) ""))) (cdr group))
- (format "I think you've indicated that you're available during the conference."))
- ((seq-find (lambda (o) (string-match "not indicated" (or (plist-get o :availability) ""))) (cdr group))
- (format "I think you didn't indicate any particular availability constraints in your submission."))
- (t (format "I think it respects your indicated availability, which we've noted as %s."
- (string-join
- (seq-uniq
- (mapcar
- (lambda (o) (format "\"%s\"" (plist-get o :availability)))
- (cdr group)))
- " and "))))))))
-#+end_src
-
-**** Template
-:PROPERTIES:
-:EMAIL_ID: check-sched
-:SUBJECT: EmacsConf draft schedule: ${titles}
-:REPLY_TO: emacsconf-submit@gnu.org, ${email}
-:MAIL_FOLLOWUP_TO: emacsconf-submit@gnu.org, ${email}
-:CC: emacsconf-submit@gnu.org
-:FUNCTION: emacsconf-mail-schedule
-:END:
-Hi, ${speakers-short}!
-
-Here's the tentative schedule for when your EmacsConf talk${plural}
-will be streamed. Your talk${plural} will be streamed once, but I've
-included a few timezone conversions for convenience.
-
-----------------------------------------------------------------
-${schedule}
-----------------------------------------------------------------
-
-${availability-note} You'll also have time for Q&A afterwards, which
-can be as short or as long as you like. We'll send you more
-information about how the Q&A will work as the conference gets closer.${wrap}
-
-If you'd like to see the other talks for context, you can check out
-the draft schedule at https://emacsconf.org/${year}/draft-schedule/ .
-The times may move around a bit as we update the schedule, so I'll
-check in with you if things change a lot. ${coordination-note} ${wrap}
-
-We'd like to publish the schedule this month, so we'd love to hear
-from you by *${reply-by}* if the times don't work for you. (We can shuffle
-things around even after that date if something comes up.) Also, if
-you think your talk${plural} would go better next to a different talk, please
-let us know. ${timezone-note} Please keep emacsconf-submit@gnu.org in
-To or Cc when replying. Thanks!${wrap}
-
-Sacha
-**** Schedule change affecting dev
-:PROPERTIES:
-:SUBJECT: EmacsConf draft schedule update: ${titles}
-:REPLY_TO: emacsconf-submit@gnu.org, ${email}
-:MAIL_FOLLOWUP_TO: emacsconf-submit@gnu.org, ${email}
-:CC: emacsconf-submit@gnu.org
-:FUNCTION: emacsconf-mail-schedule-update
-:SLUGS: asmblox wayland localizing treesitter lspbridge dbus
-:EMAIL_ID: sched-change
-:END:
-
-Quick update!
-
-I tweaked the schedule to accommodate some schedule requests. Please
-check https://emacsconf.org/${year}/draft-schedule/ to see the current
-schedule for your talk. The main change is that the localizing talk is
-now on Sunday afternoon, so asmblox and wayland are on Saturday
-morning along with treesitter and lspbridge, and dbus has moved a
-little earlier on Sunday afternoon. Thanks for your patience!
-
-----------------------------------------------------------------
-${schedule}
-----------------------------------------------------------------
-
-Sacha
-
-*** TODO Send program-published email for emacsconf-discuss :needsowner:timesensitive:email:
+** TODO Send program-published email for emacsconf-discuss :needsowner:timesensitive:email:
DEADLINE: <2022-10-14 Fri> SCHEDULED: <2022-10-11 Tue>
:PROPERTIES:
:CUSTOM_ID: announce-program
:END:
Probably post schedule instead if available by that date
-**** TODO Post it to r/emacs as well :reddit:zaeph:
+*** TODO Post it to r/emacs as well :reddit:zaeph:
Please let zaeph know when it’s live so that the post can be distinguished.
-**** Template
+*** Template
Greetings, fellow Emacsians!
@@ -380,13 +195,13 @@ reasonably well for as many of our speakers as possible with respect
to their availability, and will add the allocated time slots for the
talks in the coming weeks.
-*** BLOCKED Prepare email for nudging speakers to send prerec, and inform on upload workflow :timesensitive:needsowner:
+** BLOCKED Prepare email for nudging speakers to send prerec, and inform on upload workflow :timesensitive:needsowner:
:PROPERTIES:
:CUSTOM_ID: mail-upload
:END:
Blocked by [[*Figure out web-based file upload][Figure out web-based file upload]]
-** Projects and other long-running tasks
+* Projects and other long-running tasks
:PROPERTIES:
:CUSTOM_ID: projects
:END:
@@ -394,7 +209,7 @@ Blocked by [[*Figure out web-based file upload][Figure out web-based file upload
#+TOC: headlines 1 local
Ordered by importance.
-*** TODO [#A] Figure out web-based file upload :needsowner:zaeph:bandali:ansible:sachac:
+** TODO [#A] Figure out web-based file upload :needsowner:zaeph:bandali:ansible:sachac:
:PROPERTIES:
:CUSTOM_ID: upload
:END:
@@ -431,10 +246,10 @@ Considerations:
- https://github.com/YouTransfer/YouTransfer
- https://github.com/psi-4ward/psitransfer
- NextCloud
-**** TODO Create 2022/upload.md with the same workflow as last year for a start
-**** BLOCKED Implement new workflow
-**** BLOCKED Notify speakers when the final solution is available
-*** TODO Coordinate and help volunteers :sachac:
+*** TODO Create 2022/upload.md with the same workflow as last year for a start
+*** BLOCKED Implement new workflow
+*** BLOCKED Notify speakers when the final solution is available
+** TODO Coordinate and help volunteers :sachac:
:PROPERTIES:
:CUSTOM_ID: coordinate-volunteers
:END:
@@ -444,28 +259,28 @@ Considerations:
comfortable signing up for tasks. ex:
https://wiki.debian.org/DebConf/21/VideoVolunteering
- Encourage people to sign up for [[#shifts]]
-*** TODO Prepare for prerecs :zaeph:
+** TODO Prepare for prerecs :zaeph:
DEADLINE: <2022-10-28 Fri>
:PROPERTIES:
:CUSTOM_ID: prepare-prerec-process
:END:
-**** TODO Optimize ffmpeg incantation
+*** TODO Optimize ffmpeg incantation
Remember to update [[file:prepare.md::Compression]] with the new incantation.
-**** TODO Figure out workflow for handling submitted prerecs
+*** TODO Figure out workflow for handling submitted prerecs
We need time after the prerecs get submitted to:
- convert the videos and check that they've been reencoded properly by watching the re-encoded ones all the way to the end
- caption videos
- capture any extra info
- follow up with missing prerecs
-*** TODO Delete all the EmacsConf BBB rooms from last year :chore:bbb:
+** TODO Delete all the EmacsConf BBB rooms from last year :chore:bbb:
:PROPERTIES:
:CUSTOM_ID: bbb-cleanup
:END:
For the admins on BBB. The list is accessible here: [[https://bbb.emacsverse.org/b/admins/rooms][Organization Settings]].
Should take no more than ~20′.
-*** TODO Plan Etherpad use and hosting :sachac:ansible:
+** TODO Plan Etherpad use and hosting :sachac:ansible:
:PROPERTIES:
:CUSTOM_ID: etherpad
:END:
@@ -474,11 +289,11 @@ Should take no more than ~20′.
- Per-pad, nicely structured info with abstract, watching information, etc. CarpentryCon 2022 Schedule • CarpentryCon 2022 https://2022.carpentrycon.org/
- One pad per session: https://meta.wikimedia.org/wiki/Arctic_Knot_Conference_2021/Program#Friday,_June_25th
- [[https://community.jitsi.org/t/tutorial-etherpad-integration-in-jitsi-meetings/99697][Etherpad integration in Jitsi ]]
-*** TODO Update IRC instructions because of multiple tracks
+** TODO Update IRC instructions because of multiple tracks
:PROPERTIES:
:CUSTOM_ID: irc
:END:
-*** TODO Investigate streaming options, maybe OBS in the cloud :corwin:zaeph:
+** TODO Investigate streaming options, maybe OBS in the cloud :corwin:zaeph:
DEADLINE: <2022-11-20 Sun>
:PROPERTIES:
:CUSTOM_ID: streaming
@@ -498,39 +313,37 @@ Resources:
- https://askubuntu.com/questions/817970/how-to-setup-multiple-simultaneous-access-to-x11vnc-session
- https://xpra.org/
-**** TODO corwin: plan an approach to use a centralized OBS/nginix "bouncer" :corwin:
-**** TODO corwin: document such that someone else could use/fix it :corwin:
-**** TODO corwin: recruit at least one more person to help operate the "video bouncer" :corwin:
+*** TODO corwin: plan an approach to use a centralized OBS/nginix "bouncer" :corwin:
+*** TODO corwin: document such that someone else could use/fix it :corwin:
+*** TODO corwin: recruit at least one more person to help operate the "video bouncer" :corwin:
-*** TODO Work on the OBS scenes :zaeph:corwin:
+** TODO Work on the OBS scenes :zaeph:corwin:
DEADLINE: <2022-11-11 Fri>
:PROPERTIES:
:CUSTOM_ID: obs-scenes
:END:
- [ ] corwin is out from Nov 11-20, and we should start working on them before then.
-*** TODO Build up the ansible playbook :sachac:
+** TODO Build up the ansible playbook :sachac:
:PROPERTIES:
:CUSTOM_ID: ansible
:END:
git@git.emacsconf.org:pub/emacsconf-ansible
can currently publish
-**** TODO Get ansible to run against a clean docker
-**** TODO Add ikiwiki template to ansible
+*** TODO Get ansible to run against a clean docker
+*** TODO Add ikiwiki template to ansible
-*** BLOCKED Make intro and exit sequence
+** BLOCKED Make something to display between talks
:PROPERTIES:
:CREATED: [2022-10-03 Mon 07:50]
:CUSTOM_ID: intro
:END:
-Intro:
-Next: title, speaker, pronouns, talk page
+In between talks
+- Previous talk: title, speaker, pronouns, talk page, Q&A information
+- Next talk: title, speaker, pronouns, talk page, Q&A information, countdown
-Exit:
-Title, speaker, pronouns, talk page, Q&A
-
-Needs to wait for pad decision, or have friendly URLs redirect to the right pads
+If it's static, this needs to wait for pad decision, or have friendly URLs redirect to the right pads
- Good: Static image, maybe created with LaTeX
- Better: Looping video with unobtrusive sound so people can doublecheck that their audio works
@@ -539,7 +352,7 @@ Needs to wait for pad decision, or have friendly URLs redirect to the right pads
See break commercials
https://www.collabmagazine.com/organizing-a-multi-track-virtual-conference-with-microsoft-teams-live-events-a-technical-playbook-and-lessons-learned/
-*** DONE Move scheduling and publishing code to Emacs on a VPS so that other people can help out :sachac:
+** DONE Move scheduling and publishing code to Emacs on a VPS so that other people can help out :sachac:
:PROPERTIES:
:CUSTOM_ID: publishing-sched
:END:
@@ -557,23 +370,23 @@ Where:
- probably good to set it up on front
It's now on front.
-*** STANDBY Add nice-to-have stuff to prepare.md :zaeph:
+** STANDBY Add nice-to-have stuff to prepare.md :zaeph:
:PROPERTIES:
:CUSTOM_ID: extra-prepare
:END:
- org-reveal config
- SIL fonts choice
-*** INPROGRESS Find volunteers for tech-checks :zaeph:
+** INPROGRESS Find volunteers for tech-checks :zaeph:
:PROPERTIES:
:CUSTOM_ID: tech-checks
:END:
-**** DONE Add entry in 2022/volunteer.md
-**** INPROGRESS Write protocol for adding tech-checker volunteer
+*** DONE Add entry in 2022/volunteer.md
+*** INPROGRESS Write protocol for adding tech-checker volunteer
- Invite volunteer to BBB (ask core organizers)
- Update [[file:prepare.md::Tech-check]] with new tech-checker info
- Coach tech-checker on the protocol
-**** INPROGRESS Write the tech-checking protocol (formerly referred to as “tech-checklist”)
+*** INPROGRESS Write the tech-checking protocol (formerly referred to as “tech-checklist”)
From previous years:
#+begin_quote
- Can you speak and be heard? Is there echo?
@@ -585,24 +398,24 @@ From previous years:
- Can you share contact information (ex: phone number) so that we can get in touch with you in case of technical issues or scheduling changes?
- Do you need help finding your way around IRC so that you can check into `#emacsconf-org`? What is your IRC nickname?
#+end_quote
-*** STANDBY Update viewing instructions and watch pages :zaeph:
+** STANDBY Update viewing instructions and watch pages :zaeph:
:PROPERTIES:
:CUSTOM_ID: write-viewing
:END:
Extra stuff to consider adding:
- Suggestions for mpv-filter to invert colourscape.
Also add to watch page
-*** TODO Make talk pages easy to update when the talk is live :sachac:
+** TODO Make talk pages easy to update when the talk is live :sachac:
:PROPERTIES:
:CUSTOM_ID: publish-live
:END:
-*** BLOCKED Set up talks on Toobnix and YouTube :sachac:
+** BLOCKED Set up talks on Toobnix and YouTube :sachac:
:PROPERTIES:
:CUSTOM_ID: video-platforms
:END:
so that people can find the videos on other video platforms
waiting for prerecs
-*** TODO Set up stream events on Toobnix and YouTube :sachac:
+** TODO Set up stream events on Toobnix and YouTube :sachac:
:PROPERTIES:
:CUSTOM_ID: other-streams
:END:
@@ -613,7 +426,7 @@ so that people on other platforms can come across EmacsConf
MOUNT=$1
while true; do ffmpeg -loglevel 24 -i http://localhost:8000/main.webm -cluster_size_limit 2M -cluster_time_limit 5100 -b:v 1M -crf 30 -g 125 -deadline good -threads 4 -vcodec libx264 -acodec libmp3lame -f flv $MOUNT; done
#+end_src
-*** TODO Prepare to announce talks on IRC
+** TODO Prepare to announce talks on IRC
:PROPERTIES:
:CUSTOM_ID: irc-announce
:END:
@@ -625,14 +438,14 @@ so that people on other platforms can come across EmacsConf
- a small announcement might go into the other track as well
- announcement can include talk page, pad, IRC nick, pronouns
-*** TODO Ask speakers for bios or support nudges to include on their talk pages
+** TODO Ask speakers for bios or support nudges to include on their talk pages
:PROPERTIES:
:CUSTOM_ID: speaker-bio
:END:
maybe after we get the prerecs
ex: liberapay, patreon, anyone looking for a job, etc.
-*** BLOCKED Do a dry run
+** BLOCKED Do a dry run
:PROPERTIES:
:CUSTOM_ID: dry-run
:END:
@@ -663,13 +476,13 @@ ex: liberapay, patreon, anyone looking for a job, etc.
- [ ] Message on the schedule
- [ ] Prerec live
- [ ] Wind everything down
-*** TODO [#C] Figure out why ikiwiki is slow :infra:wiki:
+** TODO [#C] Figure out why ikiwiki is slow :infra:wiki:
:PROPERTIES:
:CUSTOM_ID: ikiwiki-regex
:END:
complex regular expression issues?
should the captions be outside the wiki?
-*** TODO [#C] Add category tags and possibly links between talks across 2022 and all previous years :needsowner:wiki:
+** TODO [#C] Add category tags and possibly links between talks across 2022 and all previous years :needsowner:wiki:
:PROPERTIES:
:CUSTOM_ID: link-pages
:END:
@@ -684,12 +497,12 @@ should the captions be outside the wiki?
- You can create new categories by making up new CategoryNames.
- You can also link to a talk with a link like this: =\[[/2022/talks/maint|Maintaining the Maintainers: Attribution as an Economic Model for Open Source]]=
You can make a new heading called =# Related talks=
-** Projects to bear in mind but which are not actual
+* Projects to bear in mind but which are not actual
:PROPERTIES:
:CUSTOM_ID: maybe-projects
:END:
-*** STANDBY Find a way to accommodate a specific return-speaker
+** STANDBY Find a way to accommodate a specific return-speaker
We’re not sure if we’re going to get a presentation or a prerec for them
this year, but we need to keep this at the back of our minds.
@@ -703,38 +516,6 @@ https://www.mail-archive.com/search?l=debconf-team@lists.debian.org&q=subject:%2
#+TOC: headlines 1 local
-** How fancy do we want to get this year? (overall prioritization)
-:PROPERTIES:
-:CUSTOM_ID: overall
-:END:
-
-*bold* is our current goal. This table makes it easier to move the
-slider depending on who wants to volunteer and how much we can get
-done. At some point, we'll figure out how to track our current status
-so we know what we need to scramble to do.
-
-| | Good | Better | Best |
-|-------------------+-------------------------------------+--------------------------------------+------------------------------------------------------|
-| [[#sched-decision][schedule]] | one track | *DONE S: two tracks* | aligned times, full roster |
-| schedule view | text table | S: imagemap fallback | *DONE S: interactive SVG* |
-| [[#upload][upload]] | FTP | *S?: web-based* | auto-encoded, preview (SReview?) |
-| [[#streaming][streaming]] | ffmpeg from computer | DONE OBS | *Z: OBS in cloud, switchable hosts* |
-| [[#prepare-prerec-process][prerec]] | DONE play original with captions | Z: normalize audio | *S: post as soon as talk is live* |
-| BBB rooms | about 5 rooms that we cycle through | | *one room per speaker* |
-| host | no host, speaker reads pad | *host reads pad* | host monitors IRC and helps with BBB as well |
-| BBB Q&A | none | *DONE open to community* | moderated by speaker and host |
-| [[#write-viewing][watch page]] | tracks | *S: + IRC* | + talk info, maybe even pad |
-| [[#etherpad][pad]] | one pad for conf | one pad per talk, wikimedia | *one pad per talk, self-hosted* so we can access API |
-| [[#irc][IRC]] | #emacsconf, -org | *tracks, hallway, org* | IRC volunteer copying to pads; maybe even IRC bots |
-| [[#irc-announce][IRC announcements]] | *ERC commands* | timer-based | |
-| [[#publishing-sched][sched update]] | *S: publish at start* | update main sched | update talk pages |
-| [[#publish-live][talk pages]] | S: link to stream, pad, IRC | *link to prerec when live* | embed stream, pad, IRC, prerec |
-| [[#other-streams][other streams]] | 480p | + Toobnix | *S: + YouTube* |
-| [[#video-platforms][other platforms]] | *S: Toobnix & YT after event* | | S: Toobnix + YT when live |
-| [[#wiki-design][wiki]] | plain text, markdown | *sachac: some JS and CSS enrichment* | more JS and CSS, embeds, videoplayer |
-| [[#intro][intro and exit]] | *generic static image* | per-talk image | Emacs thing so we can display info, countdowns, IRC |
-| [[#ansible][ansible]] | none | *sachac: some automation* | comprehensive, can also work against containers |
-
** How do we want to make the full schedule more manageable?
:PROPERTIES:
:CUSTOM_ID: sched-decision
@@ -2080,6 +1861,230 @@ Process for accepting a talk:
- Log the acceptance using ~C-c C-z~ in the talk subtree in ~conf.org~, noting the number of minutes.
- Change the status to TO_CONFIRM.
+** DONE Remind people about confirming e-mail communications :sachac:email:speakers:
+CLOSED: [2022-10-08 Sat 18:55] SCHEDULED: <2022-10-08 Sat>
+:PROPERTIES:
+:CUSTOM_ID: confirm-email
+:END:
+
+Look for the TO_CONFIRM status in conf.org, probably include in schedule e-mail
+** DONE Send people schedule information and doublecheck their availability/Q&A preference :sachac:email:speakers:sched:
+CLOSED: [2022-10-09 Sun 09:38] SCHEDULED: <2022-10-08 Sat>
+:PROPERTIES:
+:CUSTOM_ID: check-sched
+:END:
+
+#+begin_src emacs-lisp
+(defun emacsconf-mail-schedule (group &optional template)
+ "Send draft schedule.
+GROUP is (email . (talk talk))"
+ (interactive (list (emacsconf-mail-complete-email-group)))
+ (require 'emacsconf-ical)
+ (let ((reply-by-date (date-to-time "2022-10-14"))
+ (draft-schedule (concat emacsconf-base-url emacsconf-year "/draft-schedule/")))
+ (emacsconf-mail-prepare
+ (or template (emacsconf-mail-merge-get-template "check-sched"))
+ group
+ (list
+ :titles
+ (mapconcat (lambda (o) (format "%s: %s"
+ (plist-get o :slug)
+ (format-time-string
+ "%b %-e %-I:%M %#p %Z"
+ (plist-get o :start-time)
+ emacsconf-timezone)))
+ (cdr group) "; ")
+ :draft-schedule
+ draft-schedule
+ :speakers-short
+ (plist-get (cadr group) :speakers-short)
+ :plural
+ (if (= (length (cdr group)) 1) "" "s")
+ :email
+ (plist-get (cadr group) :email)
+ :year
+ (or (plist-get (cadr group) :year) emacsconf-year)
+ :coordination-note
+ (if (seq-find (lambda (o) (member (plist-get o :slug) '("journalism" "rolodex" "orgsuperlinks" "buttons" "hyperorg" "science")))
+ (cdr group))
+ "I've changed the order slightly from the coordination e-mail I sent you. The sequence is now journalism - science - rolodex - orgsuperlinks - buttons - hyperorg. science is now second instead of last, and the first two talks are on Sat while the last four are on Sun. That probably means you don't have to coordinate as much, but you can still do so if you would like to build on other people's talks."
+ "")
+ :schedule
+ (mapconcat
+ (lambda (o) (format "* TODO Check time for \"%s\" (%s) :emacsconf:\nDEADLINE: %s\n(Not a hard deadline, just encouragement to e-mail us before that date if you can)\nPlease e-mail [[mailto:emacsconf-submit@gnu.org]] if you need it changed\n%s track\n%s\nIn context: %s"
+ (plist-get o :title)
+ (plist-get o :slug)
+ (format-time-string (car org-time-stamp-formats) reply-by-date emacsconf-timezone)
+ (plist-get o :track)
+ (string-join
+ (let ((emacsconf-timezones
+ (if (plist-get o :timezone)
+ (seq-uniq (append (list emacsconf-timezone)
+ (split-string (plist-get o :timezone) " ")
+ (list "UTC")))
+ emacsconf-timezones)))
+ (emacsconf-timezone-strings o))
+ "\n")
+ draft-schedule))
+ (cdr group)
+ "\n----------------------------------------------------------------\n")
+ :reply-by
+ (format-time-string "%b %-e (%a)" reply-by-date emacsconf-timezone)
+ :timezone-note
+ (if (plist-get (cadr group) :timezone)
+ (format "I've included timezone conversion to %s. Let me know if you'd like me to use a different timezone in future e-mails."
+ (plist-get (cadr group) :timezone) " ")
+ "I can translate times into your local timezone. Let me know what timezone you'd like me to use.")
+ :availability-note
+ (cond
+ ((seq-find (lambda (o) (string-match "yes" (or (plist-get o :availability) ""))) (cdr group))
+ (format "I think you've indicated that you're available during the conference."))
+ ((seq-find (lambda (o) (string-match "not indicated" (or (plist-get o :availability) ""))) (cdr group))
+ (format "I think you didn't indicate any particular availability constraints in your submission."))
+ (t (format "I think it respects your indicated availability, which we've noted as %s."
+ (string-join
+ (seq-uniq
+ (mapcar
+ (lambda (o) (format "\"%s\"" (plist-get o :availability)))
+ (cdr group)))
+ " and "))))))))
+
+(defun emacsconf-mail-schedule-update (group &optional template)
+ "Send draft schedule update.
+GROUP is (email . (talk talk))"
+ (interactive (list (emacsconf-mail-complete-email-group)))
+ (require 'emacsconf-ical)
+ (let ((reply-by-date (date-to-time "2022-10-14"))
+ (draft-schedule (concat emacsconf-base-url emacsconf-year "/draft-schedule/")))
+ (emacsconf-mail-prepare
+ (or template (emacsconf-mail-merge-get-template "check-sched"))
+ group
+ (list
+ :titles
+ (mapconcat (lambda (o) (format "%s: %s"
+ (plist-get o :slug)
+ (format-time-string
+ "%b %-e %-I:%M %#p %Z"
+ (plist-get o :start-time)
+ emacsconf-timezone)))
+ (cdr group) "; ")
+ :draft-schedule
+ draft-schedule
+ :speakers-short
+ (plist-get (cadr group) :speakers-short)
+ :plural
+ (if (= (length (cdr group)) 1) "" "s")
+ :email
+ (plist-get (cadr group) :email)
+ :year
+ (or (plist-get (cadr group) :year) emacsconf-year)
+ :coordination-note
+ (if (seq-find (lambda (o) (member (plist-get o :slug) '("journalism" "rolodex" "orgsuperlinks" "buttons" "hyperorg" "science")))
+ (cdr group))
+ "I've changed the order slightly from the coordination e-mail I sent you. The sequence is now journalism - science - rolodex - orgsuperlinks - buttons - hyperorg. science is now second instead of last, and the first two talks are on Sat while the last four are on Sun. That probably means you don't have to coordinate as much, but you can still do so if you would like to build on other people's talks."
+ "")
+ :schedule
+ (mapconcat
+ (lambda (o) (format "\"%s\" (%s)\n%s track\n%s\nIn context: %s"
+ (plist-get o :title)
+ (plist-get o :slug)
+ (plist-get o :track)
+ (string-join
+ (let ((emacsconf-timezones
+ (if (plist-get o :timezone)
+ (seq-uniq (append (list emacsconf-timezone)
+ (split-string (plist-get o :timezone) " ")
+ (list "UTC")))
+ emacsconf-timezones)))
+ (emacsconf-timezone-strings o))
+ "\n")
+ draft-schedule))
+ (cdr group)
+ "\n----------------------------------------------------------------\n")
+ :reply-by
+ (format-time-string "%b %-e (%a)" reply-by-date emacsconf-timezone)
+ :timezone-note
+ (if (plist-get (cadr group) :timezone)
+ (format "I've included timezone conversion to %s. Let me know if you'd like me to use a different timezone in future e-mails."
+ (plist-get (cadr group) :timezone) " ")
+ "I can translate times into your local timezone. Let me know what timezone you'd like me to use.")
+ :availability-note
+ (cond
+ ((seq-find (lambda (o) (string-match "yes" (or (plist-get o :availability) ""))) (cdr group))
+ (format "I think you've indicated that you're available during the conference."))
+ ((seq-find (lambda (o) (string-match "not indicated" (or (plist-get o :availability) ""))) (cdr group))
+ (format "I think you didn't indicate any particular availability constraints in your submission."))
+ (t (format "I think it respects your indicated availability, which we've noted as %s."
+ (string-join
+ (seq-uniq
+ (mapcar
+ (lambda (o) (format "\"%s\"" (plist-get o :availability)))
+ (cdr group)))
+ " and "))))))))
+#+end_src
+
+*** Template
+:PROPERTIES:
+:EMAIL_ID: check-sched
+:SUBJECT: EmacsConf draft schedule: ${titles}
+:REPLY_TO: emacsconf-submit@gnu.org, ${email}
+:MAIL_FOLLOWUP_TO: emacsconf-submit@gnu.org, ${email}
+:CC: emacsconf-submit@gnu.org
+:FUNCTION: emacsconf-mail-schedule
+:END:
+Hi, ${speakers-short}!
+
+Here's the tentative schedule for when your EmacsConf talk${plural}
+will be streamed. Your talk${plural} will be streamed once, but I've
+included a few timezone conversions for convenience.
+
+----------------------------------------------------------------
+${schedule}
+----------------------------------------------------------------
+
+${availability-note} You'll also have time for Q&A afterwards, which
+can be as short or as long as you like. We'll send you more
+information about how the Q&A will work as the conference gets closer.${wrap}
+
+If you'd like to see the other talks for context, you can check out
+the draft schedule at https://emacsconf.org/${year}/draft-schedule/ .
+The times may move around a bit as we update the schedule, so I'll
+check in with you if things change a lot. ${coordination-note} ${wrap}
+
+We'd like to publish the schedule this month, so we'd love to hear
+from you by *${reply-by}* if the times don't work for you. (We can shuffle
+things around even after that date if something comes up.) Also, if
+you think your talk${plural} would go better next to a different talk, please
+let us know. ${timezone-note} Please keep emacsconf-submit@gnu.org in
+To or Cc when replying. Thanks!${wrap}
+
+Sacha
+*** Schedule change affecting dev
+:PROPERTIES:
+:SUBJECT: EmacsConf draft schedule update: ${titles}
+:REPLY_TO: emacsconf-submit@gnu.org, ${email}
+:MAIL_FOLLOWUP_TO: emacsconf-submit@gnu.org, ${email}
+:CC: emacsconf-submit@gnu.org
+:FUNCTION: emacsconf-mail-schedule-update
+:SLUGS: asmblox wayland localizing treesitter lspbridge dbus
+:EMAIL_ID: sched-change
+:END:
+
+Quick update!
+
+I tweaked the schedule to accommodate some schedule requests. Please
+check https://emacsconf.org/${year}/draft-schedule/ to see the current
+schedule for your talk. The main change is that the localizing talk is
+now on Sunday afternoon, so asmblox and wayland are on Saturday
+morning along with treesitter and lspbridge, and dbus has moved a
+little earlier on Sunday afternoon. Thanks for your patience!
+
+----------------------------------------------------------------
+${schedule}
+----------------------------------------------------------------
+
+Sacha
+
* Communications
:PROPERTIES:
:CUSTOM_ID: comms
diff --git a/2022/organizers-notebook/schedule.svg b/2022/organizers-notebook/schedule.svg
index ddedfb3c..f9d9b195 100644
--- a/2022/organizers-notebook/schedule.svg
+++ b/2022/organizers-notebook/schedule.svg
@@ -1 +1 @@
-<svg width="800" height="200" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" background="white"> <g transform="translate(0,0)"> <rect width="800" height="100" x="0" y="0" fill="white"></rect> <text font-size="10" fill="black" y="12" x="3"> Saturday</text> <a href="/" title="GEN Saturday, December 3"> <title> GEN Saturday, December 3</title> <rect x="0" y="15" opacity="0.8" width="-117287" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(-117289,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> GEN Saturday, December 3</text></g></a> <a href="/2022/talks/" title="Saturday opening remarks"> <title> Saturday opening remarks</title> <rect x="0" y="15" opacity="0.8" width="7" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(5,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> Saturday opening remarks</text></g></a> <a href="/2022/talks/journalism" title="Emacs journalism (or everything's a nail if you hit it with Emacs)"> <title> Emacs journalism (or everything's a nail if you hit it with Emacs)</title> <rect x="7" y="15" opacity="0.8" width="29" height="34" stroke="black" stroke-dasharray="" fill="lightgray"></rect> <g transform="translate(34,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> journalism</text></g></a> <a href="/2022/talks/school" title="Back to school with Emacs"> <title> Back to school with Emacs</title> <rect x="66" y="15" opacity="0.8" width="29" height="34" stroke="black" stroke-dasharray="5,5,5" fill="lightgreen"></rect> <g transform="translate(93,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> school</text></g></a> <a href="/2022/talks/handwritten" title="How to incorporate handwritten notes into Emacs Orgmode"> <title> How to incorporate handwritten notes into Emacs Orgmode</title> <rect x="111" y="15" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="" fill="lightgray"></rect> <g transform="translate(123,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> handwritten</text></g></a> <a href="/" title="BREAK"> <title> BREAK</title> <rect x="155" y="15" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="" fill="white"></rect> <g transform="translate(167,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> BREAK</text></g></a> <a href="/2022/talks/science" title="Writing and organizing literature notes for scientific writing"> <title> Writing and organizing literature notes for scientific writing</title> <rect x="170" y="15" opacity="0.8" width="29" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(197,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> science</text></g></a> <a href="/" title="LUNCH"> <title> LUNCH</title> <rect x="266" y="15" opacity="0.8" width="88" height="34" stroke="black" stroke-dasharray="" fill="white"></rect> <g transform="translate(352,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> LUNCH</text></g></a> <a href="/2022/talks/meetups" title="Attending and organizing Emacs meetups"> <title> Attending and organizing Emacs meetups</title> <rect x="355" y="15" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="" fill="lightgray"></rect> <g transform="translate(367,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> meetups</text></g></a> <a href="/2022/talks/buddy" title="The Emacs Buddy initiative"> <title> The Emacs Buddy initiative</title> <rect x="400" y="15" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="5,5,5" fill="lightgreen"></rect> <g transform="translate(412,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> buddy</text></g></a> <a href="/2022/talks/community" title="The ship that builds itself: How we used Emacs to develop a workshop for communities"> <title> The ship that builds itself: How we used Emacs to develop a workshop for communities</title> <rect x="429" y="15" opacity="0.8" width="44" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(471,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> community</text></g></a> <a href="/" title="BREAK"> <title> BREAK</title> <rect x="503" y="15" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="" fill="white"></rect> <g transform="translate(515,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> BREAK</text></g></a> <a href="/2022/talks/realestate" title="Real estate and Org table formulas"> <title> Real estate and Org table formulas</title> <rect x="518" y="15" opacity="0.8" width="29" height="34" stroke="black" stroke-dasharray="5,5,5" fill="lightgreen"></rect> <g transform="translate(545,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> realestate</text></g></a> <a href="/2022/talks/health" title="Health data journaling and visualization with Org Mode and GNUplot"> <title> Health data journaling and visualization with Org Mode and GNUplot</title> <rect x="562" y="15" opacity="0.8" width="29" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(589,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> health</text></g></a> <a href="/2022/talks/jupyter" title="Edit live Jupyter notebook cells with Emacs"> <title> Edit live Jupyter notebook cells with Emacs</title> <rect x="622" y="15" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(634,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> jupyter</text></g></a> <a href="/2022/talks/orgvm" title="orgvm: a simple HTTP server for org"> <title> orgvm: a simple HTTP server for org</title> <rect x="666" y="15" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(678,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> orgvm</text></g></a> <a href="/2022/talks/" title="Saturday closing remarks"> <title> Saturday closing remarks</title> <rect x="711" y="15" opacity="0.8" width="7" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(716,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> Saturday closing remarks</text></g></a> <a href="/" title="GEN Sunday, December 4"> <title> GEN Sunday, December 4</title> <rect x="2133" y="15" opacity="0.8" width="-119420" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(-117289,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> GEN Sunday, December 4</text></g></a> <a href="/2022/talks/" title="Sunday opening remarks"> <title> Sunday opening remarks</title> <rect x="2133" y="15" opacity="0.8" width="7" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(2138,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> Sunday opening remarks</text></g></a> <a href="/2022/talks/survey" title="Results of the 2022 Emacs Survey"> <title> Results of the 2022 Emacs Survey</title> <rect x="2140" y="15" opacity="0.8" width="29" height="34" stroke="black" stroke-dasharray="5,5,5" fill="lightgray"></rect> <g transform="translate(2167,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> survey</text></g></a> <a href="/2022/talks/orgyear" title="This Year in Org"> <title> This Year in Org</title> <rect x="2185" y="15" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="5,5,5" fill="lightgray"></rect> <g transform="translate(2197,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> orgyear</text></g></a> <a href="/2022/talks/rolodex" title="Build a Zettelkasten with the Hyperbole Rolodex"> <title> Build a Zettelkasten with the Hyperbole Rolodex</title> <rect x="2222" y="15" opacity="0.8" width="29" height="34" stroke="black" stroke-dasharray="5,5,5" fill="lightgray"></rect> <g transform="translate(2249,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> rolodex</text></g></a> <a href="/" title="BREAK"> <title> BREAK</title> <rect x="2266" y="15" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="" fill="white"></rect> <g transform="translate(2278,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> BREAK</text></g></a> <a href="/2022/talks/orgsuperlinks" title="Linking headings with org-super-links (poor-man's Zettelkasten)"> <title> Linking headings with org-super-links (poor-man's Zettelkasten)</title> <rect x="2281" y="15" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="" fill="lightgray"></rect> <g transform="translate(2293,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> orgsuperlinks</text></g></a> <a href="/2022/talks/buttons" title="Linking personal info with Hyperbole implicit buttons"> <title> Linking personal info with Hyperbole implicit buttons</title> <rect x="2325" y="15" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="" fill="lightgray"></rect> <g transform="translate(2337,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> buttons</text></g></a> <a href="/" title="LUNCH"> <title> LUNCH</title> <rect x="2400" y="15" opacity="0.8" width="88" height="34" stroke="black" stroke-dasharray="" fill="white"></rect> <g transform="translate(2486,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> LUNCH</text></g></a> <a href="/2022/talks/hyperorg" title="Powerful productivity with Hyperbole and Org Mode"> <title> Powerful productivity with Hyperbole and Org Mode</title> <rect x="2488" y="15" opacity="0.8" width="44" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(2530,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> hyperorg</text></g></a> <a href="/2022/talks/workflows" title="Org workflows for developers"> <title> Org workflows for developers</title> <rect x="2562" y="15" opacity="0.8" width="29" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(2589,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> workflows</text></g></a> <a href="/2022/talks/grail" title="GRAIL---A Generalized Representation and Aggregation of Information Layers"> <title> GRAIL---A Generalized Representation and Aggregation of Information Layers</title> <rect x="2622" y="15" opacity="0.8" width="29" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(2649,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> grail</text></g></a> <a href="/" title="BREAK"> <title> BREAK</title> <rect x="2681" y="15" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="" fill="white"></rect> <g transform="translate(2693,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> BREAK</text></g></a> <a href="/2022/talks/indieweb" title="Putting Org Mode on the Indieweb"> <title> Putting Org Mode on the Indieweb</title> <rect x="2696" y="15" opacity="0.8" width="29" height="34" stroke="black" stroke-dasharray="" fill="lightgray"></rect> <g transform="translate(2723,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> indieweb</text></g></a> <a href="/2022/talks/fanfare" title="Fanfare for the Common Emacs User"> <title> Fanfare for the Common Emacs User</title> <rect x="2755" y="15" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(2767,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> fanfare</text></g></a> <a href="/2022/talks/" title="Sunday closing remarks"> <title> Sunday closing remarks</title> <rect x="2844" y="15" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(2856,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> Sunday closing remarks</text></g></a> <a href="/" title="DEV Saturday, December 3"> <title> DEV Saturday, December 3</title> <rect x="88" y="15" opacity="0.8" width="-117376" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(-117290,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> DEV Saturday, December 3</text></g></a> <a href="/" title="DEV Sunday, December 4"> <title> DEV Sunday, December 4</title> <rect x="2222" y="15" opacity="0.8" width="-119509" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(-117289,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> DEV Sunday, December 4</text></g></a> <a href="/2022/talks/asmblox" title="asm-blox: a game based on WebAssembly that no one asked for"> <title> asm-blox: a game based on WebAssembly that no one asked for</title> <rect x="88" y="50" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(100,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> asmblox</text></g></a> <a href="/2022/talks/treesitter" title="Tree-sitter beyond syntax highlighting"> <title> Tree-sitter beyond syntax highlighting</title> <rect x="140" y="50" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="5,5,5" fill="lightgray"></rect> <g transform="translate(152,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> treesitter</text></g></a> <a href="/2022/talks/wayland" title="Emacs should become a Wayland compositor"> <title> Emacs should become a Wayland compositor</title> <rect x="170" y="50" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(182,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> wayland</text></g></a> <a href="/2022/talks/lspbridge" title="lsp-bridge: complete asynchronous LSP client"> <title> lsp-bridge: complete asynchronous LSP client</title> <rect x="222" y="50" opacity="0.8" width="29" height="34" stroke="black" stroke-dasharray="5,5,5" fill="lightgreen"></rect> <g transform="translate(249,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> lspbridge</text></g></a> <a href="/" title="LUNCH"> <title> LUNCH</title> <rect x="266" y="50" opacity="0.8" width="88" height="34" stroke="black" stroke-dasharray="" fill="white"></rect> <g transform="translate(352,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> LUNCH</text></g></a> <a href="/2022/talks/sqlite" title="Using SQLite as a data source: a framework and an example"> <title> Using SQLite as a data source: a framework and an example</title> <rect x="355" y="50" opacity="0.8" width="29" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(382,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> sqlite</text></g></a> <a href="/2022/talks/mail" title="Revisiting the anatomy of Emacs mail user agents"> <title> Revisiting the anatomy of Emacs mail user agents</title> <rect x="422" y="50" opacity="0.8" width="44" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(464,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> mail</text></g></a> <a href="/" title="BREAK"> <title> BREAK</title> <rect x="503" y="50" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="" fill="white"></rect> <g transform="translate(515,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> BREAK</text></g></a> <a href="/2022/talks/maint" title="Maintaining the Maintainers: Attribution as an Economic Model for Open Source"> <title> Maintaining the Maintainers: Attribution as an Economic Model for Open Source</title> <rect x="518" y="50" opacity="0.8" width="29" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(545,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> maint</text></g></a> <a href="/2022/talks/eev" title="Bidirectional links with eev"> <title> Bidirectional links with eev</title> <rect x="585" y="50" opacity="0.8" width="7" height="34" stroke="black" stroke-dasharray="5,5,5" fill="lightgreen"></rect> <g transform="translate(590,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> eev</text></g></a> <a href="/2022/talks/python" title="Short hyperlinks to Python docs"> <title> Short hyperlinks to Python docs</title> <rect x="607" y="50" opacity="0.8" width="7" height="34" stroke="black" stroke-dasharray="5,5,5" fill="lightgreen"></rect> <g transform="translate(612,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> python</text></g></a> <a href="/2022/talks/haskell" title="Haskell code exploration with Emacs"> <title> Haskell code exploration with Emacs</title> <rect x="629" y="50" opacity="0.8" width="44" height="34" stroke="black" stroke-dasharray="" fill="lightgray"></rect> <g transform="translate(671,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> haskell</text></g></a> <a href="/2022/talks/rde" title="rde Emacs introduction"> <title> rde Emacs introduction</title> <rect x="2222" y="50" opacity="0.8" width="29" height="34" stroke="black" stroke-dasharray="" fill="lightgray"></rect> <g transform="translate(2249,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> rde</text></g></a> <a href="/2022/talks/justl" title="justl: Driving recipes within Emacs"> <title> justl: Driving recipes within Emacs</title> <rect x="2288" y="50" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="5,5,5" fill="lightgray"></rect> <g transform="translate(2300,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> justl</text></g></a> <a href="/2022/talks/tramp" title="Elisp and the TRAMP: How to NOT write code you don't have to"> <title> Elisp and the TRAMP: How to NOT write code you don't have to</title> <rect x="2318" y="50" opacity="0.8" width="44" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(2360,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> tramp</text></g></a> <a href="/" title="LUNCH"> <title> LUNCH</title> <rect x="2400" y="50" opacity="0.8" width="88" height="34" stroke="black" stroke-dasharray="" fill="white"></rect> <g transform="translate(2486,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> LUNCH</text></g></a> <a href="/2022/talks/detached" title="Getting detached from Emacs"> <title> Getting detached from Emacs</title> <rect x="2488" y="50" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(2500,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> detached</text></g></a> <a href="/2022/talks/eshell" title="Top 10 reasons why you should be using Eshell"> <title> Top 10 reasons why you should be using Eshell</title> <rect x="2540" y="50" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="" fill="lightgray"></rect> <g transform="translate(2552,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> eshell</text></g></a> <a href="/2022/talks/async" title="Emacs was async before async was cool"> <title> Emacs was async before async was cool</title> <rect x="2592" y="50" opacity="0.8" width="29" height="34" stroke="black" stroke-dasharray="" fill="lightgray"></rect> <g transform="translate(2619,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> async</text></g></a> <a href="/" title="BREAK"> <title> BREAK</title> <rect x="2659" y="50" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="" fill="white"></rect> <g transform="translate(2671,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> BREAK</text></g></a> <a href="/2022/talks/dbus" title="The Wheels on D-Bus"> <title> The Wheels on D-Bus</title> <rect x="2674" y="50" opacity="0.8" width="29" height="34" stroke="black" stroke-dasharray="" fill="lightgray"></rect> <g transform="translate(2701,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> dbus</text></g></a> <a href="/2022/talks/localizing" title="Pre-localizing Emacs"> <title> Pre-localizing Emacs</title> <rect x="2755" y="50" opacity="0.8" width="29" height="34" stroke="black" stroke-dasharray="" fill="lightgray"></rect> <g transform="translate(2782,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> localizing</text></g></a> <g transform="translate(0,15)"> <line stroke="lightgray" x1="0" y1="0" x2="0" y2="70"></line> <text fill="darkgray" x="0" y="83" font-size="10" text-anchor="middle"> 9</text></g> <g transform="translate(88,15)"> <line stroke="lightgray" x1="0" y1="0" x2="0" y2="70"></line> <text fill="darkgray" x="0" y="83" font-size="10" text-anchor="middle"> 10</text></g> <g transform="translate(177,15)"> <line stroke="lightgray" x1="0" y1="0" x2="0" y2="70"></line> <text fill="darkgray" x="0" y="83" font-size="10" text-anchor="middle"> 11</text></g> <g transform="translate(266,15)"> <line stroke="lightgray" x1="0" y1="0" x2="0" y2="70"></line> <text fill="darkgray" x="0" y="83" font-size="10" text-anchor="middle"> 12</text></g> <g transform="translate(355,15)"> <line stroke="lightgray" x1="0" y1="0" x2="0" y2="70"></line> <text fill="darkgray" x="0" y="83" font-size="10" text-anchor="middle"> 1</text></g> <g transform="translate(444,15)"> <line stroke="lightgray" x1="0" y1="0" x2="0" y2="70"></line> <text fill="darkgray" x="0" y="83" font-size="10" text-anchor="middle"> 2</text></g> <g transform="translate(533,15)"> <line stroke="lightgray" x1="0" y1="0" x2="0" y2="70"></line> <text fill="darkgray" x="0" y="83" font-size="10" text-anchor="middle"> 3</text></g> <g transform="translate(622,15)"> <line stroke="lightgray" x1="0" y1="0" x2="0" y2="70"></line> <text fill="darkgray" x="0" y="83" font-size="10" text-anchor="middle"> 4</text></g> <g transform="translate(711,15)"> <line stroke="lightgray" x1="0" y1="0" x2="0" y2="70"></line> <text fill="darkgray" x="0" y="83" font-size="10" text-anchor="middle"> 5</text></g></g> <g transform="translate(0,100)"> <rect width="800" height="100" x="0" y="0" fill="white"></rect> <text font-size="10" fill="black" y="12" x="3"> Sunday</text> <a href="/" title="GEN Saturday, December 3"> <title> GEN Saturday, December 3</title> <rect x="-2134" y="15" opacity="0.8" width="-117287" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(-119423,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> GEN Saturday, December 3</text></g></a> <a href="/2022/talks/" title="Saturday opening remarks"> <title> Saturday opening remarks</title> <rect x="-2134" y="15" opacity="0.8" width="7" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(-2129,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> Saturday opening remarks</text></g></a> <a href="/2022/talks/journalism" title="Emacs journalism (or everything's a nail if you hit it with Emacs)"> <title> Emacs journalism (or everything's a nail if you hit it with Emacs)</title> <rect x="-2126" y="15" opacity="0.8" width="29" height="34" stroke="black" stroke-dasharray="" fill="lightgray"></rect> <g transform="translate(-2099,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> journalism</text></g></a> <a href="/2022/talks/school" title="Back to school with Emacs"> <title> Back to school with Emacs</title> <rect x="-2067" y="15" opacity="0.8" width="29" height="34" stroke="black" stroke-dasharray="5,5,5" fill="lightgreen"></rect> <g transform="translate(-2040,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> school</text></g></a> <a href="/2022/talks/handwritten" title="How to incorporate handwritten notes into Emacs Orgmode"> <title> How to incorporate handwritten notes into Emacs Orgmode</title> <rect x="-2023" y="15" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="" fill="lightgray"></rect> <g transform="translate(-2011,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> handwritten</text></g></a> <a href="/" title="BREAK"> <title> BREAK</title> <rect x="-1978" y="15" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="" fill="white"></rect> <g transform="translate(-1966,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> BREAK</text></g></a> <a href="/2022/talks/science" title="Writing and organizing literature notes for scientific writing"> <title> Writing and organizing literature notes for scientific writing</title> <rect x="-1963" y="15" opacity="0.8" width="29" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(-1936,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> science</text></g></a> <a href="/" title="LUNCH"> <title> LUNCH</title> <rect x="-1867" y="15" opacity="0.8" width="88" height="34" stroke="black" stroke-dasharray="" fill="white"></rect> <g transform="translate(-1781,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> LUNCH</text></g></a> <a href="/2022/talks/meetups" title="Attending and organizing Emacs meetups"> <title> Attending and organizing Emacs meetups</title> <rect x="-1778" y="15" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="" fill="lightgray"></rect> <g transform="translate(-1766,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> meetups</text></g></a> <a href="/2022/talks/buddy" title="The Emacs Buddy initiative"> <title> The Emacs Buddy initiative</title> <rect x="-1734" y="15" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="5,5,5" fill="lightgreen"></rect> <g transform="translate(-1722,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> buddy</text></g></a> <a href="/2022/talks/community" title="The ship that builds itself: How we used Emacs to develop a workshop for communities"> <title> The ship that builds itself: How we used Emacs to develop a workshop for communities</title> <rect x="-1704" y="15" opacity="0.8" width="44" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(-1662,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> community</text></g></a> <a href="/" title="BREAK"> <title> BREAK</title> <rect x="-1630" y="15" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="" fill="white"></rect> <g transform="translate(-1618,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> BREAK</text></g></a> <a href="/2022/talks/realestate" title="Real estate and Org table formulas"> <title> Real estate and Org table formulas</title> <rect x="-1615" y="15" opacity="0.8" width="29" height="34" stroke="black" stroke-dasharray="5,5,5" fill="lightgreen"></rect> <g transform="translate(-1588,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> realestate</text></g></a> <a href="/2022/talks/health" title="Health data journaling and visualization with Org Mode and GNUplot"> <title> Health data journaling and visualization with Org Mode and GNUplot</title> <rect x="-1571" y="15" opacity="0.8" width="29" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(-1544,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> health</text></g></a> <a href="/2022/talks/jupyter" title="Edit live Jupyter notebook cells with Emacs"> <title> Edit live Jupyter notebook cells with Emacs</title> <rect x="-1512" y="15" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(-1500,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> jupyter</text></g></a> <a href="/2022/talks/orgvm" title="orgvm: a simple HTTP server for org"> <title> orgvm: a simple HTTP server for org</title> <rect x="-1467" y="15" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(-1455,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> orgvm</text></g></a> <a href="/2022/talks/" title="Saturday closing remarks"> <title> Saturday closing remarks</title> <rect x="-1423" y="15" opacity="0.8" width="7" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(-1418,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> Saturday closing remarks</text></g></a> <a href="/" title="GEN Sunday, December 4"> <title> GEN Sunday, December 4</title> <rect x="0" y="15" opacity="0.8" width="-119420" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(-119422,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> GEN Sunday, December 4</text></g></a> <a href="/2022/talks/" title="Sunday opening remarks"> <title> Sunday opening remarks</title> <rect x="0" y="15" opacity="0.8" width="7" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(5,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> Sunday opening remarks</text></g></a> <a href="/2022/talks/survey" title="Results of the 2022 Emacs Survey"> <title> Results of the 2022 Emacs Survey</title> <rect x="7" y="15" opacity="0.8" width="29" height="34" stroke="black" stroke-dasharray="5,5,5" fill="lightgray"></rect> <g transform="translate(34,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> survey</text></g></a> <a href="/2022/talks/orgyear" title="This Year in Org"> <title> This Year in Org</title> <rect x="51" y="15" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="5,5,5" fill="lightgray"></rect> <g transform="translate(63,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> orgyear</text></g></a> <a href="/2022/talks/rolodex" title="Build a Zettelkasten with the Hyperbole Rolodex"> <title> Build a Zettelkasten with the Hyperbole Rolodex</title> <rect x="88" y="15" opacity="0.8" width="29" height="34" stroke="black" stroke-dasharray="5,5,5" fill="lightgray"></rect> <g transform="translate(115,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> rolodex</text></g></a> <a href="/" title="BREAK"> <title> BREAK</title> <rect x="133" y="15" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="" fill="white"></rect> <g transform="translate(145,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> BREAK</text></g></a> <a href="/2022/talks/orgsuperlinks" title="Linking headings with org-super-links (poor-man's Zettelkasten)"> <title> Linking headings with org-super-links (poor-man's Zettelkasten)</title> <rect x="148" y="15" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="" fill="lightgray"></rect> <g transform="translate(160,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> orgsuperlinks</text></g></a> <a href="/2022/talks/buttons" title="Linking personal info with Hyperbole implicit buttons"> <title> Linking personal info with Hyperbole implicit buttons</title> <rect x="192" y="15" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="" fill="lightgray"></rect> <g transform="translate(204,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> buttons</text></g></a> <a href="/" title="LUNCH"> <title> LUNCH</title> <rect x="266" y="15" opacity="0.8" width="88" height="34" stroke="black" stroke-dasharray="" fill="white"></rect> <g transform="translate(352,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> LUNCH</text></g></a> <a href="/2022/talks/hyperorg" title="Powerful productivity with Hyperbole and Org Mode"> <title> Powerful productivity with Hyperbole and Org Mode</title> <rect x="355" y="15" opacity="0.8" width="44" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(397,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> hyperorg</text></g></a> <a href="/2022/talks/workflows" title="Org workflows for developers"> <title> Org workflows for developers</title> <rect x="429" y="15" opacity="0.8" width="29" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(456,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> workflows</text></g></a> <a href="/2022/talks/grail" title="GRAIL---A Generalized Representation and Aggregation of Information Layers"> <title> GRAIL---A Generalized Representation and Aggregation of Information Layers</title> <rect x="488" y="15" opacity="0.8" width="29" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(515,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> grail</text></g></a> <a href="/" title="BREAK"> <title> BREAK</title> <rect x="548" y="15" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="" fill="white"></rect> <g transform="translate(560,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> BREAK</text></g></a> <a href="/2022/talks/indieweb" title="Putting Org Mode on the Indieweb"> <title> Putting Org Mode on the Indieweb</title> <rect x="562" y="15" opacity="0.8" width="29" height="34" stroke="black" stroke-dasharray="" fill="lightgray"></rect> <g transform="translate(589,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> indieweb</text></g></a> <a href="/2022/talks/fanfare" title="Fanfare for the Common Emacs User"> <title> Fanfare for the Common Emacs User</title> <rect x="622" y="15" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(634,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> fanfare</text></g></a> <a href="/2022/talks/" title="Sunday closing remarks"> <title> Sunday closing remarks</title> <rect x="711" y="15" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(723,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> Sunday closing remarks</text></g></a> <a href="/" title="DEV Saturday, December 3"> <title> DEV Saturday, December 3</title> <rect x="-2045" y="15" opacity="0.8" width="-117376" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(-119423,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> DEV Saturday, December 3</text></g></a> <a href="/" title="DEV Sunday, December 4"> <title> DEV Sunday, December 4</title> <rect x="88" y="15" opacity="0.8" width="-119509" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(-119423,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> DEV Sunday, December 4</text></g></a> <a href="/2022/talks/asmblox" title="asm-blox: a game based on WebAssembly that no one asked for"> <title> asm-blox: a game based on WebAssembly that no one asked for</title> <rect x="-2045" y="50" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(-2033,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> asmblox</text></g></a> <a href="/2022/talks/treesitter" title="Tree-sitter beyond syntax highlighting"> <title> Tree-sitter beyond syntax highlighting</title> <rect x="-1993" y="50" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="5,5,5" fill="lightgray"></rect> <g transform="translate(-1981,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> treesitter</text></g></a> <a href="/2022/talks/wayland" title="Emacs should become a Wayland compositor"> <title> Emacs should become a Wayland compositor</title> <rect x="-1963" y="50" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(-1951,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> wayland</text></g></a> <a href="/2022/talks/lspbridge" title="lsp-bridge: complete asynchronous LSP client"> <title> lsp-bridge: complete asynchronous LSP client</title> <rect x="-1912" y="50" opacity="0.8" width="29" height="34" stroke="black" stroke-dasharray="5,5,5" fill="lightgreen"></rect> <g transform="translate(-1885,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> lspbridge</text></g></a> <a href="/" title="LUNCH"> <title> LUNCH</title> <rect x="-1867" y="50" opacity="0.8" width="88" height="34" stroke="black" stroke-dasharray="" fill="white"></rect> <g transform="translate(-1781,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> LUNCH</text></g></a> <a href="/2022/talks/sqlite" title="Using SQLite as a data source: a framework and an example"> <title> Using SQLite as a data source: a framework and an example</title> <rect x="-1778" y="50" opacity="0.8" width="29" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(-1751,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> sqlite</text></g></a> <a href="/2022/talks/mail" title="Revisiting the anatomy of Emacs mail user agents"> <title> Revisiting the anatomy of Emacs mail user agents</title> <rect x="-1712" y="50" opacity="0.8" width="44" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(-1670,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> mail</text></g></a> <a href="/" title="BREAK"> <title> BREAK</title> <rect x="-1630" y="50" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="" fill="white"></rect> <g transform="translate(-1618,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> BREAK</text></g></a> <a href="/2022/talks/maint" title="Maintaining the Maintainers: Attribution as an Economic Model for Open Source"> <title> Maintaining the Maintainers: Attribution as an Economic Model for Open Source</title> <rect x="-1615" y="50" opacity="0.8" width="29" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(-1588,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> maint</text></g></a> <a href="/2022/talks/eev" title="Bidirectional links with eev"> <title> Bidirectional links with eev</title> <rect x="-1549" y="50" opacity="0.8" width="7" height="34" stroke="black" stroke-dasharray="5,5,5" fill="lightgreen"></rect> <g transform="translate(-1544,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> eev</text></g></a> <a href="/2022/talks/python" title="Short hyperlinks to Python docs"> <title> Short hyperlinks to Python docs</title> <rect x="-1526" y="50" opacity="0.8" width="7" height="34" stroke="black" stroke-dasharray="5,5,5" fill="lightgreen"></rect> <g transform="translate(-1521,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> python</text></g></a> <a href="/2022/talks/haskell" title="Haskell code exploration with Emacs"> <title> Haskell code exploration with Emacs</title> <rect x="-1504" y="50" opacity="0.8" width="44" height="34" stroke="black" stroke-dasharray="" fill="lightgray"></rect> <g transform="translate(-1462,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> haskell</text></g></a> <a href="/2022/talks/rde" title="rde Emacs introduction"> <title> rde Emacs introduction</title> <rect x="88" y="50" opacity="0.8" width="29" height="34" stroke="black" stroke-dasharray="" fill="lightgray"></rect> <g transform="translate(115,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> rde</text></g></a> <a href="/2022/talks/justl" title="justl: Driving recipes within Emacs"> <title> justl: Driving recipes within Emacs</title> <rect x="155" y="50" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="5,5,5" fill="lightgray"></rect> <g transform="translate(167,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> justl</text></g></a> <a href="/2022/talks/tramp" title="Elisp and the TRAMP: How to NOT write code you don't have to"> <title> Elisp and the TRAMP: How to NOT write code you don't have to</title> <rect x="185" y="50" opacity="0.8" width="44" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(227,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> tramp</text></g></a> <a href="/" title="LUNCH"> <title> LUNCH</title> <rect x="266" y="50" opacity="0.8" width="88" height="34" stroke="black" stroke-dasharray="" fill="white"></rect> <g transform="translate(352,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> LUNCH</text></g></a> <a href="/2022/talks/detached" title="Getting detached from Emacs"> <title> Getting detached from Emacs</title> <rect x="355" y="50" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(367,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> detached</text></g></a> <a href="/2022/talks/eshell" title="Top 10 reasons why you should be using Eshell"> <title> Top 10 reasons why you should be using Eshell</title> <rect x="407" y="50" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="" fill="lightgray"></rect> <g transform="translate(419,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> eshell</text></g></a> <a href="/2022/talks/async" title="Emacs was async before async was cool"> <title> Emacs was async before async was cool</title> <rect x="459" y="50" opacity="0.8" width="29" height="34" stroke="black" stroke-dasharray="" fill="lightgray"></rect> <g transform="translate(486,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> async</text></g></a> <a href="/" title="BREAK"> <title> BREAK</title> <rect x="525" y="50" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="" fill="white"></rect> <g transform="translate(537,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> BREAK</text></g></a> <a href="/2022/talks/dbus" title="The Wheels on D-Bus"> <title> The Wheels on D-Bus</title> <rect x="540" y="50" opacity="0.8" width="29" height="34" stroke="black" stroke-dasharray="" fill="lightgray"></rect> <g transform="translate(567,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> dbus</text></g></a> <a href="/2022/talks/localizing" title="Pre-localizing Emacs"> <title> Pre-localizing Emacs</title> <rect x="622" y="50" opacity="0.8" width="29" height="34" stroke="black" stroke-dasharray="" fill="lightgray"></rect> <g transform="translate(649,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> localizing</text></g></a> <g transform="translate(0,15)"> <line stroke="lightgray" x1="0" y1="0" x2="0" y2="70"></line> <text fill="darkgray" x="0" y="83" font-size="10" text-anchor="middle"> 9</text></g> <g transform="translate(88,15)"> <line stroke="lightgray" x1="0" y1="0" x2="0" y2="70"></line> <text fill="darkgray" x="0" y="83" font-size="10" text-anchor="middle"> 10</text></g> <g transform="translate(177,15)"> <line stroke="lightgray" x1="0" y1="0" x2="0" y2="70"></line> <text fill="darkgray" x="0" y="83" font-size="10" text-anchor="middle"> 11</text></g> <g transform="translate(266,15)"> <line stroke="lightgray" x1="0" y1="0" x2="0" y2="70"></line> <text fill="darkgray" x="0" y="83" font-size="10" text-anchor="middle"> 12</text></g> <g transform="translate(355,15)"> <line stroke="lightgray" x1="0" y1="0" x2="0" y2="70"></line> <text fill="darkgray" x="0" y="83" font-size="10" text-anchor="middle"> 1</text></g> <g transform="translate(444,15)"> <line stroke="lightgray" x1="0" y1="0" x2="0" y2="70"></line> <text fill="darkgray" x="0" y="83" font-size="10" text-anchor="middle"> 2</text></g> <g transform="translate(533,15)"> <line stroke="lightgray" x1="0" y1="0" x2="0" y2="70"></line> <text fill="darkgray" x="0" y="83" font-size="10" text-anchor="middle"> 3</text></g> <g transform="translate(622,15)"> <line stroke="lightgray" x1="0" y1="0" x2="0" y2="70"></line> <text fill="darkgray" x="0" y="83" font-size="10" text-anchor="middle"> 4</text></g> <g transform="translate(711,15)"> <line stroke="lightgray" x1="0" y1="0" x2="0" y2="70"></line> <text fill="darkgray" x="0" y="83" font-size="10" text-anchor="middle"> 5</text></g></g></svg> \ No newline at end of file
+<svg width="800" height="200" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" background="white"> <g transform="translate(0,0)"> <rect width="800" height="100" x="0" y="0" fill="white"></rect> <text font-size="10" fill="black" y="12" x="3"> Saturday</text> <a href="/" title="GEN Saturday, December 3"> <title> GEN Saturday, December 3</title> <rect x="0" y="15" opacity="0.8" width="-116498" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(-116500,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> GEN Saturday, December 3</text></g></a> <a href="/2022/talks/" title="Saturday opening remarks"> <title> Saturday opening remarks</title> <rect x="0" y="15" opacity="0.8" width="7" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(5,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> Saturday opening remarks</text></g></a> <a href="/2022/talks/journalism" title="Emacs journalism (or everything's a nail if you hit it with Emacs)"> <title> Emacs journalism (or everything's a nail if you hit it with Emacs)</title> <rect x="7" y="15" opacity="0.8" width="29" height="34" stroke="black" stroke-dasharray="" fill="lightgray"></rect> <g transform="translate(34,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> journalism</text></g></a> <a href="/2022/talks/school" title="Back to school with Emacs"> <title> Back to school with Emacs</title> <rect x="66" y="15" opacity="0.8" width="29" height="34" stroke="black" stroke-dasharray="5,5,5" fill="lightgreen"></rect> <g transform="translate(93,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> school</text></g></a> <a href="/2022/talks/handwritten" title="How to incorporate handwritten notes into Emacs Orgmode"> <title> How to incorporate handwritten notes into Emacs Orgmode</title> <rect x="111" y="15" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="" fill="lightgray"></rect> <g transform="translate(123,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> handwritten</text></g></a> <a href="/" title="BREAK"> <title> BREAK</title> <rect x="155" y="15" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="" fill="white"></rect> <g transform="translate(167,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> BREAK</text></g></a> <a href="/2022/talks/science" title="Writing and organizing literature notes for scientific writing"> <title> Writing and organizing literature notes for scientific writing</title> <rect x="170" y="15" opacity="0.8" width="29" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(197,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> science</text></g></a> <a href="/" title="LUNCH"> <title> LUNCH</title> <rect x="266" y="15" opacity="0.8" width="88" height="34" stroke="black" stroke-dasharray="" fill="white"></rect> <g transform="translate(352,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> LUNCH</text></g></a> <a href="/2022/talks/meetups" title="Attending and organizing Emacs meetups"> <title> Attending and organizing Emacs meetups</title> <rect x="355" y="15" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="" fill="lightgray"></rect> <g transform="translate(367,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> meetups</text></g></a> <a href="/2022/talks/buddy" title="The Emacs Buddy initiative"> <title> The Emacs Buddy initiative</title> <rect x="400" y="15" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="5,5,5" fill="lightgreen"></rect> <g transform="translate(412,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> buddy</text></g></a> <a href="/2022/talks/community" title="The ship that builds itself: How we used Emacs to develop a workshop for communities"> <title> The ship that builds itself: How we used Emacs to develop a workshop for communities</title> <rect x="429" y="15" opacity="0.8" width="44" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(471,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> community</text></g></a> <a href="/" title="BREAK"> <title> BREAK</title> <rect x="503" y="15" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="" fill="white"></rect> <g transform="translate(515,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> BREAK</text></g></a> <a href="/2022/talks/realestate" title="Real estate and Org table formulas"> <title> Real estate and Org table formulas</title> <rect x="518" y="15" opacity="0.8" width="29" height="34" stroke="black" stroke-dasharray="5,5,5" fill="lightgreen"></rect> <g transform="translate(545,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> realestate</text></g></a> <a href="/2022/talks/health" title="Health data journaling and visualization with Org Mode and GNUplot"> <title> Health data journaling and visualization with Org Mode and GNUplot</title> <rect x="562" y="15" opacity="0.8" width="29" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(589,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> health</text></g></a> <a href="/2022/talks/jupyter" title="Edit live Jupyter notebook cells with Emacs"> <title> Edit live Jupyter notebook cells with Emacs</title> <rect x="622" y="15" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(634,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> jupyter</text></g></a> <a href="/2022/talks/orgvm" title="orgvm: a simple HTTP server for org"> <title> orgvm: a simple HTTP server for org</title> <rect x="666" y="15" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(678,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> orgvm</text></g></a> <a href="/2022/talks/" title="Saturday closing remarks"> <title> Saturday closing remarks</title> <rect x="711" y="15" opacity="0.8" width="7" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(716,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> Saturday closing remarks</text></g></a> <a href="/" title="GEN Sunday, December 4"> <title> GEN Sunday, December 4</title> <rect x="2133" y="15" opacity="0.8" width="-118631" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(-116500,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> GEN Sunday, December 4</text></g></a> <a href="/2022/talks/" title="Sunday opening remarks"> <title> Sunday opening remarks</title> <rect x="2133" y="15" opacity="0.8" width="7" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(2138,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> Sunday opening remarks</text></g></a> <a href="/2022/talks/survey" title="Results of the 2022 Emacs Survey"> <title> Results of the 2022 Emacs Survey</title> <rect x="2140" y="15" opacity="0.8" width="29" height="34" stroke="black" stroke-dasharray="5,5,5" fill="lightgray"></rect> <g transform="translate(2167,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> survey</text></g></a> <a href="/2022/talks/orgyear" title="This Year in Org"> <title> This Year in Org</title> <rect x="2185" y="15" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="5,5,5" fill="lightgray"></rect> <g transform="translate(2197,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> orgyear</text></g></a> <a href="/2022/talks/rolodex" title="Build a Zettelkasten with the Hyperbole Rolodex"> <title> Build a Zettelkasten with the Hyperbole Rolodex</title> <rect x="2222" y="15" opacity="0.8" width="29" height="34" stroke="black" stroke-dasharray="5,5,5" fill="lightgray"></rect> <g transform="translate(2249,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> rolodex</text></g></a> <a href="/" title="BREAK"> <title> BREAK</title> <rect x="2266" y="15" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="" fill="white"></rect> <g transform="translate(2278,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> BREAK</text></g></a> <a href="/2022/talks/orgsuperlinks" title="Linking headings with org-super-links (poor-man's Zettelkasten)"> <title> Linking headings with org-super-links (poor-man's Zettelkasten)</title> <rect x="2281" y="15" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="" fill="lightgray"></rect> <g transform="translate(2293,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> orgsuperlinks</text></g></a> <a href="/2022/talks/buttons" title="Linking personal info with Hyperbole implicit buttons"> <title> Linking personal info with Hyperbole implicit buttons</title> <rect x="2325" y="15" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="" fill="lightgray"></rect> <g transform="translate(2337,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> buttons</text></g></a> <a href="/" title="LUNCH"> <title> LUNCH</title> <rect x="2400" y="15" opacity="0.8" width="88" height="34" stroke="black" stroke-dasharray="" fill="white"></rect> <g transform="translate(2486,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> LUNCH</text></g></a> <a href="/2022/talks/hyperorg" title="Powerful productivity with Hyperbole and Org Mode"> <title> Powerful productivity with Hyperbole and Org Mode</title> <rect x="2488" y="15" opacity="0.8" width="44" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(2530,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> hyperorg</text></g></a> <a href="/2022/talks/workflows" title="Org workflows for developers"> <title> Org workflows for developers</title> <rect x="2562" y="15" opacity="0.8" width="29" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(2589,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> workflows</text></g></a> <a href="/2022/talks/grail" title="GRAIL---A Generalized Representation and Aggregation of Information Layers"> <title> GRAIL---A Generalized Representation and Aggregation of Information Layers</title> <rect x="2622" y="15" opacity="0.8" width="29" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(2649,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> grail</text></g></a> <a href="/" title="BREAK"> <title> BREAK</title> <rect x="2681" y="15" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="" fill="white"></rect> <g transform="translate(2693,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> BREAK</text></g></a> <a href="/2022/talks/indieweb" title="Putting Org Mode on the Indieweb"> <title> Putting Org Mode on the Indieweb</title> <rect x="2696" y="15" opacity="0.8" width="29" height="34" stroke="black" stroke-dasharray="" fill="lightgray"></rect> <g transform="translate(2723,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> indieweb</text></g></a> <a href="/2022/talks/fanfare" title="Fanfare for the Common Emacs User"> <title> Fanfare for the Common Emacs User</title> <rect x="2755" y="15" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(2767,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> fanfare</text></g></a> <a href="/2022/talks/" title="Sunday closing remarks"> <title> Sunday closing remarks</title> <rect x="2844" y="15" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(2856,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> Sunday closing remarks</text></g></a> <a href="/" title="DEV Saturday, December 3"> <title> DEV Saturday, December 3</title> <rect x="88" y="15" opacity="0.8" width="-116587" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(-116501,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> DEV Saturday, December 3</text></g></a> <a href="/" title="DEV Sunday, December 4"> <title> DEV Sunday, December 4</title> <rect x="2222" y="15" opacity="0.8" width="-118720" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(-116500,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> DEV Sunday, December 4</text></g></a> <a href="/2022/talks/treesitter" title="Tree-sitter beyond syntax highlighting"> <title> Tree-sitter beyond syntax highlighting</title> <rect x="88" y="50" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="5,5,5" fill="lightgray"></rect> <g transform="translate(100,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> treesitter</text></g></a> <a href="/2022/talks/lspbridge" title="lsp-bridge: complete asynchronous LSP client"> <title> lsp-bridge: complete asynchronous LSP client</title> <rect x="118" y="50" opacity="0.8" width="29" height="34" stroke="black" stroke-dasharray="5,5,5" fill="lightgray"></rect> <g transform="translate(145,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> lspbridge</text></g></a> <a href="/2022/talks/asmblox" title="asm-blox: a game based on WebAssembly that no one asked for"> <title> asm-blox: a game based on WebAssembly that no one asked for</title> <rect x="162" y="50" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(174,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> asmblox</text></g></a> <a href="/2022/talks/wayland" title="Emacs should become a Wayland compositor"> <title> Emacs should become a Wayland compositor</title> <rect x="214" y="50" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(226,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> wayland</text></g></a> <a href="/" title="LUNCH"> <title> LUNCH</title> <rect x="266" y="50" opacity="0.8" width="88" height="34" stroke="black" stroke-dasharray="" fill="white"></rect> <g transform="translate(352,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> LUNCH</text></g></a> <a href="/2022/talks/sqlite" title="Using SQLite as a data source: a framework and an example"> <title> Using SQLite as a data source: a framework and an example</title> <rect x="355" y="50" opacity="0.8" width="29" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(382,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> sqlite</text></g></a> <a href="/2022/talks/mail" title="Revisiting the anatomy of Emacs mail user agents"> <title> Revisiting the anatomy of Emacs mail user agents</title> <rect x="422" y="50" opacity="0.8" width="44" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(464,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> mail</text></g></a> <a href="/" title="BREAK"> <title> BREAK</title> <rect x="503" y="50" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="" fill="white"></rect> <g transform="translate(515,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> BREAK</text></g></a> <a href="/2022/talks/maint" title="Maintaining the Maintainers: Attribution as an Economic Model for Open Source"> <title> Maintaining the Maintainers: Attribution as an Economic Model for Open Source</title> <rect x="518" y="50" opacity="0.8" width="29" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(545,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> maint</text></g></a> <a href="/2022/talks/eev" title="Bidirectional links with eev"> <title> Bidirectional links with eev</title> <rect x="585" y="50" opacity="0.8" width="7" height="34" stroke="black" stroke-dasharray="5,5,5" fill="lightgreen"></rect> <g transform="translate(590,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> eev</text></g></a> <a href="/2022/talks/python" title="Short hyperlinks to Python docs"> <title> Short hyperlinks to Python docs</title> <rect x="607" y="50" opacity="0.8" width="7" height="34" stroke="black" stroke-dasharray="5,5,5" fill="lightgreen"></rect> <g transform="translate(612,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> python</text></g></a> <a href="/2022/talks/haskell" title="Haskell code exploration with Emacs"> <title> Haskell code exploration with Emacs</title> <rect x="629" y="50" opacity="0.8" width="44" height="34" stroke="black" stroke-dasharray="" fill="lightgray"></rect> <g transform="translate(671,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> haskell</text></g></a> <a href="/2022/talks/rde" title="rde Emacs introduction"> <title> rde Emacs introduction</title> <rect x="2222" y="50" opacity="0.8" width="29" height="34" stroke="black" stroke-dasharray="" fill="lightgray"></rect> <g transform="translate(2249,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> rde</text></g></a> <a href="/2022/talks/justl" title="justl: Driving recipes within Emacs"> <title> justl: Driving recipes within Emacs</title> <rect x="2288" y="50" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="5,5,5" fill="lightgray"></rect> <g transform="translate(2300,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> justl</text></g></a> <a href="/2022/talks/tramp" title="Elisp and the TRAMP: How to NOT write code you don't have to"> <title> Elisp and the TRAMP: How to NOT write code you don't have to</title> <rect x="2318" y="50" opacity="0.8" width="44" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(2360,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> tramp</text></g></a> <a href="/" title="LUNCH"> <title> LUNCH</title> <rect x="2400" y="50" opacity="0.8" width="88" height="34" stroke="black" stroke-dasharray="" fill="white"></rect> <g transform="translate(2486,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> LUNCH</text></g></a> <a href="/2022/talks/detached" title="Getting detached from Emacs"> <title> Getting detached from Emacs</title> <rect x="2488" y="50" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(2500,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> detached</text></g></a> <a href="/2022/talks/eshell" title="Top 10 reasons why you should be using Eshell"> <title> Top 10 reasons why you should be using Eshell</title> <rect x="2540" y="50" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="" fill="lightgray"></rect> <g transform="translate(2552,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> eshell</text></g></a> <a href="/2022/talks/async" title="Emacs was async before async was cool"> <title> Emacs was async before async was cool</title> <rect x="2592" y="50" opacity="0.8" width="29" height="34" stroke="black" stroke-dasharray="" fill="lightgray"></rect> <g transform="translate(2619,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> async</text></g></a> <a href="/" title="BREAK"> <title> BREAK</title> <rect x="2659" y="50" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="" fill="white"></rect> <g transform="translate(2671,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> BREAK</text></g></a> <a href="/2022/talks/dbus" title="The Wheels on D-Bus"> <title> The Wheels on D-Bus</title> <rect x="2674" y="50" opacity="0.8" width="29" height="34" stroke="black" stroke-dasharray="" fill="lightgray"></rect> <g transform="translate(2701,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> dbus</text></g></a> <a href="/2022/talks/localizing" title="Pre-localizing Emacs"> <title> Pre-localizing Emacs</title> <rect x="2755" y="50" opacity="0.8" width="29" height="34" stroke="black" stroke-dasharray="" fill="lightgray"></rect> <g transform="translate(2782,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> localizing</text></g></a> <g transform="translate(0,15)"> <line stroke="lightgray" x1="0" y1="0" x2="0" y2="70"></line> <text fill="darkgray" x="0" y="83" font-size="10" text-anchor="middle"> 9</text></g> <g transform="translate(88,15)"> <line stroke="lightgray" x1="0" y1="0" x2="0" y2="70"></line> <text fill="darkgray" x="0" y="83" font-size="10" text-anchor="middle"> 10</text></g> <g transform="translate(177,15)"> <line stroke="lightgray" x1="0" y1="0" x2="0" y2="70"></line> <text fill="darkgray" x="0" y="83" font-size="10" text-anchor="middle"> 11</text></g> <g transform="translate(266,15)"> <line stroke="lightgray" x1="0" y1="0" x2="0" y2="70"></line> <text fill="darkgray" x="0" y="83" font-size="10" text-anchor="middle"> 12</text></g> <g transform="translate(355,15)"> <line stroke="lightgray" x1="0" y1="0" x2="0" y2="70"></line> <text fill="darkgray" x="0" y="83" font-size="10" text-anchor="middle"> 1</text></g> <g transform="translate(444,15)"> <line stroke="lightgray" x1="0" y1="0" x2="0" y2="70"></line> <text fill="darkgray" x="0" y="83" font-size="10" text-anchor="middle"> 2</text></g> <g transform="translate(533,15)"> <line stroke="lightgray" x1="0" y1="0" x2="0" y2="70"></line> <text fill="darkgray" x="0" y="83" font-size="10" text-anchor="middle"> 3</text></g> <g transform="translate(622,15)"> <line stroke="lightgray" x1="0" y1="0" x2="0" y2="70"></line> <text fill="darkgray" x="0" y="83" font-size="10" text-anchor="middle"> 4</text></g> <g transform="translate(711,15)"> <line stroke="lightgray" x1="0" y1="0" x2="0" y2="70"></line> <text fill="darkgray" x="0" y="83" font-size="10" text-anchor="middle"> 5</text></g></g> <g transform="translate(0,100)"> <rect width="800" height="100" x="0" y="0" fill="white"></rect> <text font-size="10" fill="black" y="12" x="3"> Sunday</text> <a href="/" title="GEN Saturday, December 3"> <title> GEN Saturday, December 3</title> <rect x="-2134" y="15" opacity="0.8" width="-116498" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(-118634,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> GEN Saturday, December 3</text></g></a> <a href="/2022/talks/" title="Saturday opening remarks"> <title> Saturday opening remarks</title> <rect x="-2134" y="15" opacity="0.8" width="7" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(-2129,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> Saturday opening remarks</text></g></a> <a href="/2022/talks/journalism" title="Emacs journalism (or everything's a nail if you hit it with Emacs)"> <title> Emacs journalism (or everything's a nail if you hit it with Emacs)</title> <rect x="-2126" y="15" opacity="0.8" width="29" height="34" stroke="black" stroke-dasharray="" fill="lightgray"></rect> <g transform="translate(-2099,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> journalism</text></g></a> <a href="/2022/talks/school" title="Back to school with Emacs"> <title> Back to school with Emacs</title> <rect x="-2067" y="15" opacity="0.8" width="29" height="34" stroke="black" stroke-dasharray="5,5,5" fill="lightgreen"></rect> <g transform="translate(-2040,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> school</text></g></a> <a href="/2022/talks/handwritten" title="How to incorporate handwritten notes into Emacs Orgmode"> <title> How to incorporate handwritten notes into Emacs Orgmode</title> <rect x="-2023" y="15" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="" fill="lightgray"></rect> <g transform="translate(-2011,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> handwritten</text></g></a> <a href="/" title="BREAK"> <title> BREAK</title> <rect x="-1978" y="15" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="" fill="white"></rect> <g transform="translate(-1966,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> BREAK</text></g></a> <a href="/2022/talks/science" title="Writing and organizing literature notes for scientific writing"> <title> Writing and organizing literature notes for scientific writing</title> <rect x="-1963" y="15" opacity="0.8" width="29" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(-1936,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> science</text></g></a> <a href="/" title="LUNCH"> <title> LUNCH</title> <rect x="-1867" y="15" opacity="0.8" width="88" height="34" stroke="black" stroke-dasharray="" fill="white"></rect> <g transform="translate(-1781,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> LUNCH</text></g></a> <a href="/2022/talks/meetups" title="Attending and organizing Emacs meetups"> <title> Attending and organizing Emacs meetups</title> <rect x="-1778" y="15" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="" fill="lightgray"></rect> <g transform="translate(-1766,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> meetups</text></g></a> <a href="/2022/talks/buddy" title="The Emacs Buddy initiative"> <title> The Emacs Buddy initiative</title> <rect x="-1734" y="15" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="5,5,5" fill="lightgreen"></rect> <g transform="translate(-1722,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> buddy</text></g></a> <a href="/2022/talks/community" title="The ship that builds itself: How we used Emacs to develop a workshop for communities"> <title> The ship that builds itself: How we used Emacs to develop a workshop for communities</title> <rect x="-1704" y="15" opacity="0.8" width="44" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(-1662,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> community</text></g></a> <a href="/" title="BREAK"> <title> BREAK</title> <rect x="-1630" y="15" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="" fill="white"></rect> <g transform="translate(-1618,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> BREAK</text></g></a> <a href="/2022/talks/realestate" title="Real estate and Org table formulas"> <title> Real estate and Org table formulas</title> <rect x="-1615" y="15" opacity="0.8" width="29" height="34" stroke="black" stroke-dasharray="5,5,5" fill="lightgreen"></rect> <g transform="translate(-1588,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> realestate</text></g></a> <a href="/2022/talks/health" title="Health data journaling and visualization with Org Mode and GNUplot"> <title> Health data journaling and visualization with Org Mode and GNUplot</title> <rect x="-1571" y="15" opacity="0.8" width="29" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(-1544,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> health</text></g></a> <a href="/2022/talks/jupyter" title="Edit live Jupyter notebook cells with Emacs"> <title> Edit live Jupyter notebook cells with Emacs</title> <rect x="-1512" y="15" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(-1500,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> jupyter</text></g></a> <a href="/2022/talks/orgvm" title="orgvm: a simple HTTP server for org"> <title> orgvm: a simple HTTP server for org</title> <rect x="-1467" y="15" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(-1455,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> orgvm</text></g></a> <a href="/2022/talks/" title="Saturday closing remarks"> <title> Saturday closing remarks</title> <rect x="-1423" y="15" opacity="0.8" width="7" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(-1418,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> Saturday closing remarks</text></g></a> <a href="/" title="GEN Sunday, December 4"> <title> GEN Sunday, December 4</title> <rect x="0" y="15" opacity="0.8" width="-118631" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(-118633,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> GEN Sunday, December 4</text></g></a> <a href="/2022/talks/" title="Sunday opening remarks"> <title> Sunday opening remarks</title> <rect x="0" y="15" opacity="0.8" width="7" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(5,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> Sunday opening remarks</text></g></a> <a href="/2022/talks/survey" title="Results of the 2022 Emacs Survey"> <title> Results of the 2022 Emacs Survey</title> <rect x="7" y="15" opacity="0.8" width="29" height="34" stroke="black" stroke-dasharray="5,5,5" fill="lightgray"></rect> <g transform="translate(34,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> survey</text></g></a> <a href="/2022/talks/orgyear" title="This Year in Org"> <title> This Year in Org</title> <rect x="51" y="15" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="5,5,5" fill="lightgray"></rect> <g transform="translate(63,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> orgyear</text></g></a> <a href="/2022/talks/rolodex" title="Build a Zettelkasten with the Hyperbole Rolodex"> <title> Build a Zettelkasten with the Hyperbole Rolodex</title> <rect x="88" y="15" opacity="0.8" width="29" height="34" stroke="black" stroke-dasharray="5,5,5" fill="lightgray"></rect> <g transform="translate(115,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> rolodex</text></g></a> <a href="/" title="BREAK"> <title> BREAK</title> <rect x="133" y="15" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="" fill="white"></rect> <g transform="translate(145,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> BREAK</text></g></a> <a href="/2022/talks/orgsuperlinks" title="Linking headings with org-super-links (poor-man's Zettelkasten)"> <title> Linking headings with org-super-links (poor-man's Zettelkasten)</title> <rect x="148" y="15" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="" fill="lightgray"></rect> <g transform="translate(160,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> orgsuperlinks</text></g></a> <a href="/2022/talks/buttons" title="Linking personal info with Hyperbole implicit buttons"> <title> Linking personal info with Hyperbole implicit buttons</title> <rect x="192" y="15" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="" fill="lightgray"></rect> <g transform="translate(204,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> buttons</text></g></a> <a href="/" title="LUNCH"> <title> LUNCH</title> <rect x="266" y="15" opacity="0.8" width="88" height="34" stroke="black" stroke-dasharray="" fill="white"></rect> <g transform="translate(352,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> LUNCH</text></g></a> <a href="/2022/talks/hyperorg" title="Powerful productivity with Hyperbole and Org Mode"> <title> Powerful productivity with Hyperbole and Org Mode</title> <rect x="355" y="15" opacity="0.8" width="44" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(397,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> hyperorg</text></g></a> <a href="/2022/talks/workflows" title="Org workflows for developers"> <title> Org workflows for developers</title> <rect x="429" y="15" opacity="0.8" width="29" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(456,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> workflows</text></g></a> <a href="/2022/talks/grail" title="GRAIL---A Generalized Representation and Aggregation of Information Layers"> <title> GRAIL---A Generalized Representation and Aggregation of Information Layers</title> <rect x="488" y="15" opacity="0.8" width="29" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(515,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> grail</text></g></a> <a href="/" title="BREAK"> <title> BREAK</title> <rect x="548" y="15" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="" fill="white"></rect> <g transform="translate(560,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> BREAK</text></g></a> <a href="/2022/talks/indieweb" title="Putting Org Mode on the Indieweb"> <title> Putting Org Mode on the Indieweb</title> <rect x="562" y="15" opacity="0.8" width="29" height="34" stroke="black" stroke-dasharray="" fill="lightgray"></rect> <g transform="translate(589,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> indieweb</text></g></a> <a href="/2022/talks/fanfare" title="Fanfare for the Common Emacs User"> <title> Fanfare for the Common Emacs User</title> <rect x="622" y="15" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(634,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> fanfare</text></g></a> <a href="/2022/talks/" title="Sunday closing remarks"> <title> Sunday closing remarks</title> <rect x="711" y="15" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(723,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> Sunday closing remarks</text></g></a> <a href="/" title="DEV Saturday, December 3"> <title> DEV Saturday, December 3</title> <rect x="-2045" y="15" opacity="0.8" width="-116587" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(-118634,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> DEV Saturday, December 3</text></g></a> <a href="/" title="DEV Sunday, December 4"> <title> DEV Sunday, December 4</title> <rect x="88" y="15" opacity="0.8" width="-118720" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(-118634,48)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> DEV Sunday, December 4</text></g></a> <a href="/2022/talks/treesitter" title="Tree-sitter beyond syntax highlighting"> <title> Tree-sitter beyond syntax highlighting</title> <rect x="-2045" y="50" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="5,5,5" fill="lightgray"></rect> <g transform="translate(-2033,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> treesitter</text></g></a> <a href="/2022/talks/lspbridge" title="lsp-bridge: complete asynchronous LSP client"> <title> lsp-bridge: complete asynchronous LSP client</title> <rect x="-2015" y="50" opacity="0.8" width="29" height="34" stroke="black" stroke-dasharray="5,5,5" fill="lightgray"></rect> <g transform="translate(-1988,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> lspbridge</text></g></a> <a href="/2022/talks/asmblox" title="asm-blox: a game based on WebAssembly that no one asked for"> <title> asm-blox: a game based on WebAssembly that no one asked for</title> <rect x="-1971" y="50" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(-1959,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> asmblox</text></g></a> <a href="/2022/talks/wayland" title="Emacs should become a Wayland compositor"> <title> Emacs should become a Wayland compositor</title> <rect x="-1919" y="50" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(-1907,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> wayland</text></g></a> <a href="/" title="LUNCH"> <title> LUNCH</title> <rect x="-1867" y="50" opacity="0.8" width="88" height="34" stroke="black" stroke-dasharray="" fill="white"></rect> <g transform="translate(-1781,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> LUNCH</text></g></a> <a href="/2022/talks/sqlite" title="Using SQLite as a data source: a framework and an example"> <title> Using SQLite as a data source: a framework and an example</title> <rect x="-1778" y="50" opacity="0.8" width="29" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(-1751,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> sqlite</text></g></a> <a href="/2022/talks/mail" title="Revisiting the anatomy of Emacs mail user agents"> <title> Revisiting the anatomy of Emacs mail user agents</title> <rect x="-1712" y="50" opacity="0.8" width="44" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(-1670,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> mail</text></g></a> <a href="/" title="BREAK"> <title> BREAK</title> <rect x="-1630" y="50" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="" fill="white"></rect> <g transform="translate(-1618,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> BREAK</text></g></a> <a href="/2022/talks/maint" title="Maintaining the Maintainers: Attribution as an Economic Model for Open Source"> <title> Maintaining the Maintainers: Attribution as an Economic Model for Open Source</title> <rect x="-1615" y="50" opacity="0.8" width="29" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(-1588,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> maint</text></g></a> <a href="/2022/talks/eev" title="Bidirectional links with eev"> <title> Bidirectional links with eev</title> <rect x="-1549" y="50" opacity="0.8" width="7" height="34" stroke="black" stroke-dasharray="5,5,5" fill="lightgreen"></rect> <g transform="translate(-1544,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> eev</text></g></a> <a href="/2022/talks/python" title="Short hyperlinks to Python docs"> <title> Short hyperlinks to Python docs</title> <rect x="-1526" y="50" opacity="0.8" width="7" height="34" stroke="black" stroke-dasharray="5,5,5" fill="lightgreen"></rect> <g transform="translate(-1521,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> python</text></g></a> <a href="/2022/talks/haskell" title="Haskell code exploration with Emacs"> <title> Haskell code exploration with Emacs</title> <rect x="-1504" y="50" opacity="0.8" width="44" height="34" stroke="black" stroke-dasharray="" fill="lightgray"></rect> <g transform="translate(-1462,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> haskell</text></g></a> <a href="/2022/talks/rde" title="rde Emacs introduction"> <title> rde Emacs introduction</title> <rect x="88" y="50" opacity="0.8" width="29" height="34" stroke="black" stroke-dasharray="" fill="lightgray"></rect> <g transform="translate(115,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> rde</text></g></a> <a href="/2022/talks/justl" title="justl: Driving recipes within Emacs"> <title> justl: Driving recipes within Emacs</title> <rect x="155" y="50" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="5,5,5" fill="lightgray"></rect> <g transform="translate(167,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> justl</text></g></a> <a href="/2022/talks/tramp" title="Elisp and the TRAMP: How to NOT write code you don't have to"> <title> Elisp and the TRAMP: How to NOT write code you don't have to</title> <rect x="185" y="50" opacity="0.8" width="44" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(227,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> tramp</text></g></a> <a href="/" title="LUNCH"> <title> LUNCH</title> <rect x="266" y="50" opacity="0.8" width="88" height="34" stroke="black" stroke-dasharray="" fill="white"></rect> <g transform="translate(352,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> LUNCH</text></g></a> <a href="/2022/talks/detached" title="Getting detached from Emacs"> <title> Getting detached from Emacs</title> <rect x="355" y="50" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(367,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> detached</text></g></a> <a href="/2022/talks/eshell" title="Top 10 reasons why you should be using Eshell"> <title> Top 10 reasons why you should be using Eshell</title> <rect x="407" y="50" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="" fill="lightgray"></rect> <g transform="translate(419,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> eshell</text></g></a> <a href="/2022/talks/async" title="Emacs was async before async was cool"> <title> Emacs was async before async was cool</title> <rect x="459" y="50" opacity="0.8" width="29" height="34" stroke="black" stroke-dasharray="" fill="lightgray"></rect> <g transform="translate(486,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> async</text></g></a> <a href="/" title="BREAK"> <title> BREAK</title> <rect x="525" y="50" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="" fill="white"></rect> <g transform="translate(537,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> BREAK</text></g></a> <a href="/2022/talks/dbus" title="The Wheels on D-Bus"> <title> The Wheels on D-Bus</title> <rect x="540" y="50" opacity="0.8" width="29" height="34" stroke="black" stroke-dasharray="" fill="lightgray"></rect> <g transform="translate(567,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> dbus</text></g></a> <a href="/2022/talks/localizing" title="Pre-localizing Emacs"> <title> Pre-localizing Emacs</title> <rect x="622" y="50" opacity="0.8" width="29" height="34" stroke="black" stroke-dasharray="" fill="lightgray"></rect> <g transform="translate(649,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> localizing</text></g></a> <g transform="translate(0,15)"> <line stroke="lightgray" x1="0" y1="0" x2="0" y2="70"></line> <text fill="darkgray" x="0" y="83" font-size="10" text-anchor="middle"> 9</text></g> <g transform="translate(88,15)"> <line stroke="lightgray" x1="0" y1="0" x2="0" y2="70"></line> <text fill="darkgray" x="0" y="83" font-size="10" text-anchor="middle"> 10</text></g> <g transform="translate(177,15)"> <line stroke="lightgray" x1="0" y1="0" x2="0" y2="70"></line> <text fill="darkgray" x="0" y="83" font-size="10" text-anchor="middle"> 11</text></g> <g transform="translate(266,15)"> <line stroke="lightgray" x1="0" y1="0" x2="0" y2="70"></line> <text fill="darkgray" x="0" y="83" font-size="10" text-anchor="middle"> 12</text></g> <g transform="translate(355,15)"> <line stroke="lightgray" x1="0" y1="0" x2="0" y2="70"></line> <text fill="darkgray" x="0" y="83" font-size="10" text-anchor="middle"> 1</text></g> <g transform="translate(444,15)"> <line stroke="lightgray" x1="0" y1="0" x2="0" y2="70"></line> <text fill="darkgray" x="0" y="83" font-size="10" text-anchor="middle"> 2</text></g> <g transform="translate(533,15)"> <line stroke="lightgray" x1="0" y1="0" x2="0" y2="70"></line> <text fill="darkgray" x="0" y="83" font-size="10" text-anchor="middle"> 3</text></g> <g transform="translate(622,15)"> <line stroke="lightgray" x1="0" y1="0" x2="0" y2="70"></line> <text fill="darkgray" x="0" y="83" font-size="10" text-anchor="middle"> 4</text></g> <g transform="translate(711,15)"> <line stroke="lightgray" x1="0" y1="0" x2="0" y2="70"></line> <text fill="darkgray" x="0" y="83" font-size="10" text-anchor="middle"> 5</text></g></g></svg> \ No newline at end of file
diff --git a/2022/schedule-details.md b/2022/schedule-details.md
index 9e8e7aae..78028a59 100644
--- a/2022/schedule-details.md
+++ b/2022/schedule-details.md
@@ -27,10 +27,10 @@
<h1><span class="sched-track Development">Development talks</h1>
-[[!template id=sched title="asm-blox: a game based on WebAssembly that no one asked for" url="/2022/talks/asmblox" speakers="Zachary Romero" q-and-a="live"]]
[[!template id=sched title="Tree-sitter beyond syntax highlighting" url="/2022/talks/treesitter" speakers="Abin Simon" q-and-a="IRC or pad after event"]]
-[[!template id=sched title="Emacs should become a Wayland compositor" url="/2022/talks/wayland" speakers="Michael Bauer" q-and-a="live"]]
[[!template id=sched title="lsp-bridge: complete asynchronous LSP client" url="/2022/talks/lspbridge" speakers="Andy Stewart" q-and-a="IRC"]]
+[[!template id=sched title="asm-blox: a game based on WebAssembly that no one asked for" url="/2022/talks/asmblox" speakers="Zachary Romero" q-and-a="live"]]
+[[!template id=sched title="Emacs should become a Wayland compositor" url="/2022/talks/wayland" speakers="Michael Bauer" q-and-a="live"]]
[[!template id=sched title="Using SQLite as a data source: a framework and an example" url="/2022/talks/sqlite" speakers="Andrew Hyatt" q-and-a="live"]]
[[!template id=sched title="Revisiting the anatomy of Emacs mail user agents" url="/2022/talks/mail" speakers="Mohsen BANAN" q-and-a="live"]]
[[!template id=sched title="Maintaining the Maintainers: Attribution as an Economic Model for Open Source" url="/2022/talks/maint" speakers="Sid Kasivajhula" q-and-a="live"]]