From 4dac85ef27c35d526edcb5c6bc1965bb26f84472 Mon Sep 17 00:00:00 2001 From: Sacha Chua Date: Sat, 12 Dec 2020 00:52:38 -0500 Subject: More tweaks to code --- 2020/submissions.md | 750 +++++++++++++++++++--------------------------------- 1 file changed, 267 insertions(+), 483 deletions(-) (limited to '2020/submissions.md') diff --git a/2020/submissions.md b/2020/submissions.md index 21d09dfb..64b197ab 100644 --- a/2020/submissions.md +++ b/2020/submissions.md @@ -7,50 +7,53 @@ You can check out the Org Mode source for this page by following the [editing in # Table of Contents -- [Actions](#org7d8cc77) -- [Tables](#orgc89dd54) - - [Overall](#orgf9d7f69) - - [By slot](#org33f7445) - - [Saturday](#org2518c70) - - [Sunday](#org45ee756) - - [Table for all talks](#org7e5fd50) -- [Talks](#orgd54b98f) - - [NOVEMBER 28 (Saturday)](#org68ef6fa):sat: - - [9:00 - 9:30 Opening remarks](#org6a91418) - - [9:30 - 12:00 User talks](#org7f8e774):morning: - - [12:00 - 13:00 Lunch](#org49ea1ed) - - [13:00 - 16:30 Afternoon talks](#orga750a7a):afternoon: - - [16:30 - 17:00 Closing remarks](#org56c93c0) - - [NOVEMBER 29 (Sunday)](#orgea7cab9):sun: - - [9:00 - 9:10 Opening remarks](#orgaa9ea5c) - - [9:10 - 12:00 Morning talks](#org5bba0d4):morning: - - [12:00 - 13:00 Lunch](#orgaaf69b1) - - [13:00 - 16:30 Afternoon talks](#org405c07d):afternoon: - - [16:30 - 17:00 Closing remarks](#orgbfc2b3a) -- [Code](#talk37) - - [Planning](#org70194b9) - - [Generate schedule file](#orgb231870) - - - +- [Actions](#org7281502) +- [Tables](#org105055b) + - [Overall](#org5df6237) + - [By slot](#orge5ba5a0) + - [Saturday](#org1146dd9) + - [Sunday](#org052126b) + - [Table for all talks](#orge6d10a7) +- [Talks](#orgd992caf) + - [NOVEMBER 28 (Saturday)](#org8b4b196):sat: + - [Day 1 opening remarks](#talk00) + - [9:30 - 12:00 User talks](#org3062065):morning: + - [12:00 - 13:00 Lunch](#orgbaf7821) + - [13:00 - 16:30 Afternoon talks](#org02ab8bc):afternoon: + - [Day 1 closing remarks](#talk40) + - [NOVEMBER 29 (Sunday)](#orgf96e9db):sun: + - [Day 2 opening remarks](#talk41) + - [9:10 - 12:00 Morning talks](#org634a83e):morning: + - [12:00 - 13:00 Lunch](#orgf86a59e) + - [13:00 - 16:30 Afternoon talks](#org048b0d0):afternoon: + - [Day 2 closing remarks](#talk42) +- [Code](#orgd51f6e5) + - [Planning](#org6a3d245) + - [Yasnippet for adding video links to the individual talk page](#org3516f2d) + + + # Actions -- [Execute buffer]((org-babel-execute-buffer)) - start with this to get the function definitions +You may want to `(setq org-confirm-babel-evaluate nil)`. + +- [Load code from organizers-notebook.org]((org-babel-load-file "organizers-notebook.org")) - run this to load function definitions or reset conf/info if the talk info changes - [Update talk info]((conf/update-talks)) - run this after changing talk time or order -- [View as agenda]((let ((org-agenda-files (list (buffer-file-name)))) (org-agenda-list nil (org-read-date nil nil "2020-11-28") 2))) -- [Generate schedule files](conf/generate-schedule-files) +- [View as agenda]((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))) +- [Generate schedule files](conf/generate-schedule-files) - updates schedule-details.md; set conf/autogenerate-talk-pages to t if you want to overwrite individual talk pages too. +- [Export this file to Markdown]((org-md-export-to-markdown)) To update the information included in the individual talk page, execute the buffer, update the talk's info/TALKID.md file. - + # Tables - + ## Overall @@ -69,17 +72,17 @@ execute the buffer, update the talk's info/TALKID.md file. DIFFERENCE -TARGET_TIME -MIN_TIME_SUM +TARGET\_TIME +MIN\_TIME\_SUM ITEM -Needs: 99 +Needs: 112 768 -867 +880 Talks @@ -96,7 +99,7 @@ execute the buffer, update the talk's info/TALKID.md file.       -9:00 - 9:30 Opening remarks +Day 1 opening remarks @@ -128,7 +131,7 @@ execute the buffer, update the talk's info/TALKID.md file.       -16:30 - 17:00 Closing remarks +Day 1 closing remarks @@ -144,7 +147,7 @@ execute the buffer, update the talk's info/TALKID.md file.       -9:00 - 9:10 Opening remarks +Day 2 opening remarks @@ -165,9 +168,9 @@ execute the buffer, update the talk's info/TALKID.md file. -Needs: 12 +Needs: 25 168 -180 +193 13:00 - 16:30 Afternoon talks @@ -176,18 +179,18 @@ execute the buffer, update the talk's info/TALKID.md file.       -16:30 - 17:00 Closing remarks +Day 2 closing remarks - + ## By slot - + ### Saturday @@ -219,17 +222,17 @@ execute the buffer, update the talk's info/TALKID.md file. - [2020-11-28 Sat 09:33]–[2020-11-28 Sat 09:43] + <2020-11-28 Sat 09:33>–<2020-11-28 Sat 09:37> Emacs News Highlights Sacha Chua - planned + ready prerec, maybe 9am-3pm EST - [2020-11-28 Sat 09:46]–[2020-11-28 Sat 10:06] - An Emacs Developer Story: From User to Maintainer + <2020-11-28 Sat 09:40>–<2020-11-28 Sat 10:00> + An Emacs Developer Story: From User to Package Maintainer Leo Vivier   9am-12pm EST @@ -237,16 +240,16 @@ execute the buffer, update the talk's info/TALKID.md file. - [2020-11-28 Sat 10:09]–[2020-11-28 Sat 10:19] + <2020-11-28 Sat 10:03>–<2020-11-28 Sat 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:22]–[2020-11-28 Sat 10:32] + <2020-11-28 Sat 10:16>–<2020-11-28 Sat 10:26> Music in Plain Text Jonathan Gregory planned @@ -255,7 +258,7 @@ execute the buffer, update the talk's info/TALKID.md file. - [2020-11-28 Sat 10:35]–[2020-11-28 Sat 10:45] + <2020-11-28 Sat 10:29>–<2020-11-28 Sat 10:45> Bard Bivou(m)acs - Building a bandcamp-like page for an album of music Grant Shangreaux   @@ -264,36 +267,36 @@ execute the buffer, update the talk's info/TALKID.md file. - [2020-11-28 Sat 10:48]–[2020-11-28 Sat 10:58] + <2020-11-28 Sat 10:48>–<2020-11-28 Sat 10:58> Trivial Emacs Kits - Corwin Brust + Corwin Brust (mplsCorwin)   ok - [2020-11-28 Sat 11:01]–[2020-11-28 Sat 11:21] + <2020-11-28 Sat 11:01>–<2020-11-28 Sat 11:21> Beyond Vim and Emacs: A Scalable UI Paradigm - Sid Kasivajhula + Sid Kasivajhula (countvajhula)   PST, so maybe 11 AM EST - 5 PM EST? - [2020-11-28 Sat 11:24]–[2020-11-28 Sat 11:44] + <2020-11-28 Sat 11:24>–<2020-11-28 Sat 11:44> Building reproducible Emacs - Andrew Tropin + Andrew Tropin (abcdw)   After 4pm UTC - 11am-5pm EST - [2020-11-28 Sat 11:47]–[2020-11-28 Sat 12:27] + <2020-11-28 Sat 11:47>–<2020-11-28 Sat 12:27> On why most of the best features in eev look like 5-minute hacks - Eduardo Ochs + Eduardo Ochs (edrx) planned ok @@ -328,7 +331,7 @@ execute the buffer, update the talk's info/TALKID.md file. - [2020-11-28 Sat 13:03]–[2020-11-28 Sat 13:13] + <2020-11-28 Sat 13:03>–<2020-11-28 Sat 13:13> Orgmode - your life in plain text Rainer König   @@ -337,7 +340,7 @@ execute the buffer, update the talk's info/TALKID.md file. - [2020-11-28 Sat 13:16]–[2020-11-28 Sat 13:26] + <2020-11-28 Sat 13:16>–<2020-11-28 Sat 13:26> Lead your future with Org Andrea   @@ -346,7 +349,7 @@ execute the buffer, update the talk's info/TALKID.md file. - [2020-11-28 Sat 13:29]–[2020-11-28 Sat 13:49] + <2020-11-28 Sat 13:29>–<2020-11-28 Sat 13:49> the org-gtd package: opinions about Getting Things Done Aldric   @@ -355,7 +358,7 @@ execute the buffer, update the talk's info/TALKID.md file. - [2020-11-28 Sat 13:52]–[2020-11-28 Sat 14:02] + <2020-11-28 Sat 13:52>–<2020-11-28 Sat 14:02> One Big-ass Org File or multiple tiny ones? Finally, the End of the debate! Leo Vivier   @@ -364,7 +367,7 @@ execute the buffer, update the talk's info/TALKID.md file. - [2020-11-28 Sat 14:05]–[2020-11-28 Sat 14:15] + <2020-11-28 Sat 14:05>–<2020-11-28 Sat 14:15> Experience Report: Steps to "Emacs Hyper Notebooks" Joseph Corneli, Raymond Puzio, and Cameron Ray Smith   @@ -373,16 +376,16 @@ execute the buffer, update the talk's info/TALKID.md file. - [2020-11-28 Sat 14:18]–[2020-11-28 Sat 14:38] - Literate Programming in Emacs Org-Mode + <2020-11-28 Sat 14:18>–<2020-11-28 Sat 14:38> + README-Driven Design Adam Ard - planned + done ok - [2020-11-28 Sat 14:41]–[2020-11-28 Sat 14:51] + <2020-11-28 Sat 14:41>–<2020-11-28 Sat 14:51> Moving from Jekyll to OrgMode, an experience report Adolfo Villafiorita   @@ -391,7 +394,7 @@ execute the buffer, update the talk's info/TALKID.md file. - [2020-11-28 Sat 14:54]–[2020-11-28 Sat 15:14] + <2020-11-28 Sat 14:54>–<2020-11-28 Sat 15:14> Org-roam: Presentation, Demonstration, and What's on the Horizon Leo Vivier   @@ -400,7 +403,7 @@ execute the buffer, update the talk's info/TALKID.md file. - [2020-11-28 Sat 15:17]–[2020-11-28 Sat 15:37] + <2020-11-28 Sat 15:17>–<2020-11-28 Sat 15:37> Org-mode and Org-Roam for Scholars and Researchers Noorah Alhasan   @@ -409,7 +412,7 @@ execute the buffer, update the talk's info/TALKID.md file. - [2020-11-28 Sat 15:40]–[2020-11-28 Sat 16:00] + <2020-11-28 Sat 15:40>–<2020-11-28 Sat 16:00> Org-roam: Technical Presentation Leo Vivier   @@ -418,7 +421,7 @@ execute the buffer, update the talk's info/TALKID.md file. - [2020-11-28 Sat 16:03]–[2020-11-28 Sat 16:13] + <2020-11-28 Sat 16:03>–<2020-11-28 Sat 16:13> Sharing blogs (and more) with org-webring Brett Gilio   @@ -427,9 +430,9 @@ execute the buffer, update the talk's info/TALKID.md file. - [2020-11-28 Sat 16:16]–[2020-11-28 Sat 16:36] + <2020-11-28 Sat 16:16>–<2020-11-28 Sat 16:36> OMG Macros - Corwin Brust + Corwin Brust (mplsCorwin)   ok @@ -437,7 +440,7 @@ execute the buffer, update the talk's info/TALKID.md file. - + ### Sunday @@ -469,16 +472,16 @@ execute the buffer, update the talk's info/TALKID.md file. - [2020-11-29 Sun 09:13]–[2020-11-29 Sun 09:30] + <2020-11-29 Sun 09:13>–<2020-11-29 Sun 09:30> Emacs development update John Wiegley - planned + done prerec - [2020-11-29 Sun 09:33]–[2020-11-29 Sun 09:53] + <2020-11-29 Sun 09:33>–<2020-11-29 Sun 09:53> Powering-up Special Blocks Musa Al-hassy   @@ -487,37 +490,37 @@ execute the buffer, update the talk's info/TALKID.md file. - [2020-11-29 Sun 09:56]–[2020-11-29 Sun 10:46] + <2020-11-29 Sun 09:56>–<2020-11-29 Sun 10:46> Incremental Parsing with emacs-tree-sitter Tuấn-Anh Nguyễn - planned + 24min GMT+7, so earlier is better (9:30 EST?). Can pre-record and answer questions. - [2020-11-29 Sun 10:49]–[2020-11-29 Sun 11:09] + <2020-11-29 Sun 10:49>–<2020-11-29 Sun 11:09> Analyze code quality through Emacs: a smart forensics approach and the story of a hack Andrea - planned + done ok - [2020-11-29 Sun 11:12]–[2020-11-29 Sun 11:22] + <2020-11-29 Sun 11:12>–<2020-11-29 Sun 11:22> Traverse complex JSON structures with live feedback Zen Monk Alain M. Lafon - planned + done Available both days, birthday on the 28th - [2020-11-29 Sun 11:25]–[2020-11-29 Sun 11:45] + <2020-11-29 Sun 11:25>–<2020-11-29 Sun 11:45> NonGNU ELPA Richard Stallman - planned + done tbd @@ -551,25 +554,25 @@ execute the buffer, update the talk's info/TALKID.md file. - [2020-11-29 Sun 13:03]–[2020-11-29 Sun 13:13] + <2020-11-29 Sun 13:03>–<2020-11-29 Sun 13:13> Emacs as a Highschooler: How It Changed My Life Pierce Wang -   + done Sun 12pm EST onwards - [2020-11-29 Sun 13:16]–[2020-11-29 Sun 13:26] + <2020-11-29 Sun 13:16>–<2020-11-29 Sun 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]–[2020-11-29 Sun 14:19] + <2020-11-29 Sun 13:29>–<2020-11-29 Sun 14:19> Welcome To The Dungeon Erik Elmshauser and Corwin Brust   @@ -578,34 +581,34 @@ execute the buffer, update the talk's info/TALKID.md file. - [2020-11-29 Sun 14:22]–[2020-11-29 Sun 14:42] + <2020-11-29 Sun 14:22>–<2020-11-29 Sun 14:42> Pathing of Least Resistance - Corwin Brust + Erik Elmshauser and Corwin Brust (mplsCorwin)   ok - [2020-11-29 Sun 14:45]–[2020-11-29 Sun 14:55] + <2020-11-29 Sun 14:45>–<2020-11-29 Sun 14:55> A tour of vterm Gabriele Bozzola (@sbozzolo) - planned + done MST, so 11am-5pm EST - [2020-11-29 Sun 14:58]–[2020-11-29 Sun 15:08] + <2020-11-29 Sun 14:58>–<2020-11-29 Sun 15:14> Lakota Language and Emacs Grant Shangreaux - planned + done Central time, 10am EST-5pm EST - [2020-11-29 Sun 15:11]–[2020-11-29 Sun 15:31] + <2020-11-29 Sun 15:17>–<2020-11-29 Sun 15:41> Object Oriented Code in the Gnus Newsreader Eric Abrahamsen planned @@ -614,7 +617,7 @@ execute the buffer, update the talk's info/TALKID.md file. - [2020-11-29 Sun 15:34]–[2020-11-29 Sun 15:54] + <2020-11-29 Sun 15:44>–<2020-11-29 Sun 16:04> Maxima a computer algebra system in Emacs Fermin MF   @@ -623,7 +626,7 @@ execute the buffer, update the talk's info/TALKID.md file. - [2020-11-29 Sun 15:57]–[2020-11-29 Sun 16:17] + <2020-11-29 Sun 16:07>–<2020-11-29 Sun 16:30> Extend Emacs to Modern GUI Applications with EAF Matthew Zeng   @@ -632,17 +635,17 @@ execute the buffer, update the talk's info/TALKID.md file. - [2020-11-29 Sun 16:20]–[2020-11-29 Sun 16:30] + <2020-11-29 Sun 16:33>–<2020-11-29 Sun 16:43> WAVEing at Repetitive Repetitive Repetitive Music Zachary Kanfer -   + done ok - + ## Table for all talks @@ -669,8 +672,8 @@ execute the buffer, update the talk's info/TALKID.md file. -planned -[2020-11-28 Sat 09:33]–[2020-11-28 Sat 09:43] +ready +<2020-11-28 Sat 09:33>–<2020-11-28 Sat 09:37> Emacs News Highlights Sacha Chua @@ -678,15 +681,15 @@ execute the buffer, update the talk's info/TALKID.md file.   -[2020-11-28 Sat 09:46]–[2020-11-28 Sat 10:06] -An Emacs Developer Story: From User to Maintainer +<2020-11-28 Sat 09:40>–<2020-11-28 Sat 10:00> +An Emacs Developer Story: From User to Package Maintainer Leo Vivier -  -[2020-11-28 Sat 10:09]–[2020-11-28 Sat 10:19] +done, live Q&A +<2020-11-28 Sat 10:03>–<2020-11-28 Sat 10:13> Idea to Novel Superstructure: Emacs for Writing Bala Ramadurai @@ -694,7 +697,7 @@ execute the buffer, update the talk's info/TALKID.md file. planned -[2020-11-28 Sat 10:22]–[2020-11-28 Sat 10:32] +<2020-11-28 Sat 10:16>–<2020-11-28 Sat 10:26> Music in Plain Text Jonathan Gregory @@ -702,7 +705,7 @@ execute the buffer, update the talk's info/TALKID.md file.   -[2020-11-28 Sat 10:35]–[2020-11-28 Sat 10:45] +<2020-11-28 Sat 10:29>–<2020-11-28 Sat 10:45> Bard Bivou(m)acs - Building a bandcamp-like page for an album of music Grant Shangreaux @@ -710,39 +713,39 @@ execute the buffer, update the talk's info/TALKID.md file.   -[2020-11-28 Sat 10:48]–[2020-11-28 Sat 10:58] +<2020-11-28 Sat 10:48>–<2020-11-28 Sat 10:58> Trivial Emacs Kits -Corwin Brust +Corwin Brust (mplsCorwin)   -[2020-11-28 Sat 11:01]–[2020-11-28 Sat 11:21] +<2020-11-28 Sat 11:01>–<2020-11-28 Sat 11:21> Beyond Vim and Emacs: A Scalable UI Paradigm -Sid Kasivajhula +Sid Kasivajhula (countvajhula)   -[2020-11-28 Sat 11:24]–[2020-11-28 Sat 11:44] +<2020-11-28 Sat 11:24>–<2020-11-28 Sat 11:44> Building reproducible Emacs -Andrew Tropin +Andrew Tropin (abcdw) planned -[2020-11-28 Sat 11:47]–[2020-11-28 Sat 12:27] +<2020-11-28 Sat 11:47>–<2020-11-28 Sat 12:27> On why most of the best features in eev look like 5-minute hacks -Eduardo Ochs +Eduardo Ochs (edrx)   -[2020-11-28 Sat 13:03]–[2020-11-28 Sat 13:13] +<2020-11-28 Sat 13:03>–<2020-11-28 Sat 13:13> Orgmode - your life in plain text Rainer König @@ -750,7 +753,7 @@ execute the buffer, update the talk's info/TALKID.md file.   -[2020-11-28 Sat 13:16]–[2020-11-28 Sat 13:26] +<2020-11-28 Sat 13:16>–<2020-11-28 Sat 13:26> Lead your future with Org Andrea @@ -758,7 +761,7 @@ execute the buffer, update the talk's info/TALKID.md file.   -[2020-11-28 Sat 13:29]–[2020-11-28 Sat 13:49] +<2020-11-28 Sat 13:29>–<2020-11-28 Sat 13:49> the org-gtd package: opinions about Getting Things Done Aldric @@ -766,7 +769,7 @@ execute the buffer, update the talk's info/TALKID.md file.   -[2020-11-28 Sat 13:52]–[2020-11-28 Sat 14:02] +<2020-11-28 Sat 13:52>–<2020-11-28 Sat 14:02> One Big-ass Org File or multiple tiny ones? Finally, the End of the debate! Leo Vivier @@ -774,23 +777,23 @@ execute the buffer, update the talk's info/TALKID.md file.   -[2020-11-28 Sat 14:05]–[2020-11-28 Sat 14:15] +<2020-11-28 Sat 14:05>–<2020-11-28 Sat 14:15> Experience Report: Steps to "Emacs Hyper Notebooks" Joseph Corneli, Raymond Puzio, and Cameron Ray Smith -planned -[2020-11-28 Sat 14:18]–[2020-11-28 Sat 14:38] -Literate Programming in Emacs Org-Mode +done +<2020-11-28 Sat 14:18>–<2020-11-28 Sat 14:38> +README-Driven Design Adam Ard   -[2020-11-28 Sat 14:41]–[2020-11-28 Sat 14:51] +<2020-11-28 Sat 14:41>–<2020-11-28 Sat 14:51> Moving from Jekyll to OrgMode, an experience report Adolfo Villafiorita @@ -798,7 +801,7 @@ execute the buffer, update the talk's info/TALKID.md file.   -[2020-11-28 Sat 14:54]–[2020-11-28 Sat 15:14] +<2020-11-28 Sat 14:54>–<2020-11-28 Sat 15:14> Org-roam: Presentation, Demonstration, and What's on the Horizon Leo Vivier @@ -806,7 +809,7 @@ execute the buffer, update the talk's info/TALKID.md file.   -[2020-11-28 Sat 15:17]–[2020-11-28 Sat 15:37] +<2020-11-28 Sat 15:17>–<2020-11-28 Sat 15:37> Org-mode and Org-Roam for Scholars and Researchers Noorah Alhasan @@ -814,7 +817,7 @@ execute the buffer, update the talk's info/TALKID.md file.   -[2020-11-28 Sat 15:40]–[2020-11-28 Sat 16:00] +<2020-11-28 Sat 15:40>–<2020-11-28 Sat 16:00> Org-roam: Technical Presentation Leo Vivier @@ -822,7 +825,7 @@ execute the buffer, update the talk's info/TALKID.md file.   -[2020-11-28 Sat 16:03]–[2020-11-28 Sat 16:13] +<2020-11-28 Sat 16:03>–<2020-11-28 Sat 16:13> Sharing blogs (and more) with org-webring Brett Gilio @@ -830,15 +833,15 @@ execute the buffer, update the talk's info/TALKID.md file.   -[2020-11-28 Sat 16:16]–[2020-11-28 Sat 16:36] +<2020-11-28 Sat 16:16>–<2020-11-28 Sat 16:36> OMG Macros -Corwin Brust +Corwin Brust (mplsCorwin) -planned -[2020-11-29 Sun 09:13]–[2020-11-29 Sun 09:30] +done +<2020-11-29 Sun 09:13>–<2020-11-29 Sun 09:30> Emacs development update John Wiegley @@ -846,55 +849,55 @@ execute the buffer, update the talk's info/TALKID.md file.   -[2020-11-29 Sun 09:33]–[2020-11-29 Sun 09:53] +<2020-11-29 Sun 09:33>–<2020-11-29 Sun 09:53> Powering-up Special Blocks Musa Al-hassy -planned -[2020-11-29 Sun 09:56]–[2020-11-29 Sun 10:46] +24min +<2020-11-29 Sun 09:56>–<2020-11-29 Sun 10:46> Incremental Parsing with emacs-tree-sitter Tuấn-Anh Nguyễn -planned -[2020-11-29 Sun 10:49]–[2020-11-29 Sun 11:09] +done +<2020-11-29 Sun 10:49>–<2020-11-29 Sun 11:09> Analyze code quality through Emacs: a smart forensics approach and the story of a hack Andrea -planned -[2020-11-29 Sun 11:12]–[2020-11-29 Sun 11:22] +done +<2020-11-29 Sun 11:12>–<2020-11-29 Sun 11:22> Traverse complex JSON structures with live feedback Zen Monk Alain M. Lafon -planned -[2020-11-29 Sun 11:25]–[2020-11-29 Sun 11:45] +done +<2020-11-29 Sun 11:25>–<2020-11-29 Sun 11:45> NonGNU ELPA Richard Stallman -  -[2020-11-29 Sun 13:03]–[2020-11-29 Sun 13:13] +done +<2020-11-29 Sun 13:03>–<2020-11-29 Sun 13:13> Emacs as a Highschooler: How It Changed My Life Pierce Wang -  -[2020-11-29 Sun 13:16]–[2020-11-29 Sun 13:26] +done +<2020-11-29 Sun 13:16>–<2020-11-29 Sun 13:26> State of Retro Gaming in Emacs Vasilij "wasamasa" Schneidermann @@ -902,7 +905,7 @@ execute the buffer, update the talk's info/TALKID.md file.   -[2020-11-29 Sun 13:29]–[2020-11-29 Sun 14:19] +<2020-11-29 Sun 13:29>–<2020-11-29 Sun 14:19> Welcome To The Dungeon Erik Elmshauser and Corwin Brust @@ -910,23 +913,23 @@ execute the buffer, update the talk's info/TALKID.md file.   -[2020-11-29 Sun 14:22]–[2020-11-29 Sun 14:42] +<2020-11-29 Sun 14:22>–<2020-11-29 Sun 14:42> Pathing of Least Resistance -Corwin Brust +Erik Elmshauser and Corwin Brust (mplsCorwin) -planned -[2020-11-29 Sun 14:45]–[2020-11-29 Sun 14:55] +done +<2020-11-29 Sun 14:45>–<2020-11-29 Sun 14:55> A tour of vterm Gabriele Bozzola (@sbozzolo) -planned -[2020-11-29 Sun 14:58]–[2020-11-29 Sun 15:08] +done +<2020-11-29 Sun 14:58>–<2020-11-29 Sun 15:14> Lakota Language and Emacs Grant Shangreaux @@ -934,7 +937,7 @@ execute the buffer, update the talk's info/TALKID.md file. planned -[2020-11-29 Sun 15:11]–[2020-11-29 Sun 15:31] +<2020-11-29 Sun 15:17>–<2020-11-29 Sun 15:41> Object Oriented Code in the Gnus Newsreader Eric Abrahamsen @@ -942,7 +945,7 @@ execute the buffer, update the talk's info/TALKID.md file.   -[2020-11-29 Sun 15:34]–[2020-11-29 Sun 15:54] +<2020-11-29 Sun 15:44>–<2020-11-29 Sun 16:04> Maxima a computer algebra system in Emacs Fermin MF @@ -950,15 +953,15 @@ execute the buffer, update the talk's info/TALKID.md file.   -[2020-11-29 Sun 15:57]–[2020-11-29 Sun 16:17] +<2020-11-29 Sun 16:07>–<2020-11-29 Sun 16:30> Extend Emacs to Modern GUI Applications with EAF Matthew Zeng -  -[2020-11-29 Sun 16:20]–[2020-11-29 Sun 16:30] +done +<2020-11-29 Sun 16:33>–<2020-11-29 Sun 16:43> WAVEing at Repetitive Repetitive Repetitive Music Zachary Kanfer @@ -966,22 +969,22 @@ execute the buffer, update the talk's info/TALKID.md file. - + # Talks - + ## NOVEMBER 28 (Saturday) :sat: - + -### 9:00 - 9:30 Opening remarks +### Day 1 opening remarks - + ### 9:30 - 12:00 User talks :morning: @@ -1037,17 +1040,17 @@ execute the buffer, update the talk's info/TALKID.md file. -[2020-11-28 Sat 09:33]–[2020-11-28 Sat 09:43] +<2020-11-28 Sat 09:33>–<2020-11-28 Sat 09:37> Emacs News Highlights Sacha Chua -planned +ready prerec, maybe 9am-3pm EST -[2020-11-28 Sat 09:46]–[2020-11-28 Sat 10:06] -An Emacs Developer Story: From User to Maintainer +<2020-11-28 Sat 09:40>–<2020-11-28 Sat 10:00> +An Emacs Developer Story: From User to Package Maintainer Leo Vivier   9am-12pm EST @@ -1055,16 +1058,16 @@ execute the buffer, update the talk's info/TALKID.md file. -[2020-11-28 Sat 10:09]–[2020-11-28 Sat 10:19] +<2020-11-28 Sat 10:03>–<2020-11-28 Sat 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:22]–[2020-11-28 Sat 10:32] +<2020-11-28 Sat 10:16>–<2020-11-28 Sat 10:26> Music in Plain Text Jonathan Gregory planned @@ -1073,7 +1076,7 @@ execute the buffer, update the talk's info/TALKID.md file. -[2020-11-28 Sat 10:35]–[2020-11-28 Sat 10:45] +<2020-11-28 Sat 10:29>–<2020-11-28 Sat 10:45> Bard Bivou(m)acs - Building a bandcamp-like page for an album of music Grant Shangreaux   @@ -1082,36 +1085,36 @@ execute the buffer, update the talk's info/TALKID.md file. -[2020-11-28 Sat 10:48]–[2020-11-28 Sat 10:58] +<2020-11-28 Sat 10:48>–<2020-11-28 Sat 10:58> Trivial Emacs Kits -Corwin Brust +Corwin Brust (mplsCorwin)   ok -[2020-11-28 Sat 11:01]–[2020-11-28 Sat 11:21] +<2020-11-28 Sat 11:01>–<2020-11-28 Sat 11:21> Beyond Vim and Emacs: A Scalable UI Paradigm -Sid Kasivajhula +Sid Kasivajhula (countvajhula)   PST, so maybe 11 AM EST - 5 PM EST? -[2020-11-28 Sat 11:24]–[2020-11-28 Sat 11:44] +<2020-11-28 Sat 11:24>–<2020-11-28 Sat 11:44> Building reproducible Emacs -Andrew Tropin +Andrew Tropin (abcdw)   After 4pm UTC - 11am-5pm EST -[2020-11-28 Sat 11:47]–[2020-11-28 Sat 12:27] +<2020-11-28 Sat 11:47>–<2020-11-28 Sat 12:27> On why most of the best features in eev look like 5-minute hacks -Eduardo Ochs +Eduardo Ochs (edrx) planned ok @@ -1180,7 +1183,7 @@ execute the buffer, update the talk's info/TALKID.md file. sublicensable to the EmacsConf organizers or that my use of them is fair use. - - in-progress An Emacs Developer Story: From User to Maintainer :standard:user:community: + - in-progress An Emacs Developer Story: From User to Package Maintainer :standard:user:community: Name: Leo Vivier @@ -1243,7 +1246,7 @@ execute the buffer, update the talk's info/TALKID.md file. - Exploring Emacs's flexibility - - in-progress Idea to Novel Superstructure: Emacs for Writing :standard:lightning:user: + - ready Idea to Novel Superstructure: Emacs for Writing :standard:lightning:user: Name: Bala Ramadurai @@ -1718,12 +1721,12 @@ execute the buffer, update the talk's info/TALKID.md file. fair use. - + ### 12:00 - 13:00 Lunch - + ### 13:00 - 16:30 Afternoon talks :afternoon: @@ -1779,7 +1782,7 @@ execute the buffer, update the talk's info/TALKID.md file. -[2020-11-28 Sat 13:03]–[2020-11-28 Sat 13:13] +<2020-11-28 Sat 13:03>–<2020-11-28 Sat 13:13> Orgmode - your life in plain text Rainer König   @@ -1788,7 +1791,7 @@ execute the buffer, update the talk's info/TALKID.md file. -[2020-11-28 Sat 13:16]–[2020-11-28 Sat 13:26] +<2020-11-28 Sat 13:16>–<2020-11-28 Sat 13:26> Lead your future with Org Andrea   @@ -1797,7 +1800,7 @@ execute the buffer, update the talk's info/TALKID.md file. -[2020-11-28 Sat 13:29]–[2020-11-28 Sat 13:49] +<2020-11-28 Sat 13:29>–<2020-11-28 Sat 13:49> the org-gtd package: opinions about Getting Things Done Aldric   @@ -1806,7 +1809,7 @@ execute the buffer, update the talk's info/TALKID.md file. -[2020-11-28 Sat 13:52]–[2020-11-28 Sat 14:02] +<2020-11-28 Sat 13:52>–<2020-11-28 Sat 14:02> One Big-ass Org File or multiple tiny ones? Finally, the End of the debate! Leo Vivier   @@ -1815,7 +1818,7 @@ execute the buffer, update the talk's info/TALKID.md file. -[2020-11-28 Sat 14:05]–[2020-11-28 Sat 14:15] +<2020-11-28 Sat 14:05>–<2020-11-28 Sat 14:15> Experience Report: Steps to "Emacs Hyper Notebooks" Joseph Corneli, Raymond Puzio, and Cameron Ray Smith   @@ -1824,16 +1827,16 @@ execute the buffer, update the talk's info/TALKID.md file. -[2020-11-28 Sat 14:18]–[2020-11-28 Sat 14:38] -Literate Programming in Emacs Org-Mode +<2020-11-28 Sat 14:18>–<2020-11-28 Sat 14:38> +README-Driven Design Adam Ard -planned +done ok -[2020-11-28 Sat 14:41]–[2020-11-28 Sat 14:51] +<2020-11-28 Sat 14:41>–<2020-11-28 Sat 14:51> Moving from Jekyll to OrgMode, an experience report Adolfo Villafiorita   @@ -1842,7 +1845,7 @@ execute the buffer, update the talk's info/TALKID.md file. -[2020-11-28 Sat 14:54]–[2020-11-28 Sat 15:14] +<2020-11-28 Sat 14:54>–<2020-11-28 Sat 15:14> Org-roam: Presentation, Demonstration, and What's on the Horizon Leo Vivier   @@ -1851,7 +1854,7 @@ execute the buffer, update the talk's info/TALKID.md file. -[2020-11-28 Sat 15:17]–[2020-11-28 Sat 15:37] +<2020-11-28 Sat 15:17>–<2020-11-28 Sat 15:37> Org-mode and Org-Roam for Scholars and Researchers Noorah Alhasan   @@ -1860,7 +1863,7 @@ execute the buffer, update the talk's info/TALKID.md file. -[2020-11-28 Sat 15:40]–[2020-11-28 Sat 16:00] +<2020-11-28 Sat 15:40>–<2020-11-28 Sat 16:00> Org-roam: Technical Presentation Leo Vivier   @@ -1869,7 +1872,7 @@ execute the buffer, update the talk's info/TALKID.md file. -[2020-11-28 Sat 16:03]–[2020-11-28 Sat 16:13] +<2020-11-28 Sat 16:03>–<2020-11-28 Sat 16:13> Sharing blogs (and more) with org-webring Brett Gilio   @@ -1878,9 +1881,9 @@ execute the buffer, update the talk's info/TALKID.md file. -[2020-11-28 Sat 16:16]–[2020-11-28 Sat 16:36] +<2020-11-28 Sat 16:16>–<2020-11-28 Sat 16:36> OMG Macros -Corwin Brust +Corwin Brust (mplsCorwin)   ok @@ -2197,7 +2200,7 @@ execute the buffer, update the talk's info/TALKID.md file. sublicensable to the EmacsConf organizers or that my use of them is fair use. -- in-progress README-Driven Design :extended:standard:org:tutorial: +- ready README-Driven Design :extended:standard:org:tutorial: Name: Adam Ard @@ -2623,22 +2626,22 @@ execute the buffer, update the talk's info/TALKID.md file. fair use. - + -### 16:30 - 17:00 Closing remarks +### Day 1 closing remarks - + ## NOVEMBER 29 (Sunday) :sun: - + -### 9:00 - 9:10 Opening remarks +### Day 2 opening remarks - + ### 9:10 - 12:00 Morning talks :morning: @@ -2694,16 +2697,16 @@ execute the buffer, update the talk's info/TALKID.md file. -[2020-11-29 Sun 09:13]–[2020-11-29 Sun 09:30] +<2020-11-29 Sun 09:13>–<2020-11-29 Sun 09:30> Emacs development update John Wiegley -planned +done prerec -[2020-11-29 Sun 09:33]–[2020-11-29 Sun 09:53] +<2020-11-29 Sun 09:33>–<2020-11-29 Sun 09:53> Powering-up Special Blocks Musa Al-hassy   @@ -2712,37 +2715,37 @@ execute the buffer, update the talk's info/TALKID.md file. -[2020-11-29 Sun 09:56]–[2020-11-29 Sun 10:46] +<2020-11-29 Sun 09:56>–<2020-11-29 Sun 10:46> Incremental Parsing with emacs-tree-sitter Tuấn-Anh Nguyễn -planned +24min GMT+7, so earlier is better (9:30 EST?). Can pre-record and answer questions. -[2020-11-29 Sun 10:49]–[2020-11-29 Sun 11:09] +<2020-11-29 Sun 10:49>–<2020-11-29 Sun 11:09> Analyze code quality through Emacs: a smart forensics approach and the story of a hack Andrea -planned +done ok -[2020-11-29 Sun 11:12]–[2020-11-29 Sun 11:22] +<2020-11-29 Sun 11:12>–<2020-11-29 Sun 11:22> Traverse complex JSON structures with live feedback Zen Monk Alain M. Lafon -planned +done Available both days, birthday on the 28th -[2020-11-29 Sun 11:25]–[2020-11-29 Sun 11:45] +<2020-11-29 Sun 11:25>–<2020-11-29 Sun 11:45> NonGNU ELPA Richard Stallman -planned +done tbd @@ -2797,9 +2800,7 @@ execute the buffer, update the talk's info/TALKID.md file. defaults to 2 when not given.
-

Emacs for the win ⌣̈ -

@@ -2869,6 +2870,8 @@ execute the buffer, update the talk's info/TALKID.md file. Name: Tuấn-Anh Nguyễn + prerec and live Q&A + - Preferred format 50 minutes (Extended talk) @@ -3050,12 +3053,12 @@ execute the buffer, update the talk's info/TALKID.md file. TBD - plans for a NonGNU ELPA that will be easy to enable and contribute to without signing copyright assignment papers - + ### 12:00 - 13:00 Lunch - + ### 13:00 - 16:30 Afternoon talks :afternoon: @@ -3078,8 +3081,8 @@ execute the buffer, update the talk's info/TALKID.md file. --12 -180 +-25 +193 168 @@ -3111,25 +3114,25 @@ execute the buffer, update the talk's info/TALKID.md file. -[2020-11-29 Sun 13:03]–[2020-11-29 Sun 13:13] +<2020-11-29 Sun 13:03>–<2020-11-29 Sun 13:13> Emacs as a Highschooler: How It Changed My Life Pierce Wang -  +done Sun 12pm EST onwards -[2020-11-29 Sun 13:16]–[2020-11-29 Sun 13:26] +<2020-11-29 Sun 13:16>–<2020-11-29 Sun 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]–[2020-11-29 Sun 14:19] +<2020-11-29 Sun 13:29>–<2020-11-29 Sun 14:19> Welcome To The Dungeon Erik Elmshauser and Corwin Brust   @@ -3138,34 +3141,34 @@ execute the buffer, update the talk's info/TALKID.md file. -[2020-11-29 Sun 14:22]–[2020-11-29 Sun 14:42] +<2020-11-29 Sun 14:22>–<2020-11-29 Sun 14:42> Pathing of Least Resistance -Corwin Brust +Erik Elmshauser and Corwin Brust (mplsCorwin)   ok -[2020-11-29 Sun 14:45]–[2020-11-29 Sun 14:55] +<2020-11-29 Sun 14:45>–<2020-11-29 Sun 14:55> A tour of vterm Gabriele Bozzola (@sbozzolo) -planned +done MST, so 11am-5pm EST -[2020-11-29 Sun 14:58]–[2020-11-29 Sun 15:08] +<2020-11-29 Sun 14:58>–<2020-11-29 Sun 15:14> Lakota Language and Emacs Grant Shangreaux -planned +done Central time, 10am EST-5pm EST -[2020-11-29 Sun 15:11]–[2020-11-29 Sun 15:31] +<2020-11-29 Sun 15:17>–<2020-11-29 Sun 15:41> Object Oriented Code in the Gnus Newsreader Eric Abrahamsen planned @@ -3174,7 +3177,7 @@ execute the buffer, update the talk's info/TALKID.md file. -[2020-11-29 Sun 15:34]–[2020-11-29 Sun 15:54] +<2020-11-29 Sun 15:44>–<2020-11-29 Sun 16:04> Maxima a computer algebra system in Emacs Fermin MF   @@ -3183,7 +3186,7 @@ execute the buffer, update the talk's info/TALKID.md file. -[2020-11-29 Sun 15:57]–[2020-11-29 Sun 16:17] +<2020-11-29 Sun 16:07>–<2020-11-29 Sun 16:30> Extend Emacs to Modern GUI Applications with EAF Matthew Zeng   @@ -3192,10 +3195,10 @@ execute the buffer, update the talk's info/TALKID.md file. -[2020-11-29 Sun 16:20]–[2020-11-29 Sun 16:30] +<2020-11-29 Sun 16:33>–<2020-11-29 Sun 16:43> WAVEing at Repetitive Repetitive Repetitive Music Zachary Kanfer -  +done ok @@ -3389,7 +3392,7 @@ execute the buffer, update the talk's info/TALKID.md file. - in-progress Pathing of Least Resistance :standard:elisp: - Name: Corwin Brust + Name: Erik Elmshauser and Corwin Brust (mplsCorwin) - Preferred format @@ -3819,9 +3822,9 @@ execute the buffer, update the talk's info/TALKID.md file. fair use. - + -### 16:30 - 17:00 Closing remarks +### Day 2 closing remarks # Withdrawn @@ -3882,12 +3885,12 @@ sublicensable to the EmacsConf organizers or that my use of them is fair use. - + # Code - + ## Planning @@ -3902,241 +3905,22 @@ the target time. (org-entry-get (point) "MIN_TIME_SUM") (org-entry-get (point) "TARGET_TIME"))) -Some conference-related functions - - (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)))))))) - - - - -## Generate schedule file - - (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") - :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) - :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 (format "%s" - (plist-get talk :talk-id) - (plist-get talk :title)))) - - (defun conf/format-talk-info-as-schedule (info) - (format "%s
" - (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 "%s" - title) - (format "%s%s%s%s" - start end (conf/format-talk-link o) speakers)))) (cdr info) "\n"))) - - (defun conf/filter-talks (info) - (seq-filter (lambda (o) (eq (plist-get o :type) 'talk)) 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))) - (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 © 2020 %s\"]] - - \n - - %s - - [[!inline pages=\"internal(2020/info/%s)\" raw=\"yes\"]] - - %s - - %s - - All times are approximate, and we might shuffle talks around as needed. - Please check a few days before the start of the - conference for instructions on how to watch and participate. See you then! - " - "!meta" - (replace-regexp-in-string "\"" "\\\\\"" (plist-get o :title)) - "!meta" - (plist-get o :speakers) - nav-links - (plist-get o :talk-id) - (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))) - (write-file (format "schedule/%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))) - - (defun conf/generate-schedule-files (&optional filename) - (interactive) - (let ((info (conf/get-talk-info-from-file filename))) - (with-temp-buffer - (insert (conf/format-talk-info-as-schedule info)) - (write-file "schedule-details.txt")) - (conf/format-talk-pages info) - (with-current-buffer (find-file "schedule.org") - (org-export-to-file 'md "schedule.md")))) + + + +## Yasnippet for adding video links to the individual talk page + + # -*- mode: snippet -*- + # name: vid + # key: vid + # -- + [[!template id=vid src="`(current-kill 0)`"]] + [Download $2.webm video, 720p, $1](`(current-kill 0)`) + +or with the source code from the directory listing: + + (while (re-search-forward ".*?\\([0-9]+[MB]\\)" nil t) + (replace-match "[[!template id=vid src=\"https://mirror.csclub.uwaterloo.ca/emacsconf/2020/\\1\"]] + [Download .webm video, 720p, \\2B](https://mirror.csclub.uwaterloo.ca/emacsconf/2020/\\1) + ")) -- cgit v1.2.3