diff options
-rw-r--r-- | 2022/organizers-notebook.md | 321 | ||||
-rw-r--r-- | 2022/organizers-notebook/index.org | 136 | ||||
-rw-r--r-- | 2022/organizers-notebook/schedule.svg | 2 |
3 files changed, 355 insertions, 104 deletions
diff --git a/2022/organizers-notebook.md b/2022/organizers-notebook.md index 99e9a19e..4f6274db 100644 --- a/2022/organizers-notebook.md +++ b/2022/organizers-notebook.md @@ -6,14 +6,14 @@ This file is automatically exported from [2022/organizers-notebook/index.org](.. # Table of Contents -1. [Current tasks / status](#current) -2. [Things to figure out / decisions to make](#decisions) -3. [Roles needed](#roles) -4. [Other tasks and processes](#other) -5. [Task archive](#archive):ARCHIVE: -6. [Communications](#comms) -7. [Supporting code](#code) -8. [Lessons learned](#lessons) +- [Current tasks / status](#current) +- [Things to figure out / decisions to make](#decisions) +- [Roles needed](#roles) +- [Other tasks and processes](#other) +- [Task archive](#archive):ARCHIVE: +- [Communications](#comms) +- [Supporting code](#code) +- [Lessons learned](#lessons) <a id="current"></a> @@ -101,9 +101,9 @@ Planned dates and phases: Current phase: No prerecs to process yet, so it's a good time to focus on infrastructure -1. [Time-sensitive](#time-sensitive) -2. [Projects and other long-running tasks](#projects) -3. [Projects to bear in mind but which are not actual](#maybe-projects) +- [Time-sensitive](#time-sensitive) +- [Projects and other long-running tasks](#projects) +- [Projects to bear in mind but which are not actual](#maybe-projects) [Overall prioritization of effort](#overall) @@ -114,11 +114,12 @@ on infrastructure Ordered chronologically (and therefore by importance). -1. [Volunteer communications: E-mail update for Oct 9, 2022](#volunteer-2022-10-09):email:volunteers: -2. [Remind people about confirming e-mail communications](#confirm-email):sachac:email:speakers: -3. [Send people schedule information and doublecheck their availability/Q&A preference](#check-sched):sachac:email:speakers: -4. [Send program-published email for emacsconf-discuss](#announce-program):needsowner:timesensitive:email: -5. [Prepare email for nudging speakers to send prerec, and inform on upload workflow](#mail-upload):timesensitive:needsowner: +- [Volunteer communications: E-mail update for Oct 9, 2022](#volunteer-2022-10-09):email:volunteers: +- [Remind people about confirming e-mail communications](#confirm-email):sachac:email:speakers: +- [Plan communication rhythm](#orgd828032) +- [Send people schedule information and doublecheck their availability/Q&A preference](#check-sched):sachac:email:speakers: +- [Send program-published email for emacsconf-discuss](#announce-program):needsowner:timesensitive:email: +- [Prepare email for nudging speakers to send prerec, and inform on upload workflow](#mail-upload):timesensitive:needsowner: <a id="volunteer-2022-10-09"></a> @@ -151,15 +152,192 @@ You're receiving this e-mail because you're on the emacsconf-org mailing list. <a id="confirm-email"></a> -### TODO Remind people about confirming e-mail communications :sachac:email:speakers: +### DONE Remind people about confirming e-mail communications :sachac:email:speakers: Look for the TO\_CONFIRM status in conf.org, probably include in schedule e-mail +<a id="orgd828032"></a> + +### TODO Plan communication rhythm + +<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"> + + +<colgroup> +<col class="org-left" /> + +<col class="org-left" /> + +<col class="org-left" /> +</colgroup> +<tbody> +<tr> +<td class="org-left"> </td> +<td class="org-left">Speakers</td> +<td class="org-left">Volunteers</td> +</tr> + + +<tr> +<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2022-09-30 Fri]</span></span></td> +<td class="org-left">acceptance, reply to confirm</td> +<td class="org-left">overall priorities</td> +</tr> + + +<tr> +<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2022-10-09 Sun]</span></span></td> +<td class="org-left">schedule, reply if not okay</td> +<td class="org-left">infra update</td> +</tr> + + +<tr> +<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2022-10-16 Sun]</span></span></td> +<td class="org-left"> </td> +<td class="org-left">shifts</td> +</tr> + + +<tr> +<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2022-10-23 Sun]</span></span></td> +<td class="org-left">file upload instructions</td> +<td class="org-left">caption training?</td> +</tr> + + +<tr> +<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2022-10-30 Sun]</span></span></td> +<td class="org-left"> </td> +<td class="org-left"> </td> +</tr> + + +<tr> +<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2022-11-06 Sun]</span></span></td> +<td class="org-left">prerec confirmation/reminder, caption progress</td> +<td class="org-left">caption kickoff</td> +</tr> + + +<tr> +<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2022-11-13 Sun]</span></span></td> +<td class="org-left">tech check</td> +<td class="org-left"> </td> +</tr> + + +<tr> +<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2022-11-20 Sun]</span></span></td> +<td class="org-left">checkin instructions</td> +<td class="org-left"> </td> +</tr> + + +<tr> +<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2022-11-27 Sun]</span></span></td> +<td class="org-left">last weekend before EmacsConf</td> +<td class="org-left"> </td> +</tr> +</tbody> +</table> + + <a id="check-sched"></a> ### TODO Send people schedule information and doublecheck their availability/Q&A preference :sachac:email:speakers: + (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) + (emacsconf-mail-prepare + (or template (emacsconf-mail-merge-get-template "check-sched")) + group + (list + :titles + (mapconcat (lambda (o) (format "%s %s" + (plist-get o :title) + (format-time-string + "%b %-e %I:%M %Z" + (plist-get o :start-time) + emacsconf-timezone))) + (cdr group) " and ") + :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) + :schedule + (mapconcat + (lambda (o) (format "\"%s\" (%s) - %s track\n%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 (list emacsconf-timezone (plist-get o :timezone) "UTC")) + emacsconf-timezones))) + (emacsconf-timezone-strings o)) + "\n"))) + (cdr group) + "\n----------------------------------------------------------------\n") + :timezone-note + (if (plist-get (cadr group) :timezone) + (format "I've included a conversion to the %s timezone. 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 + (if (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.") + (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 ")))))) + + +#### Template + +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} + +--- + +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. + +If you'd like to see the other talks for context, please 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. + +${availability-note} Please let us know if the times don't work for +you or if you think your talk would go better next to a different +talk. We're aiming to publish the schedule by **Oct 15**, so we'd love +to hear from you by then if we need to tweak things. We can +shuffle things around even after that date if something comes up. +${timezone-note} Please keep emacsconf-submit@gnu.org in To or Cc when +replying. Thanks!${wrap} + +Sacha + <a id="announce-program"></a> @@ -199,24 +377,24 @@ Blocked by [Figure out web-based file upload](#upload) ## Projects and other long-running tasks -1. [Figure out web-based file upload](#upload):needsowner:zaeph:bandali: -2. [Coordinate and help volunteers](#coordinate-volunteers):sachac: -3. [Prepare for prerecs](#prepare-prerec-process):zaeph: -4. [Delete all the EmacsConf BBB rooms from last year](#bbb-cleanup):chore:bbb: -5. [Plan Etherpad use and hosting](#etherpad):sachac: -6. [Update IRC instructions because of multiple tracks](#irc) -7. [Investigate streaming options, maybe OBS in the cloud](#streaming):corwin:zaeph: -8. [Work on the OBS scenes](#obs-scenes):zaeph:corwin: -9. [Make intro and exit videos](#intro) -10. [Move scheduling and publishing code to Emacs on a VPS so that other people can help out](#publishing-sched):sachac: -11. [Add nice-to-have stuff to prepare.md](#extra-prepare):zaeph: -12. [Find volunteers for tech-checks](#tech-checks):zaeph: -13. [Update viewing instructions and watch pages](#write-viewing):zaeph: -14. [Make talk pages easy to update when the talk is live](#publish-live):sachac: -15. [Set up talks on Toobnix and YouTube](#video-platforms):sachac: -16. [Add category tags and possibly links between talks across 2022 and all previous years](#link-pages):needsowner:wiki: -17. [Figure out why ikiwiki runs into complex regular expression issues?](#org110cc76):infra:wiki: -18. [Ask speakers for bios or support nudges to include on their talk pages](#org58a15b2) +- [Figure out web-based file upload](#upload):needsowner:zaeph:bandali: +- [Coordinate and help volunteers](#coordinate-volunteers):sachac: +- [Prepare for prerecs](#prepare-prerec-process):zaeph: +- [Delete all the EmacsConf BBB rooms from last year](#bbb-cleanup):chore:bbb: +- [Plan Etherpad use and hosting](#etherpad):sachac: +- [Update IRC instructions because of multiple tracks](#irc) +- [Investigate streaming options, maybe OBS in the cloud](#streaming):corwin:zaeph: +- [Work on the OBS scenes](#obs-scenes):zaeph:corwin: +- [Make intro and exit videos](#intro) +- [Move scheduling and publishing code to Emacs on a VPS so that other people can help out](#publishing-sched):sachac: +- [Add nice-to-have stuff to prepare.md](#extra-prepare):zaeph: +- [Find volunteers for tech-checks](#tech-checks):zaeph: +- [Update viewing instructions and watch pages](#write-viewing):zaeph: +- [Make talk pages easy to update when the talk is live](#publish-live):sachac: +- [Set up talks on Toobnix and YouTube](#video-platforms):sachac: +- [Add category tags and possibly links between talks across 2022 and all previous years](#link-pages):needsowner:wiki: +- [Figure out why ikiwiki runs into complex regular expression issues?](#org8ab2dd1):infra:wiki: +- [Ask speakers for bios or support nudges to include on their talk pages](#org8947d3c) Ordered by importance. @@ -278,7 +456,7 @@ Considerations: - Figure out what information volunteers need in order to feel comfortable signing up for tasks. ex: <https://wiki.debian.org/DebConf/21/VideoVolunteering> -- Encourage people to sign up for [3.3.1](#shifts) +- Encourage people to sign up for [Shifts](#shifts) <a id="prepare-prerec-process"></a> @@ -384,7 +562,7 @@ See break commercials <a id="publishing-sched"></a> -### 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: Ideal: @@ -398,9 +576,11 @@ Where: Nice if there's an Ansible playbook sachac's notes: - <file:///home/zaeph/code/docker/emacsconf-publish/> + <file:///home/sacha/code/docker/emacsconf-publish/> - probably good to set it up on front +It's now on front. + <a id="extra-prepare"></a> @@ -476,12 +656,12 @@ Also add to watch page You can make a new heading called `# Related talks` -<a id="org110cc76"></a> +<a id="org8ab2dd1"></a> ### TODO Figure out why ikiwiki runs into complex regular expression issues? :infra:wiki: -<a id="org58a15b2"></a> +<a id="org8947d3c"></a> ### TODO Ask speakers for bios or support nudges to include on their talk pages @@ -507,16 +687,16 @@ Note on how DebConf handled incidents: # Things to figure out / decisions to make -1. [How fancy do we want to get this year? (overall prioritization)](#overall) -2. [How do we want to make the full schedule more manageable?](#sched-decision) -3. [How much do we want to enrich the wiki with JS?](#wiki-design) -4. [What ideas do we want to borrow from other conferences?](#other-confs) -5. [Do we want to make the ikiwiki web-editable?](#cgi) -6. [How do we want to make better use of Etherpad?](#pad-decision) -7. [Can we nudge people to ask IRC questions in a way that will make it easier for us to follow them?](#irc-markers) -8. [How many BBB rooms do we want to set up?](#bbb-rooms) -9. [Do we want people to advertise any openings with their companies or any work that they're looking for?](#advertising) -10. [Decision archive](#decision-archive) +- [How fancy do we want to get this year? (overall prioritization)](#overall) +- [How do we want to make the full schedule more manageable?](#sched-decision) +- [How much do we want to enrich the wiki with JS?](#wiki-design) +- [What ideas do we want to borrow from other conferences?](#other-confs) +- [Do we want to make the ikiwiki web-editable?](#cgi) +- [How do we want to make better use of Etherpad?](#pad-decision) +- [Can we nudge people to ask IRC questions in a way that will make it easier for us to follow them?](#irc-markers) +- [How many BBB rooms do we want to set up?](#bbb-rooms) +- [Do we want people to advertise any openings with their companies or any work that they're looking for?](#advertising) +- [Decision archive](#decision-archive) <a id="overall"></a> @@ -1191,16 +1371,16 @@ Interested in a shift? Please e-mail <mailto:emacsconf-org-private@gnu.org> and # Other tasks and processes -1. [Giving conf.org access to a new volunteer or fake user](#org15be4bc) -2. [As prerecorded talks come in](#prerec-process) -3. [When a talk is captioned](#when-captioned) -4. [Other tasks before the conference](#before) -5. [During the conference](#during-conference) -6. [After the conference](#after-conference) -7. [In case of](#exceptions) +- [Giving conf.org access to a new volunteer or fake user](#org7f2fc7c) +- [As prerecorded talks come in](#prerec-process) +- [When a talk is captioned](#when-captioned) +- [Other tasks before the conference](#before) +- [During the conference](#during-conference) +- [After the conference](#after-conference) +- [In case of](#exceptions) -<a id="org15be4bc"></a> +<a id="org7f2fc7c"></a> ## Giving conf.org access to a new volunteer or fake user @@ -1728,7 +1908,7 @@ Probably focus on grabbing the audio first and seeing what's worth keeping Make a table of the form -<table id="org63d4e37" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"> +<table id="org2eb43d0" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"> <colgroup> @@ -2031,17 +2211,10 @@ Objectives for this e-mail: - Get them to reply - Ask for public contact information or any changes to the wiki page + (defun emacsconf-draft-acceptance-for-email-group (group &optional template) "GROUP is (email . (talk talk))." - (interactive - (list - (save-window-excursion - (let* ((emacsconf-talk-info-functions (append emacsconf-talk-info-functions '(emacsconf-get-talk-comments-from-subtree))) - (info (emacsconf-filter-talks (emacsconf-get-talk-info))) - (grouped (seq-group-by (lambda (o) (plist-get o :email)) info)) - (slug (emacsconf-get-slug-from-string (emacsconf-complete-talk))) - (email (plist-get (seq-find (lambda (o) (string= (plist-get o :slug) slug)) info) :email))) - (assoc email grouped))))) + (interactive (list (emacsconf-mail-complete-email-group))) (let* ((template (or template (emacsconf-mail-merge-get-template "acceptance"))) (talks (cdr group)) (first (car talks)) @@ -2096,17 +2269,7 @@ Objectives for this e-mail: :prerec-target (format-time-string "%b %-e" prerec-target))) (plist-get o :acceptance-comment)) 72))) talks "\n---------------------------------------------------------------------\n")))) - (compose-mail - (car group) - (emacsconf-replace-plist-in-string attrs (plist-get template :subject)) - `(("Reply-To" . ,(emacsconf-replace-plist-in-string attrs (plist-get template :reply-to))) - ("Mail-Followup-To" . ,(emacsconf-replace-plist-in-string attrs (plist-get template :mail-followup-to))) - ("Cc" . ,(plist-get template :cc)))) - (message-sort-headers) - (message-goto-body) - (save-excursion (insert (emacsconf-replace-plist-in-string attrs (plist-get template :body))) - (goto-char (point-min)) - (emacsconf-mail-merge-wrap)))) + (emacsconf-mail-prepare template group attrs))) (defun emacsconf-draft-all-acceptances () (interactive) diff --git a/2022/organizers-notebook/index.org b/2022/organizers-notebook/index.org index 70bd7252..bd1afa74 100644 --- a/2022/organizers-notebook/index.org +++ b/2022/organizers-notebook/index.org @@ -104,21 +104,126 @@ Help wanted / upcoming tasks: You're receiving this e-mail because you're on the emacsconf-org mailing list. -*** TODO Remind people about confirming e-mail communications :sachac:email:speakers: -SCHEDULED: <2022-10-08 Sat> +*** 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 communication rhythm + +| | Speakers | Volunteers | +| [2022-09-30] | acceptance, reply to confirm | overall priorities | +| [2022-10-09 Sun] | schedule, reply if not okay | infra update | +| [2022-10-16 Sun] | | shifts | +| [2022-10-23 Sun] | file upload instructions | caption training? | +| [2022-10-30 Sun] | | | +| [2022-11-06 Sun] | prerec confirmation/reminder, caption progress | caption kickoff | +| [2022-11-13 Sun] | tech check | | +| [2022-11-20 Sun] | checkin instructions | | +| [2022-11-27 Sun] | last weekend before EmacsConf | | *** TODO Send people schedule information and doublecheck their availability/Q&A preference :sachac:email:speakers: 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) + (emacsconf-mail-prepare + (or template (emacsconf-mail-merge-get-template "check-sched")) + group + (list + :titles + (mapconcat (lambda (o) (format "%s %s" + (plist-get o :title) + (format-time-string + "%b %-e %I:%M %Z" + (plist-get o :start-time) + emacsconf-timezone))) + (cdr group) " and ") + :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) + :schedule + (mapconcat + (lambda (o) (format "\"%s\" (%s) - %s track\n%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 (list emacsconf-timezone (plist-get o :timezone) "UTC")) + emacsconf-timezones))) + (emacsconf-timezone-strings o)) + "\n"))) + (cdr group) + "\n----------------------------------------------------------------\n") + :timezone-note + (if (plist-get (cadr group) :timezone) + (format "I've included a conversion to the %s timezone. 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 + (if (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.") + (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} +: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} +---------------------------------------------------------------- + +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. + +If you'd like to see the other talks for context, please 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. + +${availability-note} Please let us know if the times don't work for +you or if you think your talk would go better next to a different +talk. We're aiming to publish the schedule by *Oct 15*, so we'd love +to hear from you by then if we need to tweak things. We can +shuffle things around even after that date if something comes up. +${timezone-note} Please keep emacsconf-submit@gnu.org in To or Cc when +replying. Thanks!${wrap} + +Sacha + *** TODO Send program-published email for emacsconf-discuss :needsowner:timesensitive:email: DEADLINE: <2022-10-14 Fri> SCHEDULED: <2022-10-11 Tue> :PROPERTIES: @@ -1810,17 +1915,10 @@ Objectives for this e-mail: - Ask for public contact information or any changes to the wiki page #+begin_src emacs-lisp + (defun emacsconf-draft-acceptance-for-email-group (group &optional template) "GROUP is (email . (talk talk))." - (interactive - (list - (save-window-excursion - (let* ((emacsconf-talk-info-functions (append emacsconf-talk-info-functions '(emacsconf-get-talk-comments-from-subtree))) - (info (emacsconf-filter-talks (emacsconf-get-talk-info))) - (grouped (seq-group-by (lambda (o) (plist-get o :email)) info)) - (slug (emacsconf-get-slug-from-string (emacsconf-complete-talk))) - (email (plist-get (seq-find (lambda (o) (string= (plist-get o :slug) slug)) info) :email))) - (assoc email grouped))))) + (interactive (list (emacsconf-mail-complete-email-group))) (let* ((template (or template (emacsconf-mail-merge-get-template "acceptance"))) (talks (cdr group)) (first (car talks)) @@ -1875,17 +1973,7 @@ Objectives for this e-mail: :prerec-target (format-time-string "%b %-e" prerec-target))) (plist-get o :acceptance-comment)) 72))) talks "\n---------------------------------------------------------------------\n")))) - (compose-mail - (car group) - (emacsconf-replace-plist-in-string attrs (plist-get template :subject)) - `(("Reply-To" . ,(emacsconf-replace-plist-in-string attrs (plist-get template :reply-to))) - ("Mail-Followup-To" . ,(emacsconf-replace-plist-in-string attrs (plist-get template :mail-followup-to))) - ("Cc" . ,(plist-get template :cc)))) - (message-sort-headers) - (message-goto-body) - (save-excursion (insert (emacsconf-replace-plist-in-string attrs (plist-get template :body))) - (goto-char (point-min)) - (emacsconf-mail-merge-wrap)))) + (emacsconf-mail-prepare template group attrs))) (defun emacsconf-draft-all-acceptances () (interactive) diff --git a/2022/organizers-notebook/schedule.svg b/2022/organizers-notebook/schedule.svg index a5c4b3c5..940f4922 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="-118996" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(-118998,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="-121129" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(-118998,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="lightgreen"></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="lightgreen"></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="lightgray"></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="-119085" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(-118999,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="-121218" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(-118998,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/localizing" title="Pre-localizing Emacs"> <title> Pre-localizing Emacs</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)"> localizing</text></g></a> <a href="/2022/talks/treesitter" title="Tree-sitter beyond syntax highlighting"> <title> Tree-sitter beyond syntax highlighting</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)"> 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="185" y="50" opacity="0.8" width="29" height="34" stroke="black" stroke-dasharray="5,5,5" fill="lightgreen"></rect> <g transform="translate(212,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/wayland" title="Emacs should become a Wayland compositor"> <title> Emacs should become a Wayland compositor</title> <rect x="2674" y="50" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(2686,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> wayland</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="2725" y="50" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(2737,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> asmblox</text></g></a> <a href="/2022/talks/dbus" title="The Wheels on D-Bus"> <title> The Wheels on D-Bus</title> <rect x="2777" y="50" opacity="0.8" width="29" height="34" stroke="black" stroke-dasharray="" fill="lightgray"></rect> <g transform="translate(2804,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> dbus</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="-118996" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(-121132,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="-121129" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(-121131,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="lightgreen"></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="lightgreen"></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="lightgray"></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="-119085" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(-121132,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="-121218" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(-121132,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/localizing" title="Pre-localizing Emacs"> <title> Pre-localizing Emacs</title> <rect x="-2045" y="50" opacity="0.8" width="29" height="34" stroke="black" stroke-dasharray="" fill="lightgray"></rect> <g transform="translate(-2018,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> localizing</text></g></a> <a href="/2022/talks/treesitter" title="Tree-sitter beyond syntax highlighting"> <title> Tree-sitter beyond syntax highlighting</title> <rect x="-1978" y="50" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="5,5,5" fill="lightgray"></rect> <g transform="translate(-1966,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="-1949" y="50" opacity="0.8" width="29" height="34" stroke="black" stroke-dasharray="5,5,5" fill="lightgreen"></rect> <g transform="translate(-1922,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/wayland" title="Emacs should become a Wayland compositor"> <title> Emacs should become a Wayland compositor</title> <rect x="540" y="50" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(552,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> wayland</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="592" y="50" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(604,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> asmblox</text></g></a> <a href="/2022/talks/dbus" title="The Wheels on D-Bus"> <title> The Wheels on D-Bus</title> <rect x="644" y="50" opacity="0.8" width="29" 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)"> dbus</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="-119168" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(-119170,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="-121301" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(-119170,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="lightgreen"></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="lightgreen"></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="lightgray"></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="-119257" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(-119171,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="-121390" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(-119170,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/localizing" title="Pre-localizing Emacs"> <title> Pre-localizing Emacs</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)"> localizing</text></g></a> <a href="/2022/talks/treesitter" title="Tree-sitter beyond syntax highlighting"> <title> Tree-sitter beyond syntax highlighting</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)"> 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="185" y="50" opacity="0.8" width="29" height="34" stroke="black" stroke-dasharray="5,5,5" fill="lightgreen"></rect> <g transform="translate(212,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/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="2288" y="50" opacity="0.8" width="44" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(2330,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> tramp</text></g></a> <a href="/2022/talks/justl" title="justl: Driving recipes within Emacs"> <title> justl: Driving recipes within Emacs</title> <rect x="2370" y="50" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="5,5,5" fill="lightgray"></rect> <g transform="translate(2382,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> justl</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/wayland" title="Emacs should become a Wayland compositor"> <title> Emacs should become a Wayland compositor</title> <rect x="2674" y="50" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(2686,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> wayland</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="2725" y="50" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(2737,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> asmblox</text></g></a> <a href="/2022/talks/dbus" title="The Wheels on D-Bus"> <title> The Wheels on D-Bus</title> <rect x="2777" y="50" opacity="0.8" width="29" height="34" stroke="black" stroke-dasharray="" fill="lightgray"></rect> <g transform="translate(2804,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> dbus</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="-119168" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(-121304,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="-121301" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(-121303,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="lightgreen"></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="lightgreen"></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="lightgray"></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="-119257" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(-121304,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="-121390" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(-121304,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/localizing" title="Pre-localizing Emacs"> <title> Pre-localizing Emacs</title> <rect x="-2045" y="50" opacity="0.8" width="29" height="34" stroke="black" stroke-dasharray="" fill="lightgray"></rect> <g transform="translate(-2018,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> localizing</text></g></a> <a href="/2022/talks/treesitter" title="Tree-sitter beyond syntax highlighting"> <title> Tree-sitter beyond syntax highlighting</title> <rect x="-1978" y="50" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="5,5,5" fill="lightgray"></rect> <g transform="translate(-1966,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="-1949" y="50" opacity="0.8" width="29" height="34" stroke="black" stroke-dasharray="5,5,5" fill="lightgreen"></rect> <g transform="translate(-1922,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/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="155" y="50" opacity="0.8" width="44" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(197,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> tramp</text></g></a> <a href="/2022/talks/justl" title="justl: Driving recipes within Emacs"> <title> justl: Driving recipes within Emacs</title> <rect x="237" y="50" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="5,5,5" fill="lightgray"></rect> <g transform="translate(249,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> justl</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/wayland" title="Emacs should become a Wayland compositor"> <title> Emacs should become a Wayland compositor</title> <rect x="540" y="50" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(552,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> wayland</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="592" y="50" opacity="0.8" width="14" height="34" stroke="black" stroke-dasharray="" fill="lightgreen"></rect> <g transform="translate(604,83)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> asmblox</text></g></a> <a href="/2022/talks/dbus" title="The Wheels on D-Bus"> <title> The Wheels on D-Bus</title> <rect x="644" y="50" opacity="0.8" width="29" 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)"> dbus</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 |