summaryrefslogtreecommitdiffstats
path: root/2020/submissions.org
diff options
context:
space:
mode:
authorSacha Chua <sacha@sachachua.com>2020-12-12 00:52:38 -0500
committerSacha Chua <sacha@sachachua.com>2020-12-12 00:52:38 -0500
commit4dac85ef27c35d526edcb5c6bc1965bb26f84472 (patch)
treefb83de634859257c218c8a779ebb16b3ac8313fc /2020/submissions.org
parentab8dfc5d57475c546dbb0dc7b92194c230610fce (diff)
downloademacsconf-wiki-4dac85ef27c35d526edcb5c6bc1965bb26f84472.tar.xz
emacsconf-wiki-4dac85ef27c35d526edcb5c6bc1965bb26f84472.zip
More tweaks to code
Diffstat (limited to '2020/submissions.org')
-rw-r--r--2020/submissions.org448
1 files changed, 64 insertions, 384 deletions
diff --git a/2020/submissions.org b/2020/submissions.org
index e6a41970..5d7416f7 100644
--- a/2020/submissions.org
+++ b/2020/submissions.org
@@ -12,13 +12,15 @@ You can check out the Org Mode source for this page by following the [[https://e
#+TOC: headlines 3
-
* Actions
-- [[elisp:(org-babel-execute-buffer)][Execute buffer]] - start with this to get the function definitions
+You may want to =(setq org-confirm-babel-evaluate nil)=.
+
+- [[elisp:(org-babel-load-file "organizers-notebook.org")][Load code from organizers-notebook.org]] - run this to load function definitions or reset conf/info if the talk info changes
- [[elisp:(conf/update-talks)][Update talk info]] - run this after changing talk time or order
- [[elisp:(let ((org-agenda-skip-function (lambda () (unless (elt (org-heading-components) 2) (org-entry-end-position)))) (org-agenda-files (list (buffer-file-name)))) (org-agenda-list nil (org-read-date nil nil "2020-11-28") 2))][View as agenda]]
-- [[elisp:conf/generate-schedule-files][Generate schedule files]]
+- [[elisp:conf/generate-schedule-files][Generate schedule files]] - updates schedule-details.md; set conf/autogenerate-talk-pages to t if you want to overwrite individual talk pages too.
+- [[elisp:(org-md-export-to-markdown)][Export this file to Markdown]]
To update the information included in the individual talk page,
execute the buffer, update the talk's info/TALKID.md file.
@@ -32,17 +34,17 @@ execute the buffer, update the talk's info/TALKID.md file.
|------------+-------------+--------------+-------------------------------|
| Needs: 112 | 768 | 880 | Talks |
| | | | NOVEMBER 28 (Saturday) |
-| | | | 9:00 - 9:30 Opening remarks |
+| | | | Day 1 opening remarks |
| Needs: 30 | 120 | 150 | 9:30 - 12:00 User talks |
| | | | 12:00 - 13:00 Lunch |
| Needs: 12 | 168 | 180 | 13:00 - 16:30 Afternoon talks |
-| | | | 16:30 - 17:00 Closing remarks |
+| | | | Day 1 closing remarks |
| | | | NOVEMBER 29 (Sunday) |
-| | | | 9:00 - 9:10 Opening remarks |
+| | | | Day 2 opening remarks |
| Extra: 3 | 140 | 137 | 9:10 - 12:00 Morning talks |
| | | | 12:00 - 13:00 Lunch |
| Needs: 25 | 168 | 193 | 13:00 - 16:30 Afternoon talks |
-| | | | 16:30 - 17:00 Closing remarks |
+| | | | Day 2 closing remarks |
#+END:
** By slot
@@ -52,17 +54,17 @@ execute the buffer, update the talk's info/TALKID.md file.
**** 9:30 - 12:00 User talks :morning:
#+BEGIN: columnview :hlines 1 :id "talks" :format "%SCHEDULED%20ITEM%NAME%PREREC%AVAILABILITY" :match "sat+morning/!"
-| SCHEDULED | ITEM | NAME | PREREC | AVAILABILITY |
-|------------------------------+------------------------------------------------------------------------+-----------------------------+----------------+-------------------------------------|
-| <2020-11-28 Sat 09:33-09:37> | Emacs News Highlights | Sacha Chua | ready | prerec, maybe 9am-3pm EST |
-| <2020-11-28 Sat 09:40-10:00> | An Emacs Developer Story: From User to Package Maintainer | Leo Vivier | | 9am-12pm EST |
-| <2020-11-28 Sat 10:03-10:13> | Idea to Novel Superstructure: Emacs for Writing | Bala Ramadurai | done, live Q&A | 8:30am EST-12pm EST |
-| <2020-11-28 Sat 10:16-10:26> | Music in Plain Text | Jonathan Gregory | planned | ok |
-| <2020-11-28 Sat 10:29-10:45> | Bard Bivou(m)acs - Building a bandcamp-like page for an album of music | Grant Shangreaux | | 10am-5pm EST, daylight Central US |
-| <2020-11-28 Sat 10:48-10:58> | Trivial Emacs Kits | Corwin Brust | | ok |
-| <2020-11-28 Sat 11:01-11:21> | Beyond Vim and Emacs: A Scalable UI Paradigm | Sid Kasivajhula (countvaj`) | | PST, so maybe 11 AM EST - 5 PM EST? |
-| <2020-11-28 Sat 11:24-11:44> | Building reproducible Emacs | Andrew Tropin (abcdw) | | After 4pm UTC - 11am-5pm EST |
-| <2020-11-28 Sat 11:47-12:27> | On why most of the best features in eev look like 5-minute hacks | Eduardo Ochs (edrx) | planned | ok |
+| SCHEDULED | ITEM | NAME | PREREC | AVAILABILITY |
+|------------------------------+------------------------------------------------------------------------+--------------------------------+----------------+-------------------------------------|
+| <2020-11-28 Sat 09:33-09:37> | Emacs News Highlights | Sacha Chua | ready | prerec, maybe 9am-3pm EST |
+| <2020-11-28 Sat 09:40-10:00> | An Emacs Developer Story: From User to Package Maintainer | Leo Vivier | | 9am-12pm EST |
+| <2020-11-28 Sat 10:03-10:13> | Idea to Novel Superstructure: Emacs for Writing | Bala Ramadurai | done, live Q&A | 8:30am EST-12pm EST |
+| <2020-11-28 Sat 10:16-10:26> | Music in Plain Text | Jonathan Gregory | planned | ok |
+| <2020-11-28 Sat 10:29-10:45> | Bard Bivou(m)acs - Building a bandcamp-like page for an album of music | Grant Shangreaux | | 10am-5pm EST, daylight Central US |
+| <2020-11-28 Sat 10:48-10:58> | Trivial Emacs Kits | Corwin Brust (mplsCorwin) | | ok |
+| <2020-11-28 Sat 11:01-11:21> | Beyond Vim and Emacs: A Scalable UI Paradigm | Sid Kasivajhula (countvajhula) | | PST, so maybe 11 AM EST - 5 PM EST? |
+| <2020-11-28 Sat 11:24-11:44> | Building reproducible Emacs | Andrew Tropin (abcdw) | | After 4pm UTC - 11am-5pm EST |
+| <2020-11-28 Sat 11:47-12:27> | On why most of the best features in eev look like 5-minute hacks | Eduardo Ochs (edrx) | planned | ok |
#+END:
**** 13:00 - 16:30 Afternoon talks :afternoon:
@@ -81,7 +83,7 @@ execute the buffer, update the talk's info/TALKID.md file.
| <2020-11-28 Sat 15:17-15:37> | Org-mode and Org-Roam for Scholars and Researchers | Noorah Alhasan | | ok |
| <2020-11-28 Sat 15:40-16:00> | Org-roam: Technical Presentation | Leo Vivier | | 2:30-ish EST ok with tea; in CET timezone |
| <2020-11-28 Sat 16:03-16:13> | Sharing blogs (and more) with org-webring | Brett Gilio | | ok |
-| <2020-11-28 Sat 16:16-16:36> | OMG Macros | Corwin Brust | | ok |
+| <2020-11-28 Sat 16:16-16:36> | OMG Macros | Corwin Brust (mplsCorwin) | | ok |
#+END:
*** Sunday
@@ -102,18 +104,18 @@ execute the buffer, update the talk's info/TALKID.md file.
**** 13:00 - 16:30 Afternoon talks :afternoon:
#+BEGIN: columnview :hlines 1 :id "talks" :format "%SCHEDULED%20ITEM%NAME%PREREC%AVAILABILITY" :match "sun+afternoon/!"
-| SCHEDULED | ITEM | NAME | PREREC | AVAILABILITY |
-|------------------------------+---------------------------------------------------+----------------------------------+---------+----------------------------------------------------------------------------|
-| <2020-11-29 Sun 13:03-13:13> | Emacs as a Highschooler: How It Changed My Life | Pierce Wang | done | Sun 12pm EST onwards |
-| <2020-11-29 Sun 13:16-13:26> | State of Retro Gaming in Emacs | Vasilij "wasamasa" Schneidermann | done | 8am-10pm CET, so 9am-3pm EST |
-| <2020-11-29 Sun 13:29-14:19> | Welcome To The Dungeon | Erik Elmshauser and Corwin Brust | | ok |
-| <2020-11-29 Sun 14:22-14:42> | Pathing of Least Resistance | Erik Elmshauser and Corwin Brust | | ok |
-| <2020-11-29 Sun 14:45-14:55> | A tour of vterm | Gabriele Bozzola (@sbozzolo) | done | MST, so 11am-5pm EST |
-| <2020-11-29 Sun 14:58-15:14> | Lakota Language and Emacs | Grant Shangreaux | done | Central time, 10am EST-5pm EST |
-| <2020-11-29 Sun 15:17-15:41> | Object Oriented Code in the Gnus Newsreader | Eric Abrahamsen | planned | ok |
-| <2020-11-29 Sun 15:44-16:04> | Maxima a computer algebra system in Emacs | Fermin MF | | afternoon if possible |
-| <2020-11-29 Sun 16:07-16:27> | Extend Emacs to Modern GUI Applications with EAF | Matthew Zeng | | after 12pm EST both days; confirmed available November 29, 1pm-4:30pm EST. |
-| <2020-11-29 Sun 16:30-16:40> | WAVEing at Repetitive Repetitive Repetitive Music | Zachary Kanfer | done | ok |
+| SCHEDULED | ITEM | NAME | PREREC | AVAILABILITY |
+|------------------------------+---------------------------------------------------+-----------------------------------------------+---------+----------------------------------------------------------------------------|
+| <2020-11-29 Sun 13:03-13:13> | Emacs as a Highschooler: How It Changed My Life | Pierce Wang | done | Sun 12pm EST onwards |
+| <2020-11-29 Sun 13:16-13:26> | State of Retro Gaming in Emacs | Vasilij "wasamasa" Schneidermann | done | 8am-10pm CET, so 9am-3pm EST |
+| <2020-11-29 Sun 13:29-14:19> | Welcome To The Dungeon | Erik Elmshauser and Corwin Brust | | ok |
+| <2020-11-29 Sun 14:22-14:42> | Pathing of Least Resistance | Erik Elmshauser and Corwin Brust (mplsCorwin) | | ok |
+| <2020-11-29 Sun 14:45-14:55> | A tour of vterm | Gabriele Bozzola (@sbozzolo) | done | MST, so 11am-5pm EST |
+| <2020-11-29 Sun 14:58-15:14> | Lakota Language and Emacs | Grant Shangreaux | done | Central time, 10am EST-5pm EST |
+| <2020-11-29 Sun 15:17-15:41> | Object Oriented Code in the Gnus Newsreader | Eric Abrahamsen | planned | ok |
+| <2020-11-29 Sun 15:44-16:04> | Maxima a computer algebra system in Emacs | Fermin MF | | afternoon if possible |
+| <2020-11-29 Sun 16:07-16:30> | Extend Emacs to Modern GUI Applications with EAF | Matthew Zeng | | after 12pm EST both days; confirmed available November 29, 1pm-4:30pm EST. |
+| <2020-11-29 Sun 16:33-16:43> | WAVEing at Repetitive Repetitive Repetitive Music | Zachary Kanfer | done | ok |
#+END:
** Table for all talks
@@ -126,8 +128,8 @@ execute the buffer, update the talk's info/TALKID.md file.
| done, live Q&A | <2020-11-28 Sat 10:03-10:13> | Idea to Novel Superstructure: Emacs for Writing | Bala Ramadurai |
| planned | <2020-11-28 Sat 10:16-10:26> | Music in Plain Text | Jonathan Gregory |
| | <2020-11-28 Sat 10:29-10:45> | Bard Bivou(m)acs - Building a bandcamp-like page for an album of music | Grant Shangreaux |
-| | <2020-11-28 Sat 10:48-10:58> | Trivial Emacs Kits | Corwin Brust |
-| | <2020-11-28 Sat 11:01-11:21> | Beyond Vim and Emacs: A Scalable UI Paradigm | Sid Kasivajhula (countvaj`) |
+| | <2020-11-28 Sat 10:48-10:58> | Trivial Emacs Kits | Corwin Brust (mplsCorwin) |
+| | <2020-11-28 Sat 11:01-11:21> | Beyond Vim and Emacs: A Scalable UI Paradigm | Sid Kasivajhula (countvajhula) |
| | <2020-11-28 Sat 11:24-11:44> | Building reproducible Emacs | Andrew Tropin (abcdw) |
| planned | <2020-11-28 Sat 11:47-12:27> | On why most of the best features in eev look like 5-minute hacks | Eduardo Ochs (edrx) |
| | <2020-11-28 Sat 13:03-13:13> | Orgmode - your life in plain text | Rainer König |
@@ -141,7 +143,7 @@ execute the buffer, update the talk's info/TALKID.md file.
| | <2020-11-28 Sat 15:17-15:37> | Org-mode and Org-Roam for Scholars and Researchers | Noorah Alhasan |
| | <2020-11-28 Sat 15:40-16:00> | Org-roam: Technical Presentation | Leo Vivier |
| | <2020-11-28 Sat 16:03-16:13> | Sharing blogs (and more) with org-webring | Brett Gilio |
-| | <2020-11-28 Sat 16:16-16:36> | OMG Macros | Corwin Brust |
+| | <2020-11-28 Sat 16:16-16:36> | OMG Macros | Corwin Brust (mplsCorwin) |
| done | <2020-11-29 Sun 09:13-09:30> | Emacs development update | John Wiegley |
| | <2020-11-29 Sun 09:33-09:53> | Powering-up Special Blocks | Musa Al-hassy |
| 24min | <2020-11-29 Sun 09:56-10:46> | Incremental Parsing with emacs-tree-sitter | Tuấn-Anh Nguyễn |
@@ -151,13 +153,13 @@ execute the buffer, update the talk's info/TALKID.md file.
| done | <2020-11-29 Sun 13:03-13:13> | Emacs as a Highschooler: How It Changed My Life | Pierce Wang |
| done | <2020-11-29 Sun 13:16-13:26> | State of Retro Gaming in Emacs | Vasilij "wasamasa" Schneidermann |
| | <2020-11-29 Sun 13:29-14:19> | Welcome To The Dungeon | Erik Elmshauser and Corwin Brust |
-| | <2020-11-29 Sun 14:22-14:42> | Pathing of Least Resistance | Erik Elmshauser and Corwin Brust |
+| | <2020-11-29 Sun 14:22-14:42> | Pathing of Least Resistance | Erik Elmshauser and Corwin Brust (mplsCorwin) |
| done | <2020-11-29 Sun 14:45-14:55> | A tour of vterm | Gabriele Bozzola (@sbozzolo) |
| done | <2020-11-29 Sun 14:58-15:14> | Lakota Language and Emacs | Grant Shangreaux |
| planned | <2020-11-29 Sun 15:17-15:41> | Object Oriented Code in the Gnus Newsreader | Eric Abrahamsen |
| | <2020-11-29 Sun 15:44-16:04> | Maxima a computer algebra system in Emacs | Fermin MF |
-| | <2020-11-29 Sun 16:07-16:27> | Extend Emacs to Modern GUI Applications with EAF | Matthew Zeng |
-| done | <2020-11-29 Sun 16:30-16:40> | WAVEing at Repetitive Repetitive Repetitive Music | Zachary Kanfer |
+| | <2020-11-29 Sun 16:07-16:30> | Extend Emacs to Modern GUI Applications with EAF | Matthew Zeng |
+| done | <2020-11-29 Sun 16:33-16:43> | WAVEing at Repetitive Repetitive Repetitive Music | Zachary Kanfer |
#+END:
* Talks
@@ -196,17 +198,17 @@ SCHEDULED: <2020-11-28 Sat 09:00-09:30>
| -30 | 150 | 120 |
#+BEGIN: columnview :hlines 1 :id "talks" :format "%SCHEDULED%20ITEM%NAME%PREREC%AVAILABILITY" :match "sat+morning/!"
-| SCHEDULED | ITEM | NAME | PREREC | AVAILABILITY |
-|------------------------------+------------------------------------------------------------------------+-----------------------------+----------------+-------------------------------------|
-| <2020-11-28 Sat 09:33-09:37> | Emacs News Highlights | Sacha Chua | ready | prerec, maybe 9am-3pm EST |
-| <2020-11-28 Sat 09:40-10:00> | An Emacs Developer Story: From User to Package Maintainer | Leo Vivier | | 9am-12pm EST |
-| <2020-11-28 Sat 10:03-10:13> | Idea to Novel Superstructure: Emacs for Writing | Bala Ramadurai | done, live Q&A | 8:30am EST-12pm EST |
-| <2020-11-28 Sat 10:16-10:26> | Music in Plain Text | Jonathan Gregory | planned | ok |
-| <2020-11-28 Sat 10:29-10:45> | Bard Bivou(m)acs - Building a bandcamp-like page for an album of music | Grant Shangreaux | | 10am-5pm EST, daylight Central US |
-| <2020-11-28 Sat 10:48-10:58> | Trivial Emacs Kits | Corwin Brust | | ok |
-| <2020-11-28 Sat 11:01-11:21> | Beyond Vim and Emacs: A Scalable UI Paradigm | Sid Kasivajhula (countvaj`) | | PST, so maybe 11 AM EST - 5 PM EST? |
-| <2020-11-28 Sat 11:24-11:44> | Building reproducible Emacs | Andrew Tropin (abcdw) | | After 4pm UTC - 11am-5pm EST |
-| <2020-11-28 Sat 11:47-12:27> | On why most of the best features in eev look like 5-minute hacks | Eduardo Ochs (edrx) | planned | ok |
+| SCHEDULED | ITEM | NAME | PREREC | AVAILABILITY |
+|------------------------------+------------------------------------------------------------------------+--------------------------------+----------------+-------------------------------------|
+| <2020-11-28 Sat 09:33-09:37> | Emacs News Highlights | Sacha Chua | ready | prerec, maybe 9am-3pm EST |
+| <2020-11-28 Sat 09:40-10:00> | An Emacs Developer Story: From User to Package Maintainer | Leo Vivier | | 9am-12pm EST |
+| <2020-11-28 Sat 10:03-10:13> | Idea to Novel Superstructure: Emacs for Writing | Bala Ramadurai | done, live Q&A | 8:30am EST-12pm EST |
+| <2020-11-28 Sat 10:16-10:26> | Music in Plain Text | Jonathan Gregory | planned | ok |
+| <2020-11-28 Sat 10:29-10:45> | Bard Bivou(m)acs - Building a bandcamp-like page for an album of music | Grant Shangreaux | | 10am-5pm EST, daylight Central US |
+| <2020-11-28 Sat 10:48-10:58> | Trivial Emacs Kits | Corwin Brust (mplsCorwin) | | ok |
+| <2020-11-28 Sat 11:01-11:21> | Beyond Vim and Emacs: A Scalable UI Paradigm | Sid Kasivajhula (countvajhula) | | PST, so maybe 11 AM EST - 5 PM EST? |
+| <2020-11-28 Sat 11:24-11:44> | Building reproducible Emacs | Andrew Tropin (abcdw) | | After 4pm UTC - 11am-5pm EST |
+| <2020-11-28 Sat 11:47-12:27> | On why most of the best features in eev look like 5-minute hacks | Eduardo Ochs (edrx) | planned | ok |
#+END:
**** User stories
@@ -935,7 +937,7 @@ SCHEDULED: <2020-11-28 Sat 12:00-13:00>
| <2020-11-28 Sat 15:17-15:37> | Org-mode and Org-Roam for Scholars and Researchers | Noorah Alhasan | | ok |
| <2020-11-28 Sat 15:40-16:00> | Org-roam: Technical Presentation | Leo Vivier | | 2:30-ish EST ok with tea; in CET timezone |
| <2020-11-28 Sat 16:03-16:13> | Sharing blogs (and more) with org-webring | Brett Gilio | | ok |
-| <2020-11-28 Sat 16:16-16:36> | OMG Macros | Corwin Brust | | ok |
+| <2020-11-28 Sat 16:16-16:36> | OMG Macros | Corwin Brust (mplsCorwin) | | ok |
#+END:
**** in-progress Orgmode - your life in plain text :standard:tutorial:org:nudge:
@@ -2234,18 +2236,18 @@ SCHEDULED: <2020-11-29 Sun 12:00-13:00>
#+BEGIN: columnview :hlines 1 :id "talks" :format "%SCHEDULED%20ITEM%NAME%PREREC%AVAILABILITY" :match "sun+afternoon/!"
-| SCHEDULED | ITEM | NAME | PREREC | AVAILABILITY |
-|------------------------------+---------------------------------------------------+----------------------------------+---------+----------------------------------------------------------------------------|
-| <2020-11-29 Sun 13:03-13:13> | Emacs as a Highschooler: How It Changed My Life | Pierce Wang | done | Sun 12pm EST onwards |
-| <2020-11-29 Sun 13:16-13:26> | State of Retro Gaming in Emacs | Vasilij "wasamasa" Schneidermann | done | 8am-10pm CET, so 9am-3pm EST |
-| <2020-11-29 Sun 13:29-14:19> | Welcome To The Dungeon | Erik Elmshauser and Corwin Brust | | ok |
-| <2020-11-29 Sun 14:22-14:42> | Pathing of Least Resistance | Erik Elmshauser and Corwin Brust | | ok |
-| <2020-11-29 Sun 14:45-14:55> | A tour of vterm | Gabriele Bozzola (@sbozzolo) | done | MST, so 11am-5pm EST |
-| <2020-11-29 Sun 14:58-15:14> | Lakota Language and Emacs | Grant Shangreaux | done | Central time, 10am EST-5pm EST |
-| <2020-11-29 Sun 15:17-15:41> | Object Oriented Code in the Gnus Newsreader | Eric Abrahamsen | planned | ok |
-| <2020-11-29 Sun 15:44-16:04> | Maxima a computer algebra system in Emacs | Fermin MF | | afternoon if possible |
-| <2020-11-29 Sun 16:07-16:27> | Extend Emacs to Modern GUI Applications with EAF | Matthew Zeng | | after 12pm EST both days; confirmed available November 29, 1pm-4:30pm EST. |
-| <2020-11-29 Sun 16:30-16:40> | WAVEing at Repetitive Repetitive Repetitive Music | Zachary Kanfer | done | ok |
+| SCHEDULED | ITEM | NAME | PREREC | AVAILABILITY |
+|------------------------------+---------------------------------------------------+-----------------------------------------------+---------+----------------------------------------------------------------------------|
+| <2020-11-29 Sun 13:03-13:13> | Emacs as a Highschooler: How It Changed My Life | Pierce Wang | done | Sun 12pm EST onwards |
+| <2020-11-29 Sun 13:16-13:26> | State of Retro Gaming in Emacs | Vasilij "wasamasa" Schneidermann | done | 8am-10pm CET, so 9am-3pm EST |
+| <2020-11-29 Sun 13:29-14:19> | Welcome To The Dungeon | Erik Elmshauser and Corwin Brust | | ok |
+| <2020-11-29 Sun 14:22-14:42> | Pathing of Least Resistance | Erik Elmshauser and Corwin Brust (mplsCorwin) | | ok |
+| <2020-11-29 Sun 14:45-14:55> | A tour of vterm | Gabriele Bozzola (@sbozzolo) | done | MST, so 11am-5pm EST |
+| <2020-11-29 Sun 14:58-15:14> | Lakota Language and Emacs | Grant Shangreaux | done | Central time, 10am EST-5pm EST |
+| <2020-11-29 Sun 15:17-15:41> | Object Oriented Code in the Gnus Newsreader | Eric Abrahamsen | planned | ok |
+| <2020-11-29 Sun 15:44-16:04> | Maxima a computer algebra system in Emacs | Fermin MF | | afternoon if possible |
+| <2020-11-29 Sun 16:07-16:30> | Extend Emacs to Modern GUI Applications with EAF | Matthew Zeng | | after 12pm EST both days; confirmed available November 29, 1pm-4:30pm EST. |
+| <2020-11-29 Sun 16:33-16:43> | WAVEing at Repetitive Repetitive Repetitive Music | Zachary Kanfer | done | ok |
#+END:
**** in-progress Emacs as a Highschooler: How It Changed My Life :standard:user:community:timing:nudge:
@@ -3070,328 +3072,6 @@ the target time.
(org-entry-get (point) "TARGET_TIME")))
#+end_src
-Some conference-related functions
-
-#+begin_src emacs-lisp :exports code :results none :tangle "conf.el"
- (defun conf/find-talk (filter &optional info)
- (setq info (or info (conf/filter-talks conf/info)))
- (when (stringp filter) (setq filter (list filter)))
- (or (seq-find (lambda (o) (string= (plist-get o :talk-id) (car filter))) info)
- (seq-find (lambda (o)
- (let ((case-fold-search t)
- (all (mapconcat (lambda (f) (plist-get o f)) '(:title :speakers :talk-id) " ")))
- (null (seq-contains-p
- (mapcar (lambda (condition) (string-match condition all)) filter)
- nil))))
- info)))
-
-(defun conf/goto-talk-id (id)
- (goto-char (org-find-property "TALK_ID" id)))
-
-(defun conf/assign-ids ()
- "Assign numeric talk IDs."
- (interactive)
- (goto-char (point-min))
- ;; Determine the maximum ID assigned so far
- (let ((id
- (1+
- (apply 'max
- (or (mapcar
- 'string-to-number
- (org-map-entries
- (lambda ()
- (let ((org-trust-scanner-tags t))
- (org-entry-get (point) "TALK_ID"))) "TALK_ID>0" 'file))
- '(0))))))
- (goto-char (point-min))
- (while (re-search-forward "^ *:NAME: " nil t)
- (unless (org-entry-get (point) "TALK_ID")
- (org-set-property "TALK_ID" (format "%02d" id))
- (org-set-property "CUSTOM_ID" (format "talk%02d" id))
- (setq id (1+ id))))))
-
-(defun conf/update-talks ()
- (interactive)
- (save-excursion
- (conf/update-times)
- (conf/update-tables)
- (conf/update-schedules)))
-
-(defun conf/update-times ()
- (goto-char (point-min))
- (org-map-entries
- (lambda ()
- (when (org-entry-get (point) "TARGET_TIME")
- (conf/org-sum-min-time-in-subtree)
- (org-entry-put
- (point)
- "DIFFERENCE"
- (let ((diff
- (-
- (string-to-number (org-entry-get (point) "TARGET_TIME"))
- (string-to-number (org-entry-get (point) "MIN_TIME_SUM")))))
- (cond
- ((> diff 0) (format "Extra: %d" diff))
- ((< diff 0) (format "Needs: %d" (- diff)))
- (t "")))))) nil 'file))
-(defun conf/update-tables ()
- (goto-char (point-min))
- (while (re-search-forward "#\\+CALL: check_time()" nil t)
- (org-ctrl-c-ctrl-c))
- (goto-char (point-min))
- (while (re-search-forward "#\\+BEGIN: columnview" nil t)
- (org-ctrl-c-ctrl-c)))
-(defun conf/update-schedules ()
- (interactive)
- (goto-char (org-find-exact-headline-in-buffer "Talks"))
- (let (current-time scheduled end-time duration (buffer (seconds-to-time (* 3 60)))) ;; assumption: 3 minutes between talks
- (org-map-entries (lambda ()
- (if (org-entry-get (point) "FIXED_TIME")
- (setq current-time (org-get-scheduled-time (point))))
- (when (org-entry-get (point) "MIN_TIME")
- (setq duration (* (string-to-number (org-entry-get (point) "MIN_TIME")) 60)
- end-time (time-add current-time (seconds-to-time duration)))
- (org-set-property "SCHEDULED" (format "%s-%s" (org-format-time-string "%Y-%m-%d %H:%M" current-time)
- (org-format-time-string "%H:%M" end-time)))
- (setq current-time (time-add end-time buffer))))
- nil 'tree)))
-
-(defun conf/org-sum-min-time-in-subtree ()
- "Add up all the MIN_TIME properties of headings underneath the current one
-The total is written to the MIN_TIME_SUM property of this heading"
- (interactive)
- (org-entry-put
- (point)
- "MIN_TIME_SUM"
- (save-excursion
- (format "%d"
- (apply
- '+
- (mapcar 'string-to-number
- (delq nil
- (org-map-entries
- (lambda () (org-entry-get (point) "MIN_TIME")) nil 'tree))))))))
-
-#+end_src
-** Generate schedule file
-
-#+begin_src emacs-lisp :results none :eval yes :exports code :tangle "conf.el"
-
-(defvar conf/timezones '("EST" "America/Los_Angeles" "UTC" "CET" "Asia/Singapore") "List of timezones")
-
-(defun conf/get-talk-info ()
- (let (talk results)
- (org-map-entries (lambda ()
- (let ((heading (org-heading-components)))
- (cond
- ((and (elt heading 2) (or (null talk)
- (<= (car heading)
- (plist-get talk :level)))) ;; has a todo, therefore is a talk
- (when talk (setq results (cons talk results)))
- (setq talk (list
- :type 'talk
- :title (elt heading 4)
- :talk-id (org-entry-get (point) "TALK_ID")
- :status (elt heading 2)
- :level (car heading)
- :scheduled (org-entry-get (point) "SCHEDULED")
- :duration (org-entry-get (point) "DURATION")
- :time (org-entry-get (point) "MIN_TIME")
- :speakers (org-entry-get (point) "NAME"))))
- ((string-match "^ *Talk information *$" (elt heading 4))
- (plist-put talk :info
- (org-export-as 'md t nil t)))
- ((or (null talk) (< (car heading) (plist-get talk :level))) ;; heading above
- (when talk
- (setq results (cons talk results))
- (setq talk nil))
- (setq results (cons
- (list :type 'headline
- :level (car heading)
- :speakers (org-entry-get (point) "NAME")
- :duration (org-entry-get (point) "DURATION")
- :talk-id (org-entry-get (point) "TALK_ID")
- :title (elt heading 4)
- :scheduled (org-entry-get (point) "SCHEDULED"))
- results))))))
- nil 'tree)
- (when talk (setq results (cons talk results)))
- (reverse results)))
-
-(defun conf/filter-talks (list)
- "Return only talk info in LIST."
- (seq-filter
- (lambda (talk) (eq (plist-get talk :type) 'talk))
- list))
-
-(defun conf/format-talk-link (talk)
- (and talk (if (plist-get talk :talk-id)
- (format "<a href=\"/2020/talks/%s\">%s</a>"
- (plist-get talk :talk-id)
- (plist-get talk :title))
- (plist-get talk :title))))
-
-(defun conf/format-talk-info-as-schedule (info)
- (format "<table width=\"100%%\">%s</table>"
- (mapconcat
- (lambda (o)
- (let* ((time-fmt "%l:%M %p")
- (timestamp (org-timestamp-from-string (plist-get o :scheduled)))
- (start (if timestamp (format-time-string time-fmt (org-timestamp-to-time (org-timestamp-split-range timestamp))) ""))
- (end (if timestamp (format-time-string time-fmt (org-timestamp-to-time (org-timestamp-split-range timestamp t))) ""))
- (title (plist-get o :title))
- (speakers (plist-get o :speakers)))
- (if (eq (plist-get o :type) 'headline)
- (format "<tr><td colspan=\"4\"><strong>%s<strong></td></tr>"
- (if (plist-get o :talk-id)
- (conf/format-talk-link o)
- title))
- (format "<tr><td width=100>~%s</td><td width=100>~%s</td><td>%s</td><td>%s</td></tr>"
- start end (conf/format-talk-link o) speakers))))
- (cdr info) "\n")))
-
-(defun conf/filter-talks (info)
- (seq-filter (lambda (o) (plist-get o :talk-id)) info))
-
-(defun conf/split-out-talk-information ()
- (interactive)
- (let ((talks (conf/filter-talks (conf/get-talk-info-from-file))))
- (mapc (lambda (o)
- (with-temp-buffer
- (insert
- (format "# %s\n%s\n\n%s"
- (plist-get o :title)
- (plist-get o :speakers)
- (plist-get o :info)))
- (write-file (expand-file-name (format "%s.md" (plist-get o :talk-id)) "info"))))
- talks)))
-
-(defun conf/format-talk-pages (info)
- (let* ((talks (conf/filter-talks info))
- (next-talks (cdr talks))
- (prev-talks (cons nil talks)))
- (mapc (lambda (o)
- (with-temp-buffer
- (let* ((timestamp (org-timestamp-from-string (plist-get o :scheduled)))
- (next-talk (conf/format-talk-link (pop next-talks)))
- (prev-talk (conf/format-talk-link (pop prev-talks)))
- (schedule (mapconcat
- (lambda (tz)
- (format "%s - %s"
- (format-time-string "%A, %b %e %Y, ~%l:%M %p"
- (org-timestamp-to-time (org-timestamp-split-range timestamp)) tz)
- (format-time-string "%l:%M %p %Z"
- (org-timestamp-to-time (org-timestamp-split-range timestamp t)) tz)))
- conf/timezones
- " \n"))
- (nav-links (format "Back to the [[schedule]] \n%s%s"
- (if prev-talk (format "Previous: %s \n" prev-talk) "")
- (if next-talk (format "Next: %s \n" next-talk) ""))))
- (insert (format "[[%s title=\"%s\"]]
-[[%s copyright=\"Copyright &copy; 2020 %s\"]]
-
-<!-- To edit the talk information, change /2020/info/TALKID.md. Boilerplate automatically generated from submissions.org using conf/generate-schedule-files --->\n
-
-%s
-
-[[!inline pages=\"internal(2020/info/%s)\" raw=\"yes\"]]
-
-%s
-
-%s
-
-"
- "!meta"
- (replace-regexp-in-string "\"" "\\\\\"" (plist-get o :title))
- "!meta"
- (plist-get o :speakers)
- nav-links
- (plist-get o :talk-id)
- schedule
- nav-links)))
- (write-file (format "talks/%s.md" (plist-get o :talk-id)))))
- talks)))
-
-(defun conf/get-talk-info-from-file (&optional filename)
- (with-temp-buffer
- (insert-file-contents (or filename "submissions.org"))
- (org-mode)
- (org-show-all)
- (goto-char (point-min))
- (goto-char (org-find-property "ID" "talks"))
- (conf/get-talk-info)))
- (defvar conf/info nil)
- (setq conf/info (conf/get-talk-info-from-file))
-
-(defun conf/generate-pad-template ()
- (interactive)
- (let ((talks (conf/filter-talks (conf/get-talk-info-from-file filename))))
- (with-current-buffer (find-file "pad-template.md")
- (erase-buffer)
- (insert
- (concat
- "Conference info, how to watch/participate: <https://emacsconf.org/2020/>
-Code of conduct: <https://emacsconf.org/conduct/>
-
-"
- (mapconcat
- (lambda (o)
- (format "**%s**
-Speaker(s): %s
-Talk page: <https://emacsconf.org/2020/schedule/%s>
-
-,*Questions:*
-
-,* Put your questions here, most recent on top
-,* sample text
-
-,*Links:*
-
-,* sample text
-,* sample text
-
-,*Other notes:*
-
-,* sample text
-,* sample text
-<br>
-<br>
-" (plist-get o :title) (plist-get o :speakers) (plist-get o :talk-id))) talks " \n \n")))
- (save-buffer))))
-
-(defun conf/generate-talks-page ()
- (let ((info conf/info))
- (with-temp-buffer
- (find-file "talk-details.md")
- (erase-buffer)
- (insert (format "<table><thead><th>Duration</th><th>Title</th><th>Speakers</th></thead><tbody>%s</tbody></table>"
- (mapconcat
- (lambda (o)
- (let* ((title (plist-get o :title))
- (speakers (plist-get o :speakers)))
- (if (null (plist-get o :talk-id))
- (format "<tr><td colspan=\"3\">%s</td></tr>" (conf/format-talk-link o))
- (format "<tr><td>%s</td><td>%s</td><td>%s</td><tr>"
- (plist-get o :duration)
- (conf/format-talk-link o)
- (plist-get o :speakers)))))
- info "\n")))
- (save-buffer))))
-
-(defun conf/generate-schedule-files (&optional filename)
- (interactive)
- (let ((info (conf/get-talk-info-from-file filename)))
- ;(conf/generate-talks-page)
- (with-temp-buffer
- (insert (conf/format-talk-info-as-schedule info))
- (write-file "schedule-details.md"))
- (conf/format-talk-pages info)))
-#+end_src
-
-#+RESULTS:
-
-** Copy the pad
-
** Yasnippet for adding video links to the individual talk page
#+begin_example
@@ -3431,7 +3111,7 @@ or with the source code from the directory listing:
Copyright (C) 2020 Sacha Chua, and authors of submitted proposals
-The EmacsConf 2020 submissions is part of the EmacsConf wiki, and is
+The EmacsConf 2020 submissions are part of the EmacsConf wiki, and is
dual-licensed under the terms of the Creative Commons
Attribution-ShareAlike 4.0 International Public License; and the GNU
General Public License as published by the Free Software Foundation,