summaryrefslogtreecommitdiffstats
path: root/2020
diff options
context:
space:
mode:
Diffstat (limited to '2020')
-rw-r--r--2020/submissions.md4125
-rw-r--r--2020/submissions.org21
2 files changed, 4139 insertions, 7 deletions
diff --git a/2020/submissions.md b/2020/submissions.md
new file mode 100644
index 00000000..5f55fadc
--- /dev/null
+++ b/2020/submissions.md
@@ -0,0 +1,4125 @@
+
+# Table of Contents
+
+- [Actions](#org291cf0a)
+- [Tables](#org4a76454)
+ - [Overall](#orgdf3edab)
+ - [By slot](#orge036cb3)
+ - [Saturday](#org4de662a)
+ - [Sunday](#org7ccfc64)
+ - [Table for all talks](#orga235ca1)
+- [Talks](#org7cbfd99)
+ - [NOVEMBER 28 (Saturday)](#orga4c7dc2):sat:
+ - [9:00 - 9:30 Opening remarks](#orgf28f620)
+ - [9:30 - 12:00 User talks](#org8ee6379):morning:
+ - [12:00 - 13:00 Lunch](#org71b2ecc)
+ - [13:00 - 16:30 Afternoon talks](#org45fa351):afternoon:
+ - [16:30 - 17:00 Closing remarks](#org41ec440)
+ - [NOVEMBER 29 (Sunday)](#orgbfd71f8):sun:
+ - [9:00 - 9:10 Opening remarks](#orgb79afa2)
+ - [9:10 - 12:00 Morning talks](#org953e502):morning:
+ - [12:00 - 13:00 Lunch](#org4f525bf)
+ - [13:00 - 16:30 Afternoon talks](#org00dd53f):afternoon:
+ - [16:30 - 17:00 Closing remarks](#orgf4a8e98)
+- [Withdrawn](#orgac23017)
+ - [So Easy My Manager Can Do It!](#talk36):lightning:beginner:user:nudge:
+ - [Preferred format](#orgcadf82b)
+ - [Abstract](#org4f2154d)
+ - [(Un)availability](#org9ff6021)
+ - [Speaker release](#org2cd152d)
+- [Code](#talk37)
+ - [Planning](#org014fc78)
+ - [Generate schedule file](#org0da23c5)
+
+
+
+<a id="org291cf0a"></a>
+
+# Actions
+
+[Execute buffer]((org-babel-execute-buffer)) - start with this to get the function definitions
+[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)
+
+
+<a id="org4a76454"></a>
+
+# Tables
+
+
+<a id="orgdf3edab"></a>
+
+## Overall
+
+<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
+
+
+<colgroup>
+<col class="org-left" />
+
+<col class="org-right" />
+
+<col class="org-right" />
+
+<col class="org-left" />
+</colgroup>
+<thead>
+<tr>
+<th scope="col" class="org-left">DIFFERENCE</th>
+<th scope="col" class="org-right">TARGET_TIME</th>
+<th scope="col" class="org-right">MIN_TIME_SUM</th>
+<th scope="col" class="org-left">ITEM</th>
+</tr>
+</thead>
+
+<tbody>
+<tr>
+<td class="org-left">Needs: 99</td>
+<td class="org-right">768</td>
+<td class="org-right">867</td>
+<td class="org-left">Talks</td>
+</tr>
+
+
+<tr>
+<td class="org-left">&#xa0;</td>
+<td class="org-right">&#xa0;</td>
+<td class="org-right">&#xa0;</td>
+<td class="org-left">NOVEMBER 28 (Saturday)</td>
+</tr>
+
+
+<tr>
+<td class="org-left">&#xa0;</td>
+<td class="org-right">&#xa0;</td>
+<td class="org-right">&#xa0;</td>
+<td class="org-left">9:00 - 9:30 Opening remarks</td>
+</tr>
+
+
+<tr>
+<td class="org-left">Needs: 30</td>
+<td class="org-right">120</td>
+<td class="org-right">150</td>
+<td class="org-left">9:30 - 12:00 User talks</td>
+</tr>
+
+
+<tr>
+<td class="org-left">&#xa0;</td>
+<td class="org-right">&#xa0;</td>
+<td class="org-right">&#xa0;</td>
+<td class="org-left">12:00 - 13:00 Lunch</td>
+</tr>
+
+
+<tr>
+<td class="org-left">Needs: 12</td>
+<td class="org-right">168</td>
+<td class="org-right">180</td>
+<td class="org-left">13:00 - 16:30 Afternoon talks</td>
+</tr>
+
+
+<tr>
+<td class="org-left">&#xa0;</td>
+<td class="org-right">&#xa0;</td>
+<td class="org-right">&#xa0;</td>
+<td class="org-left">16:30 - 17:00 Closing remarks</td>
+</tr>
+
+
+<tr>
+<td class="org-left">&#xa0;</td>
+<td class="org-right">&#xa0;</td>
+<td class="org-right">&#xa0;</td>
+<td class="org-left">NOVEMBER 29 (Sunday)</td>
+</tr>
+
+
+<tr>
+<td class="org-left">&#xa0;</td>
+<td class="org-right">&#xa0;</td>
+<td class="org-right">&#xa0;</td>
+<td class="org-left">9:00 - 9:10 Opening remarks</td>
+</tr>
+
+
+<tr>
+<td class="org-left">Extra: 3</td>
+<td class="org-right">140</td>
+<td class="org-right">137</td>
+<td class="org-left">9:10 - 12:00 Morning talks</td>
+</tr>
+
+
+<tr>
+<td class="org-left">&#xa0;</td>
+<td class="org-right">&#xa0;</td>
+<td class="org-right">&#xa0;</td>
+<td class="org-left">12:00 - 13:00 Lunch</td>
+</tr>
+
+
+<tr>
+<td class="org-left">Needs: 12</td>
+<td class="org-right">168</td>
+<td class="org-right">180</td>
+<td class="org-left">13:00 - 16:30 Afternoon talks</td>
+</tr>
+
+
+<tr>
+<td class="org-left">&#xa0;</td>
+<td class="org-right">&#xa0;</td>
+<td class="org-right">&#xa0;</td>
+<td class="org-left">16:30 - 17:00 Closing remarks</td>
+</tr>
+</tbody>
+</table>
+
+
+<a id="orge036cb3"></a>
+
+## By slot
+
+
+<a id="org4de662a"></a>
+
+### Saturday
+
+- 9:30 - 12:00 User talks :morning:
+
+ <table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
+
+
+ <colgroup>
+ <col class="org-left" />
+
+ <col class="org-left" />
+
+ <col class="org-left" />
+
+ <col class="org-left" />
+
+ <col class="org-left" />
+ </colgroup>
+ <thead>
+ <tr>
+ <th scope="col" class="org-left">SCHEDULED</th>
+ <th scope="col" class="org-left">ITEM</th>
+ <th scope="col" class="org-left">NAME</th>
+ <th scope="col" class="org-left">PREREC</th>
+ <th scope="col" class="org-left">AVAILABILITY</th>
+ </tr>
+ </thead>
+
+ <tbody>
+ <tr>
+ <td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-28 Sat 09:33]&#x2013;[2020-11-28 Sat 09:43]</span></span></td>
+ <td class="org-left">Emacs News Highlights</td>
+ <td class="org-left">Sacha Chua</td>
+ <td class="org-left">planned</td>
+ <td class="org-left">prerec, maybe 9am-3pm EST</td>
+ </tr>
+
+
+ <tr>
+ <td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-28 Sat 09:46]&#x2013;[2020-11-28 Sat 10:06]</span></span></td>
+ <td class="org-left">An Emacs Developer Story: From User to Maintainer</td>
+ <td class="org-left">Leo Vivier</td>
+ <td class="org-left">&#xa0;</td>
+ <td class="org-left">9am-12pm EST</td>
+ </tr>
+
+
+ <tr>
+ <td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-28 Sat 10:09]&#x2013;[2020-11-28 Sat 10:19]</span></span></td>
+ <td class="org-left">Idea to Novel Superstructure: Emacs for Writing</td>
+ <td class="org-left">Bala Ramadurai</td>
+ <td class="org-left">&#xa0;</td>
+ <td class="org-left">8:30am EST-12pm EST</td>
+ </tr>
+
+
+ <tr>
+ <td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-28 Sat 10:22]&#x2013;[2020-11-28 Sat 10:32]</span></span></td>
+ <td class="org-left">Music in Plain Text</td>
+ <td class="org-left">Jonathan Gregory</td>
+ <td class="org-left">planned</td>
+ <td class="org-left">ok</td>
+ </tr>
+
+
+ <tr>
+ <td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-28 Sat 10:35]&#x2013;[2020-11-28 Sat 10:45]</span></span></td>
+ <td class="org-left">Bard Bivou(m)acs - Building a bandcamp-like page for an album of music</td>
+ <td class="org-left">Grant Shangreaux</td>
+ <td class="org-left">&#xa0;</td>
+ <td class="org-left">10am-5pm EST, daylight Central US</td>
+ </tr>
+
+
+ <tr>
+ <td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-28 Sat 10:48]&#x2013;[2020-11-28 Sat 10:58]</span></span></td>
+ <td class="org-left">Trivial Emacs Kits</td>
+ <td class="org-left">Corwin Brust</td>
+ <td class="org-left">&#xa0;</td>
+ <td class="org-left">ok</td>
+ </tr>
+
+
+ <tr>
+ <td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-28 Sat 11:01]&#x2013;[2020-11-28 Sat 11:21]</span></span></td>
+ <td class="org-left">Beyond Vim and Emacs: A Scalable UI Paradigm</td>
+ <td class="org-left">Sid Kasivajhula</td>
+ <td class="org-left">&#xa0;</td>
+ <td class="org-left">PST, so maybe 11 AM EST - 5 PM EST?</td>
+ </tr>
+
+
+ <tr>
+ <td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-28 Sat 11:24]&#x2013;[2020-11-28 Sat 11:44]</span></span></td>
+ <td class="org-left">Building reproducible Emacs</td>
+ <td class="org-left">Andrew Tropin</td>
+ <td class="org-left">&#xa0;</td>
+ <td class="org-left">After 4pm UTC - 11am-5pm EST</td>
+ </tr>
+
+
+ <tr>
+ <td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-28 Sat 11:47]&#x2013;[2020-11-28 Sat 12:27]</span></span></td>
+ <td class="org-left">On why most of the best features in eev look like 5-minute hacks</td>
+ <td class="org-left">Eduardo Ochs</td>
+ <td class="org-left">planned</td>
+ <td class="org-left">ok</td>
+ </tr>
+ </tbody>
+ </table>
+
+- 13:00 - 16:30 Afternoon talks :afternoon:
+
+ <table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
+
+
+ <colgroup>
+ <col class="org-left" />
+
+ <col class="org-left" />
+
+ <col class="org-left" />
+
+ <col class="org-left" />
+
+ <col class="org-left" />
+ </colgroup>
+ <thead>
+ <tr>
+ <th scope="col" class="org-left">SCHEDULED</th>
+ <th scope="col" class="org-left">ITEM</th>
+ <th scope="col" class="org-left">NAME</th>
+ <th scope="col" class="org-left">PREREC</th>
+ <th scope="col" class="org-left">AVAILABILITY</th>
+ </tr>
+ </thead>
+
+ <tbody>
+ <tr>
+ <td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-28 Sat 13:03]&#x2013;[2020-11-28 Sat 13:13]</span></span></td>
+ <td class="org-left">Orgmode - your life in plain text</td>
+ <td class="org-left">Rainer König</td>
+ <td class="org-left">&#xa0;</td>
+ <td class="org-left">CET, so 9am-maybe 2pm EST (8pm CET)</td>
+ </tr>
+
+
+ <tr>
+ <td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-28 Sat 13:16]&#x2013;[2020-11-28 Sat 13:26]</span></span></td>
+ <td class="org-left">Lead your future with Org</td>
+ <td class="org-left">Andrea</td>
+ <td class="org-left">&#xa0;</td>
+ <td class="org-left">ok</td>
+ </tr>
+
+
+ <tr>
+ <td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-28 Sat 13:29]&#x2013;[2020-11-28 Sat 13:49]</span></span></td>
+ <td class="org-left">the org-gtd package: opinions about Getting Things Done</td>
+ <td class="org-left">Aldric</td>
+ <td class="org-left">&#xa0;</td>
+ <td class="org-left">ok, confirmed</td>
+ </tr>
+
+
+ <tr>
+ <td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-28 Sat 13:52]&#x2013;[2020-11-28 Sat 14:02]</span></span></td>
+ <td class="org-left">One Big-ass Org File or multiple tiny ones? Finally, the End of the debate!</td>
+ <td class="org-left">Leo Vivier</td>
+ <td class="org-left">&#xa0;</td>
+ <td class="org-left">9am-12pm EST (in CET timezone)&#x2026; see if 1-3pm EST (7-9pm CET) is still doable?</td>
+ </tr>
+
+
+ <tr>
+ <td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-28 Sat 14:05]&#x2013;[2020-11-28 Sat 14:15]</span></span></td>
+ <td class="org-left">Experience Report: Steps to "Emacs Hyper Notebooks"</td>
+ <td class="org-left">Joseph Corneli, Raymond Puzio, and Cameron Ray Smith</td>
+ <td class="org-left">&#xa0;</td>
+ <td class="org-left">ok</td>
+ </tr>
+
+
+ <tr>
+ <td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-28 Sat 14:18]&#x2013;[2020-11-28 Sat 14:38]</span></span></td>
+ <td class="org-left">Literate Programming in Emacs Org-Mode</td>
+ <td class="org-left">Adam Ard</td>
+ <td class="org-left">planned</td>
+ <td class="org-left">ok</td>
+ </tr>
+
+
+ <tr>
+ <td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-28 Sat 14:41]&#x2013;[2020-11-28 Sat 14:51]</span></span></td>
+ <td class="org-left">Moving from Jekyll to OrgMode, an experience report</td>
+ <td class="org-left">Adolfo Villafiorita</td>
+ <td class="org-left">&#xa0;</td>
+ <td class="org-left">9am-5pm CET, so 9am-12pm EST; see if 7pm-9pm CET (1-3pm EST is available)</td>
+ </tr>
+
+
+ <tr>
+ <td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-28 Sat 14:54]&#x2013;[2020-11-28 Sat 15:14]</span></span></td>
+ <td class="org-left">Org-roam: Presentation, Demonstration, and What's on the Horizon</td>
+ <td class="org-left">Leo Vivier</td>
+ <td class="org-left">&#xa0;</td>
+ <td class="org-left">2:30-ish EST ok with tea; in CET timezone</td>
+ </tr>
+
+
+ <tr>
+ <td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-28 Sat 15:17]&#x2013;[2020-11-28 Sat 15:37]</span></span></td>
+ <td class="org-left">Org-mode and Org-Roam for Scholars and Researchers</td>
+ <td class="org-left">Noorah Alhasan</td>
+ <td class="org-left">&#xa0;</td>
+ <td class="org-left">ok</td>
+ </tr>
+
+
+ <tr>
+ <td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-28 Sat 15:40]&#x2013;[2020-11-28 Sat 16:00]</span></span></td>
+ <td class="org-left">Org-roam: Technical Presentation</td>
+ <td class="org-left">Leo Vivier</td>
+ <td class="org-left">&#xa0;</td>
+ <td class="org-left">2:30-ish EST ok with tea; in CET timezone</td>
+ </tr>
+
+
+ <tr>
+ <td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-28 Sat 16:03]&#x2013;[2020-11-28 Sat 16:13]</span></span></td>
+ <td class="org-left">Sharing blogs (and more) with org-webring</td>
+ <td class="org-left">Brett Gilio</td>
+ <td class="org-left">&#xa0;</td>
+ <td class="org-left">ok</td>
+ </tr>
+
+
+ <tr>
+ <td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-28 Sat 16:16]&#x2013;[2020-11-28 Sat 16:36]</span></span></td>
+ <td class="org-left">OMG Macros</td>
+ <td class="org-left">Corwin Brust</td>
+ <td class="org-left">&#xa0;</td>
+ <td class="org-left">ok</td>
+ </tr>
+ </tbody>
+ </table>
+
+
+<a id="org7ccfc64"></a>
+
+### Sunday
+
+- 9:30 - 12:00 Morning talks :morning:
+
+ <table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
+
+
+ <colgroup>
+ <col class="org-left" />
+
+ <col class="org-left" />
+
+ <col class="org-left" />
+
+ <col class="org-left" />
+
+ <col class="org-left" />
+ </colgroup>
+ <thead>
+ <tr>
+ <th scope="col" class="org-left">SCHEDULED</th>
+ <th scope="col" class="org-left">ITEM</th>
+ <th scope="col" class="org-left">NAME</th>
+ <th scope="col" class="org-left">PREREC</th>
+ <th scope="col" class="org-left">AVAILABILITY</th>
+ </tr>
+ </thead>
+
+ <tbody>
+ <tr>
+ <td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-29 Sun 09:13]&#x2013;[2020-11-29 Sun 09:30]</span></span></td>
+ <td class="org-left">Emacs development update</td>
+ <td class="org-left">John Wiegley</td>
+ <td class="org-left">planned</td>
+ <td class="org-left">prerec</td>
+ </tr>
+
+
+ <tr>
+ <td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-29 Sun 09:33]&#x2013;[2020-11-29 Sun 09:53]</span></span></td>
+ <td class="org-left">Powering-up Special Blocks</td>
+ <td class="org-left">Musa Al-hassy</td>
+ <td class="org-left">&#xa0;</td>
+ <td class="org-left">Unavailable 1pm-2pm EST both days</td>
+ </tr>
+
+
+ <tr>
+ <td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-29 Sun 09:56]&#x2013;[2020-11-29 Sun 10:46]</span></span></td>
+ <td class="org-left">Incremental Parsing with emacs-tree-sitter</td>
+ <td class="org-left">Tuấn-Anh Nguyễn</td>
+ <td class="org-left">planned</td>
+ <td class="org-left">GMT+7, so earlier is better (9:30 EST?). Can pre-record and answer questions.</td>
+ </tr>
+
+
+ <tr>
+ <td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-29 Sun 10:49]&#x2013;[2020-11-29 Sun 11:09]</span></span></td>
+ <td class="org-left">Analyze code quality through Emacs: a smart forensics approach and the story of a hack</td>
+ <td class="org-left">Andrea</td>
+ <td class="org-left">planned</td>
+ <td class="org-left">ok</td>
+ </tr>
+
+
+ <tr>
+ <td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-29 Sun 11:12]&#x2013;[2020-11-29 Sun 11:22]</span></span></td>
+ <td class="org-left">Traverse complex JSON structures with live feedback</td>
+ <td class="org-left">Zen Monk Alain M. Lafon</td>
+ <td class="org-left">planned</td>
+ <td class="org-left">Available both days, birthday on the 28th</td>
+ </tr>
+
+
+ <tr>
+ <td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-29 Sun 11:25]&#x2013;[2020-11-29 Sun 11:45]</span></span></td>
+ <td class="org-left">Non-GNU ELPA</td>
+ <td class="org-left">Richard Stallman</td>
+ <td class="org-left">&#xa0;</td>
+ <td class="org-left">tbd</td>
+ </tr>
+ </tbody>
+ </table>
+
+- 13:00 - 16:30 Afternoon talks :afternoon:
+
+ <table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
+
+
+ <colgroup>
+ <col class="org-left" />
+
+ <col class="org-left" />
+
+ <col class="org-left" />
+
+ <col class="org-left" />
+
+ <col class="org-left" />
+ </colgroup>
+ <thead>
+ <tr>
+ <th scope="col" class="org-left">SCHEDULED</th>
+ <th scope="col" class="org-left">ITEM</th>
+ <th scope="col" class="org-left">NAME</th>
+ <th scope="col" class="org-left">PREREC</th>
+ <th scope="col" class="org-left">AVAILABILITY</th>
+ </tr>
+ </thead>
+
+ <tbody>
+ <tr>
+ <td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-29 Sun 13:03]&#x2013;[2020-11-29 Sun 13:13]</span></span></td>
+ <td class="org-left">Emacs as a Highschooler: How It Changed My Life</td>
+ <td class="org-left">Pierce Wang</td>
+ <td class="org-left">&#xa0;</td>
+ <td class="org-left">Sun 12pm EST onwards</td>
+ </tr>
+
+
+ <tr>
+ <td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-29 Sun 13:16]&#x2013;[2020-11-29 Sun 13:26]</span></span></td>
+ <td class="org-left">State of Retro Gaming in Emacs</td>
+ <td class="org-left">Vasilij "wasamasa" Schneidermann</td>
+ <td class="org-left">&#xa0;</td>
+ <td class="org-left">8am-10pm CET, so 9am-3pm EST</td>
+ </tr>
+
+
+ <tr>
+ <td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-29 Sun 13:29]&#x2013;[2020-11-29 Sun 14:19]</span></span></td>
+ <td class="org-left">Welcome To The Dungeon</td>
+ <td class="org-left">Erik Elmshauser and Corwin Brust</td>
+ <td class="org-left">&#xa0;</td>
+ <td class="org-left">ok</td>
+ </tr>
+
+
+ <tr>
+ <td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-29 Sun 14:22]&#x2013;[2020-11-29 Sun 14:42]</span></span></td>
+ <td class="org-left">Pathing of Least Resistance</td>
+ <td class="org-left">Corwin Brust</td>
+ <td class="org-left">&#xa0;</td>
+ <td class="org-left">ok</td>
+ </tr>
+
+
+ <tr>
+ <td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-29 Sun 14:45]&#x2013;[2020-11-29 Sun 14:55]</span></span></td>
+ <td class="org-left">A tour of vterm</td>
+ <td class="org-left">Gabriele Bozzola (@sbozzolo)</td>
+ <td class="org-left">planned</td>
+ <td class="org-left">MST, so 11am-5pm EST</td>
+ </tr>
+
+
+ <tr>
+ <td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-29 Sun 14:58]&#x2013;[2020-11-29 Sun 15:08]</span></span></td>
+ <td class="org-left">Lakota Language and Emacs</td>
+ <td class="org-left">Grant Shangreaux</td>
+ <td class="org-left">planned</td>
+ <td class="org-left">Central time, 10am EST-5pm EST</td>
+ </tr>
+
+
+ <tr>
+ <td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-29 Sun 15:11]&#x2013;[2020-11-29 Sun 15:31]</span></span></td>
+ <td class="org-left">Object Oriented Code in the Gnus Newsreader</td>
+ <td class="org-left">Eric Abrahamsen</td>
+ <td class="org-left">planned</td>
+ <td class="org-left">ok</td>
+ </tr>
+
+
+ <tr>
+ <td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-29 Sun 15:34]&#x2013;[2020-11-29 Sun 15:54]</span></span></td>
+ <td class="org-left">Maxima a computer algebra system in Emacs</td>
+ <td class="org-left">Fermin MF</td>
+ <td class="org-left">&#xa0;</td>
+ <td class="org-left">afternoon if possible</td>
+ </tr>
+
+
+ <tr>
+ <td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-29 Sun 15:57]&#x2013;[2020-11-29 Sun 16:17]</span></span></td>
+ <td class="org-left">Extend Emacs to Modern GUI Applications with EAF</td>
+ <td class="org-left">Matthew Zeng</td>
+ <td class="org-left">&#xa0;</td>
+ <td class="org-left">after 12pm EST both days; confirmed available November 29, 1pm-4:30pm EST.</td>
+ </tr>
+
+
+ <tr>
+ <td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-29 Sun 16:20]&#x2013;[2020-11-29 Sun 16:30]</span></span></td>
+ <td class="org-left">WAVEing at Repetitive Repetitive Repetitive Music</td>
+ <td class="org-left">Zachary Kanfer</td>
+ <td class="org-left">&#xa0;</td>
+ <td class="org-left">ok</td>
+ </tr>
+ </tbody>
+ </table>
+
+
+<a id="orga235ca1"></a>
+
+## Table for all talks
+
+<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
+
+
+<colgroup>
+<col class="org-left" />
+
+<col class="org-left" />
+
+<col class="org-left" />
+
+<col class="org-left" />
+</colgroup>
+<thead>
+<tr>
+<th scope="col" class="org-left">PREREC</th>
+<th scope="col" class="org-left">SCHEDULED</th>
+<th scope="col" class="org-left">ITEM</th>
+<th scope="col" class="org-left">NAME</th>
+</tr>
+</thead>
+
+<tbody>
+<tr>
+<td class="org-left">planned</td>
+<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-28 Sat 09:33]&#x2013;[2020-11-28 Sat 09:43]</span></span></td>
+<td class="org-left">Emacs News Highlights</td>
+<td class="org-left">Sacha Chua</td>
+</tr>
+
+
+<tr>
+<td class="org-left">&#xa0;</td>
+<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-28 Sat 09:46]&#x2013;[2020-11-28 Sat 10:06]</span></span></td>
+<td class="org-left">An Emacs Developer Story: From User to Maintainer</td>
+<td class="org-left">Leo Vivier</td>
+</tr>
+
+
+<tr>
+<td class="org-left">&#xa0;</td>
+<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-28 Sat 10:09]&#x2013;[2020-11-28 Sat 10:19]</span></span></td>
+<td class="org-left">Idea to Novel Superstructure: Emacs for Writing</td>
+<td class="org-left">Bala Ramadurai</td>
+</tr>
+
+
+<tr>
+<td class="org-left">planned</td>
+<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-28 Sat 10:22]&#x2013;[2020-11-28 Sat 10:32]</span></span></td>
+<td class="org-left">Music in Plain Text</td>
+<td class="org-left">Jonathan Gregory</td>
+</tr>
+
+
+<tr>
+<td class="org-left">&#xa0;</td>
+<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-28 Sat 10:35]&#x2013;[2020-11-28 Sat 10:45]</span></span></td>
+<td class="org-left">Bard Bivou(m)acs - Building a bandcamp-like page for an album of music</td>
+<td class="org-left">Grant Shangreaux</td>
+</tr>
+
+
+<tr>
+<td class="org-left">&#xa0;</td>
+<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-28 Sat 10:48]&#x2013;[2020-11-28 Sat 10:58]</span></span></td>
+<td class="org-left">Trivial Emacs Kits</td>
+<td class="org-left">Corwin Brust</td>
+</tr>
+
+
+<tr>
+<td class="org-left">&#xa0;</td>
+<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-28 Sat 11:01]&#x2013;[2020-11-28 Sat 11:21]</span></span></td>
+<td class="org-left">Beyond Vim and Emacs: A Scalable UI Paradigm</td>
+<td class="org-left">Sid Kasivajhula</td>
+</tr>
+
+
+<tr>
+<td class="org-left">&#xa0;</td>
+<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-28 Sat 11:24]&#x2013;[2020-11-28 Sat 11:44]</span></span></td>
+<td class="org-left">Building reproducible Emacs</td>
+<td class="org-left">Andrew Tropin</td>
+</tr>
+
+
+<tr>
+<td class="org-left">planned</td>
+<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-28 Sat 11:47]&#x2013;[2020-11-28 Sat 12:27]</span></span></td>
+<td class="org-left">On why most of the best features in eev look like 5-minute hacks</td>
+<td class="org-left">Eduardo Ochs</td>
+</tr>
+
+
+<tr>
+<td class="org-left">&#xa0;</td>
+<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-28 Sat 13:03]&#x2013;[2020-11-28 Sat 13:13]</span></span></td>
+<td class="org-left">Orgmode - your life in plain text</td>
+<td class="org-left">Rainer König</td>
+</tr>
+
+
+<tr>
+<td class="org-left">&#xa0;</td>
+<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-28 Sat 13:16]&#x2013;[2020-11-28 Sat 13:26]</span></span></td>
+<td class="org-left">Lead your future with Org</td>
+<td class="org-left">Andrea</td>
+</tr>
+
+
+<tr>
+<td class="org-left">&#xa0;</td>
+<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-28 Sat 13:29]&#x2013;[2020-11-28 Sat 13:49]</span></span></td>
+<td class="org-left">the org-gtd package: opinions about Getting Things Done</td>
+<td class="org-left">Aldric</td>
+</tr>
+
+
+<tr>
+<td class="org-left">&#xa0;</td>
+<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-28 Sat 13:52]&#x2013;[2020-11-28 Sat 14:02]</span></span></td>
+<td class="org-left">One Big-ass Org File or multiple tiny ones? Finally, the End of the debate!</td>
+<td class="org-left">Leo Vivier</td>
+</tr>
+
+
+<tr>
+<td class="org-left">&#xa0;</td>
+<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-28 Sat 14:05]&#x2013;[2020-11-28 Sat 14:15]</span></span></td>
+<td class="org-left">Experience Report: Steps to "Emacs Hyper Notebooks"</td>
+<td class="org-left">Joseph Corneli, Raymond Puzio, and Cameron Ray Smith</td>
+</tr>
+
+
+<tr>
+<td class="org-left">planned</td>
+<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-28 Sat 14:18]&#x2013;[2020-11-28 Sat 14:38]</span></span></td>
+<td class="org-left">Literate Programming in Emacs Org-Mode</td>
+<td class="org-left">Adam Ard</td>
+</tr>
+
+
+<tr>
+<td class="org-left">&#xa0;</td>
+<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-28 Sat 14:41]&#x2013;[2020-11-28 Sat 14:51]</span></span></td>
+<td class="org-left">Moving from Jekyll to OrgMode, an experience report</td>
+<td class="org-left">Adolfo Villafiorita</td>
+</tr>
+
+
+<tr>
+<td class="org-left">&#xa0;</td>
+<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-28 Sat 14:54]&#x2013;[2020-11-28 Sat 15:14]</span></span></td>
+<td class="org-left">Org-roam: Presentation, Demonstration, and What's on the Horizon</td>
+<td class="org-left">Leo Vivier</td>
+</tr>
+
+
+<tr>
+<td class="org-left">&#xa0;</td>
+<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-28 Sat 15:17]&#x2013;[2020-11-28 Sat 15:37]</span></span></td>
+<td class="org-left">Org-mode and Org-Roam for Scholars and Researchers</td>
+<td class="org-left">Noorah Alhasan</td>
+</tr>
+
+
+<tr>
+<td class="org-left">&#xa0;</td>
+<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-28 Sat 15:40]&#x2013;[2020-11-28 Sat 16:00]</span></span></td>
+<td class="org-left">Org-roam: Technical Presentation</td>
+<td class="org-left">Leo Vivier</td>
+</tr>
+
+
+<tr>
+<td class="org-left">&#xa0;</td>
+<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-28 Sat 16:03]&#x2013;[2020-11-28 Sat 16:13]</span></span></td>
+<td class="org-left">Sharing blogs (and more) with org-webring</td>
+<td class="org-left">Brett Gilio</td>
+</tr>
+
+
+<tr>
+<td class="org-left">&#xa0;</td>
+<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-28 Sat 16:16]&#x2013;[2020-11-28 Sat 16:36]</span></span></td>
+<td class="org-left">OMG Macros</td>
+<td class="org-left">Corwin Brust</td>
+</tr>
+
+
+<tr>
+<td class="org-left">planned</td>
+<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-29 Sun 09:13]&#x2013;[2020-11-29 Sun 09:30]</span></span></td>
+<td class="org-left">Emacs development update</td>
+<td class="org-left">John Wiegley</td>
+</tr>
+
+
+<tr>
+<td class="org-left">&#xa0;</td>
+<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-29 Sun 09:33]&#x2013;[2020-11-29 Sun 09:53]</span></span></td>
+<td class="org-left">Powering-up Special Blocks</td>
+<td class="org-left">Musa Al-hassy</td>
+</tr>
+
+
+<tr>
+<td class="org-left">planned</td>
+<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-29 Sun 09:56]&#x2013;[2020-11-29 Sun 10:46]</span></span></td>
+<td class="org-left">Incremental Parsing with emacs-tree-sitter</td>
+<td class="org-left">Tuấn-Anh Nguyễn</td>
+</tr>
+
+
+<tr>
+<td class="org-left">planned</td>
+<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-29 Sun 10:49]&#x2013;[2020-11-29 Sun 11:09]</span></span></td>
+<td class="org-left">Analyze code quality through Emacs: a smart forensics approach and the story of a hack</td>
+<td class="org-left">Andrea</td>
+</tr>
+
+
+<tr>
+<td class="org-left">planned</td>
+<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-29 Sun 11:12]&#x2013;[2020-11-29 Sun 11:22]</span></span></td>
+<td class="org-left">Traverse complex JSON structures with live feedback</td>
+<td class="org-left">Zen Monk Alain M. Lafon</td>
+</tr>
+
+
+<tr>
+<td class="org-left">&#xa0;</td>
+<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-29 Sun 11:25]&#x2013;[2020-11-29 Sun 11:45]</span></span></td>
+<td class="org-left">Non-GNU ELPA</td>
+<td class="org-left">Richard Stallman</td>
+</tr>
+
+
+<tr>
+<td class="org-left">&#xa0;</td>
+<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-29 Sun 13:03]&#x2013;[2020-11-29 Sun 13:13]</span></span></td>
+<td class="org-left">Emacs as a Highschooler: How It Changed My Life</td>
+<td class="org-left">Pierce Wang</td>
+</tr>
+
+
+<tr>
+<td class="org-left">&#xa0;</td>
+<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-29 Sun 13:16]&#x2013;[2020-11-29 Sun 13:26]</span></span></td>
+<td class="org-left">State of Retro Gaming in Emacs</td>
+<td class="org-left">Vasilij "wasamasa" Schneidermann</td>
+</tr>
+
+
+<tr>
+<td class="org-left">&#xa0;</td>
+<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-29 Sun 13:29]&#x2013;[2020-11-29 Sun 14:19]</span></span></td>
+<td class="org-left">Welcome To The Dungeon</td>
+<td class="org-left">Erik Elmshauser and Corwin Brust</td>
+</tr>
+
+
+<tr>
+<td class="org-left">&#xa0;</td>
+<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-29 Sun 14:22]&#x2013;[2020-11-29 Sun 14:42]</span></span></td>
+<td class="org-left">Pathing of Least Resistance</td>
+<td class="org-left">Corwin Brust</td>
+</tr>
+
+
+<tr>
+<td class="org-left">planned</td>
+<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-29 Sun 14:45]&#x2013;[2020-11-29 Sun 14:55]</span></span></td>
+<td class="org-left">A tour of vterm</td>
+<td class="org-left">Gabriele Bozzola (@sbozzolo)</td>
+</tr>
+
+
+<tr>
+<td class="org-left">planned</td>
+<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-29 Sun 14:58]&#x2013;[2020-11-29 Sun 15:08]</span></span></td>
+<td class="org-left">Lakota Language and Emacs</td>
+<td class="org-left">Grant Shangreaux</td>
+</tr>
+
+
+<tr>
+<td class="org-left">planned</td>
+<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-29 Sun 15:11]&#x2013;[2020-11-29 Sun 15:31]</span></span></td>
+<td class="org-left">Object Oriented Code in the Gnus Newsreader</td>
+<td class="org-left">Eric Abrahamsen</td>
+</tr>
+
+
+<tr>
+<td class="org-left">&#xa0;</td>
+<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-29 Sun 15:34]&#x2013;[2020-11-29 Sun 15:54]</span></span></td>
+<td class="org-left">Maxima a computer algebra system in Emacs</td>
+<td class="org-left">Fermin MF</td>
+</tr>
+
+
+<tr>
+<td class="org-left">&#xa0;</td>
+<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-29 Sun 15:57]&#x2013;[2020-11-29 Sun 16:17]</span></span></td>
+<td class="org-left">Extend Emacs to Modern GUI Applications with EAF</td>
+<td class="org-left">Matthew Zeng</td>
+</tr>
+
+
+<tr>
+<td class="org-left">&#xa0;</td>
+<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-29 Sun 16:20]&#x2013;[2020-11-29 Sun 16:30]</span></span></td>
+<td class="org-left">WAVEing at Repetitive Repetitive Repetitive Music</td>
+<td class="org-left">Zachary Kanfer</td>
+</tr>
+</tbody>
+</table>
+
+
+<a id="org7cbfd99"></a>
+
+# Talks
+
+
+<a id="orga4c7dc2"></a>
+
+## NOVEMBER 28 (Saturday) :sat:
+
+
+<a id="orgf28f620"></a>
+
+### 9:00 - 9:30 Opening remarks
+
+
+<a id="org8ee6379"></a>
+
+### 9:30 - 12:00 User talks :morning:
+
+<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
+
+
+<colgroup>
+<col class="org-right" />
+
+<col class="org-right" />
+
+<col class="org-right" />
+</colgroup>
+<tbody>
+<tr>
+<td class="org-right">Difference</td>
+<td class="org-right">Minimum time</td>
+<td class="org-right">Target time</td>
+</tr>
+
+
+<tr>
+<td class="org-right">-30</td>
+<td class="org-right">150</td>
+<td class="org-right">120</td>
+</tr>
+</tbody>
+</table>
+
+<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
+
+
+<colgroup>
+<col class="org-left" />
+
+<col class="org-left" />
+
+<col class="org-left" />
+
+<col class="org-left" />
+
+<col class="org-left" />
+</colgroup>
+<thead>
+<tr>
+<th scope="col" class="org-left">SCHEDULED</th>
+<th scope="col" class="org-left">ITEM</th>
+<th scope="col" class="org-left">NAME</th>
+<th scope="col" class="org-left">PREREC</th>
+<th scope="col" class="org-left">AVAILABILITY</th>
+</tr>
+</thead>
+
+<tbody>
+<tr>
+<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-28 Sat 09:33]&#x2013;[2020-11-28 Sat 09:43]</span></span></td>
+<td class="org-left">Emacs News Highlights</td>
+<td class="org-left">Sacha Chua</td>
+<td class="org-left">planned</td>
+<td class="org-left">prerec, maybe 9am-3pm EST</td>
+</tr>
+
+
+<tr>
+<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-28 Sat 09:46]&#x2013;[2020-11-28 Sat 10:06]</span></span></td>
+<td class="org-left">An Emacs Developer Story: From User to Maintainer</td>
+<td class="org-left">Leo Vivier</td>
+<td class="org-left">&#xa0;</td>
+<td class="org-left">9am-12pm EST</td>
+</tr>
+
+
+<tr>
+<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-28 Sat 10:09]&#x2013;[2020-11-28 Sat 10:19]</span></span></td>
+<td class="org-left">Idea to Novel Superstructure: Emacs for Writing</td>
+<td class="org-left">Bala Ramadurai</td>
+<td class="org-left">&#xa0;</td>
+<td class="org-left">8:30am EST-12pm EST</td>
+</tr>
+
+
+<tr>
+<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-28 Sat 10:22]&#x2013;[2020-11-28 Sat 10:32]</span></span></td>
+<td class="org-left">Music in Plain Text</td>
+<td class="org-left">Jonathan Gregory</td>
+<td class="org-left">planned</td>
+<td class="org-left">ok</td>
+</tr>
+
+
+<tr>
+<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-28 Sat 10:35]&#x2013;[2020-11-28 Sat 10:45]</span></span></td>
+<td class="org-left">Bard Bivou(m)acs - Building a bandcamp-like page for an album of music</td>
+<td class="org-left">Grant Shangreaux</td>
+<td class="org-left">&#xa0;</td>
+<td class="org-left">10am-5pm EST, daylight Central US</td>
+</tr>
+
+
+<tr>
+<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-28 Sat 10:48]&#x2013;[2020-11-28 Sat 10:58]</span></span></td>
+<td class="org-left">Trivial Emacs Kits</td>
+<td class="org-left">Corwin Brust</td>
+<td class="org-left">&#xa0;</td>
+<td class="org-left">ok</td>
+</tr>
+
+
+<tr>
+<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-28 Sat 11:01]&#x2013;[2020-11-28 Sat 11:21]</span></span></td>
+<td class="org-left">Beyond Vim and Emacs: A Scalable UI Paradigm</td>
+<td class="org-left">Sid Kasivajhula</td>
+<td class="org-left">&#xa0;</td>
+<td class="org-left">PST, so maybe 11 AM EST - 5 PM EST?</td>
+</tr>
+
+
+<tr>
+<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-28 Sat 11:24]&#x2013;[2020-11-28 Sat 11:44]</span></span></td>
+<td class="org-left">Building reproducible Emacs</td>
+<td class="org-left">Andrew Tropin</td>
+<td class="org-left">&#xa0;</td>
+<td class="org-left">After 4pm UTC - 11am-5pm EST</td>
+</tr>
+
+
+<tr>
+<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-28 Sat 11:47]&#x2013;[2020-11-28 Sat 12:27]</span></span></td>
+<td class="org-left">On why most of the best features in eev look like 5-minute hacks</td>
+<td class="org-left">Eduardo Ochs</td>
+<td class="org-left">planned</td>
+<td class="org-left">ok</td>
+</tr>
+</tbody>
+</table>
+
+- User stories
+
+ - in-progress Emacs News Highlights :lightning:user:
+
+ Name: Sacha Chua
+
+ - Preferred format
+
+ 10 minutes
+
+ - (Un)availability
+
+ Available maybe 9am-3pm EST
+
+ - Abstract
+
+ Quick highlights from Emacs News since the last EmacsConf
+
+ - Speaker release
+
+ By submitting this proposal, I agree that my presentation at EmacsConf
+ 2020 is subject to the following terms and conditions:
+
+ The EmacsConf organizers may capture audio and video (a "Recording")
+ of my presentation and any associated materials, which may include
+ slides, notes, transcripts, and prerecording(s) of my presentation
+ that I provide to the EmacsConf organizers.
+
+ I authorize the EmacsConf organizers to distribute, reproduce,
+ publicly display, and prepare derivative works of the Recording and
+ any derivative works of the Recording (the "Licensed Materials") under
+ the terms of the Creative Commons Attribution-ShareAlike 4.0
+ International (CC BY-SA 4.0) license.
+
+ I grant to the EmacsConf organizers permission to use my name,
+ likeness, and biographic information in association with their use of
+ the Licensed Materials under the above license.
+
+ I represent that I have the authority to grant the above license to
+ the EmacsConf organizers. If my presentation incorporates any
+ material owned by third parties, I represent that the material is
+ 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:
+
+ Name: Leo Vivier
+
+ - Preferred format
+
+ Standard Talk (20 min).
+
+ - Abstract
+
+ In light of the new development philosophy for Org-mode, I would like
+ to present my developer story from discovering Org-mode in 2014 to
+ becoming a maintainer for a big project in 2020. The goal is to show
+ the logical progression between interest, gaining skills, becoming an
+ expert, authoring, contributing and maintaining, in hope that it would
+ bolster people to do the same.
+
+ As someone who majored in a non CS-related degree, I feel that my
+ story has a potential to grasp the attention of many attendees, since
+ I basically started from the bottom of the ladder. Most people should
+ be able to relate to one step on that ladder, which should hopefully
+ encourage them to reach for the next step.
+
+ My init files, which show the organic growth of my configuration:
+ <https://github.com/zaeph/.emacs.d>
+
+ Org-roam, the software which I am maintaining
+ <https://github.com/org-roam/org-roam>
+
+ - (Un)availability
+
+ I am in CET, and I would rather have the presentation early in the day
+ (9am-12pm EST would be stellar). If need be, I could present later,
+ but I do not think I would be as effective.
+
+ - Speaker release
+
+ By submitting this proposal, I agree that my presentation at EmacsConf
+ 2020 is subject to the following terms and conditions:
+
+ The EmacsConf organizers may capture audio and video (a "Recording")
+ of my presentation and any associated materials, which may include
+ slides, notes, transcripts, and prerecording(s) of my presentation
+ that I provide to the EmacsConf organizers.
+
+ I authorize the EmacsConf organizers to distribute, reproduce,
+ publicly display, and prepare derivative works of the Recording and
+ any derivative works of the Recording (the "Licensed Materials") under
+ the terms of the Creative Commons Attribution-ShareAlike 4.0
+ International (CC BY-SA 4.0) license.
+
+ I grant to the EmacsConf organizers permission to use my name,
+ likeness, and biographic information in association with their use of
+ the Licensed Materials under the above license.
+
+ I represent that I have the authority to grant the above license to
+ the EmacsConf organizers. If my presentation incorporates any
+ material owned by third parties, I represent that the material is
+ sublicensable to the EmacsConf organizers or that my use of them is
+ fair use.
+
+- Exploring Emacs's flexibility
+
+ - in-progress Idea to Novel Superstructure: Emacs for Writing :standard:lightning:user:
+
+ Name: Bala Ramadurai
+
+ - Preferred format
+
+ Standard talk (I am ok to reduce this to a lightning talk as well)
+
+ - Abstract
+
+ You want to write a novel, but you don't know how to create an
+ outline. You have a seed idea for a novel, and you intend to expand
+ it into a complete story. You have many ideas for a novel, and you
+ are wondering how to proceed. You started writing your heart out, and
+ you now feel the need to create a framework for a novel.
+
+ Worry not, Emacs is here to the rescue.
+
+ Listen to this talk to find out how to develop your story idea into a
+ framework for a novel, all within your favourite text editor, Emacs.
+
+ What you will learn during the session:
+
+ - How to write a single-line plot for a novel
+ - How to write the backbone of the novel, the main character arc
+ - How to create characters and write their arcs
+ - How to create a story design
+ - How to create the scenes design
+ - How to plan your novel writing project
+ - How to track your project
+
+ The modified Emacs template has all the ingredients and flow to start
+ from a basic idea to a full fledged thrashed out novel superstructure.
+
+ Once you are done with the superstructure, you can use the planning
+ and clocking infrastructure to finish scene after scene, thus
+ finishing your masterpiece.
+
+ We will use:
+
+ - The snowflake method -
+
+ <https://www.advancedfictionwriting.com/articles/snowflake-method/>
+
+ - The seven-point story structure -
+
+ <https://invidious.snopyta.org/watch?v=KcmiqQ9NpPE&list=PLL7D_RCJrhcLzLiO17m7KcnG5WrjcUxGz>
+
+ - The original emacs writing template -
+
+ <https://tonyballantyne.com/EmacsWritingTips.html>
+
+ - Some spices from the speaker's kitchen
+
+ - (Un)availability
+
+ Available between 01:30pm and 06:30pm UTC on Nov 28, 2020. Also
+ available between 01:30pm and 05:00pm UTC.
+
+ - Speaker release
+
+ By submitting this proposal, I agree that my presentation at EmacsConf
+ 2020 is subject to the following terms and conditions:
+
+ The EmacsConf organizers may capture audio and video (a "Recording")
+ of my presentation and any associated materials, which may include
+ slides, notes, transcripts, and prerecording(s) of my presentation
+ that I provide to the EmacsConf organizers.
+
+ I authorize the EmacsConf organizers to distribute, reproduce,
+ publicly display, and prepare derivative works of the Recording and
+ any derivative works of the Recording (the "Licensed Materials") under
+ the terms of the Creative Commons Attribution-ShareAlike 4.0
+ International (CC BY-SA 4.0) license.
+
+ I grant to the EmacsConf organizers permission to use my name,
+ likeness, and biographic information in association with their use of
+ the Licensed Materials under the above license.
+
+ I represent that I have the authority to grant the above license to
+ the EmacsConf organizers. If my presentation incorporates any
+ material owned by third parties, I represent that the material is
+ sublicensable to the EmacsConf organizers or that my use of them is
+ fair use.
+
+ - in-progress Music in Plain Text :music:user:lightning:
+
+ Name: Jonathan Gregory
+
+ - Preferred format
+
+ 10 minutes
+
+ - Abstract
+
+ LilyPond is an extensible program for producing high-quality sheet
+ music engraved with traditional layout rules. Similar to LaTeX and
+ other typesetting programs, its input format simply describes the
+ visual layout of the score using commands to define musical
+ expressions. This makes collaboration easier, prevents users from
+ having to adjust layout settings manually, and faciliates digital
+ archiving and distribution of musical scores. In this talk, I begin
+ by showcasing LilyPond syntax and mode using literate programming
+ techniques as examples for building sheet music in Emacs, and proceed
+ with an overview of the setup I use for producing music books with GNU
+ Make, LilyPond, and LilyPond-mode.
+
+ - (Un)availability
+
+ Available both days
+
+ - Speaker release
+
+ By submitting this proposal, I agree that my presentation at EmacsConf
+ 2020 is subject to the following terms and conditions:
+
+ The EmacsConf organizers may capture audio and video (a "Recording")
+ of my presentation and any associated materials, which may include
+ slides, notes, transcripts, and prerecording(s) of my presentation
+ that I provide to the EmacsConf organizers.
+
+ I authorize the EmacsConf organizers to distribute, reproduce,
+ publicly display, and prepare derivative works of the Recording and
+ any derivative works of the Recording (the "Licensed Materials") under
+ the terms of the Creative Commons Attribution-ShareAlike 4.0
+ International (CC BY-SA 4.0) license.
+
+ I grant to the EmacsConf organizers permission to use my name,
+ likeness, and biographic information in association with their use of
+ the Licensed Materials under the above license.
+
+ I represent that I have the authority to grant the above license to
+ the EmacsConf organizers. If my presentation incorporates any
+ material owned by third parties, I represent that the material is
+ sublicensable to the EmacsConf organizers or that my use of them is
+ fair use.
+
+ - in-progress Bard Bivou(m)acs - Building a bandcamp-like page for an album of music :music:
+
+ Name: Grant Shangreaux
+
+ - Preferred format
+
+ 10 minute
+
+ - Abstract
+
+ I hoped to become a successful musician someday, and while that has
+ yet to happen, I've recorded a fair share of unreleased music over the
+ years. I decided it was time to share some of it with the world
+ through the power of Emacs!
+
+ Rather than using the available non-free (or even free?) platforms out
+ there, I decided to build a Bandcamp-like page from scratch. While I
+ could have chosen many of the static-site building tools, I decided to
+ use the tool closest to my heart and automate the process of building
+ a web page from a directory of audio files with Emacs Lisp.
+
+ I will share with you how I managed to create a personal workflow for
+ releasing an album without leaving the One True Editor that includes
+ editing audio metadata with EMMS and generating HTML while cobbling
+ together yasnippet and the format macro.
+
+ - (Un)availability
+
+ Flexible, prefer daylight times for US Central time zone
+
+ - Speaker release
+
+ By submitting this proposal, I agree that my presentation at EmacsConf
+ 2020 is subject to the following terms and conditions:
+
+ The EmacsConf organizers may capture audio and video (a "Recording")
+ of my presentation and any associated materials, which may include
+ slides, notes, transcripts, and prerecording(s) of my presentation
+ that I provide to the EmacsConf organizers.
+
+ I authorize the EmacsConf organizers to distribute, reproduce,
+ publicly display, and prepare derivative works of the Recording and
+ any derivative works of the Recording (the "Licensed Materials") under
+ the terms of the Creative Commons Attribution-ShareAlike 4.0
+ International (CC BY-SA 4.0) license.
+
+ I grant to the EmacsConf organizers permission to use my name,
+ likeness, and biographic information in association with their use of
+ the Licensed Materials under the above license.
+
+ I represent that I have the authority to grant the above license to
+ the EmacsConf organizers. If my presentation incorporates any
+ material owned by third parties, I represent that the material is
+ sublicensable to the EmacsConf organizers or that my use of them is
+ fair use.
+
+- Emacs configuration
+
+ - in-progress Trivial Emacs Kits :lightning:config:user:beginner:
+
+ Name: Corwin Brust
+
+ - Preferred format
+
+ Lightning talk (10m, probably without Q&A)
+
+ - Abstract
+
+ Techniques to help new users bootstrap a more gentle introduction to
+ Emacs, one (short) init.el file at a time.
+
+ - (Un)availability
+
+ None
+
+ - Speaker release
+
+ By submitting this proposal, I agree that my presentation at EmacsConf
+ 2020 is subject to the following terms and conditions:
+
+ The EmacsConf organizers may capture audio and video (a "Recording")
+ of my presentation and any associated materials, which may include
+ slides, notes, transcripts, and prerecording(s) of my presentation
+ that I provide to the EmacsConf organizers.
+
+ I authorize the EmacsConf organizers to distribute, reproduce,
+ publicly display, and prepare derivative works of the Recording and
+ any derivative works of the Recording (the "Licensed Materials") under
+ the terms of the Creative Commons Attribution-ShareAlike 4.0
+ International (CC BY-SA 4.0) license.
+
+ I grant to the EmacsConf organizers permission to use my name,
+ likeness, and biographic information in association with their use of
+ the Licensed Materials under the above license.
+
+ I represent that I have the authority to grant the above license to
+ the EmacsConf organizers. If my presentation incorporates any
+ material owned by third parties, I represent that the material is
+ sublicensable to the EmacsConf organizers or that my use of them is
+ fair use.
+
+ - in-progress Beyond Vim and Emacs: A Scalable UI Paradigm :nudge:
+
+ Name: Sid Kasivajhula
+
+ - Preferred format
+
+ Extended or Standard
+
+ - Comments
+
+ > I think this might be a better fit as a lightning talk or maybe a
+ > standard talk that demonstrates the concept with a few well-chosen
+ > examples. A possible goal might be to show people that they can
+ > develop a mental model and remap more keys to fit it.
+
+ - Abstract
+
+ A practiced dexterity with the arcane incantations known as keybindings is
+ the true mark of the veteran Emacs user. Yet, it takes years to get there,
+ and if you tried to explain what you were doing there, nobody would
+ understand, least of all those Vim users who would say that the whole
+ enterprise was foolhardy to begin with. They don't get it, those fools. Let
+ them flounder about in their "normal mode." Normal isn't good enough for
+ me! I want exceptional, IDEAL, I want&#x2026; glorious mode, that's what I want.
+ And the only thing that'll cut it is if I do it &#x2026; my way. Why, with my
+ precious emacs.d, I'm invincible! Well&#x2026; just between you and me, there
+ are times when learning new keybindings every time someone makes a new toy
+ gets to be a bit of a drag, and some days I can't keep my C-c's and my C-c
+ C-c's straight if I'm being honest with you, but you'll never catch me
+ admitting it! I do wonder if there's a better way to get to glorious mode,
+ even though my .emacs.d is already perfect (of course).
+
+ If this secretly sounds like you, then rejoice, there just might be a new
+ way, a better way! And you could potentially get there in days instead of
+ years, so that even your script kiddie coworker with their "VSCode" (groan)
+ may at last come around to your way of looking at things, and, maybe, just
+ maybe, even those Vim users (hiss!)!
+
+ "Epistemic" Emacs is a user interface paradigm based on treating aspects of
+ the user interface as conceptual entities that can be reasoned about in
+ terms of a standard language. Essentially, instead of learning keybindings
+ for each specific action, you learn keybindings for general, conceptual
+ habits, kind of like Vim, except that instead of reasoning only about text,
+ you reason about any aspect of your interaction with the machine, whether
+ it's windows or buffers or even those interactions themselves. The promise
+ of this approach is that you just learn a simple language once, and you can
+ then apply it to vastly different aspects of your user interface, with the
+ same keybindings doing different things in different contexts, in sensible
+ and predictable ways. And in principle, whenever that new toy technology
+ comes around, anyone could extend the UI language to apply to it in a
+ matter of minutes, and you'd already know how to use it.
+
+ - (Un)availability
+
+ No constraints at this time.
+
+ - Speaker release
+
+ By submitting this proposal, I agree that my presentation at EmacsConf
+ 2020 is subject to the following terms and conditions:
+
+ The EmacsConf organizers may capture audio and video (a "Recording")
+ of my presentation and any associated materials, which may include
+ slides, notes, transcripts, and prerecording(s) of my presentation
+ that I provide to the EmacsConf organizers.
+
+ I authorize the EmacsConf organizers to distribute, reproduce,
+ publicly display, and prepare derivative works of the Recording and
+ any derivative works of the Recording (the "Licensed Materials") under
+ the terms of the Creative Commons Attribution-ShareAlike 4.0
+ International (CC BY-SA 4.0) license.
+
+ I grant to the EmacsConf organizers permission to use my name,
+ likeness, and biographic information in association with their use of
+ the Licensed Materials under the above license.
+
+ I represent that I have the authority to grant the above license to
+ the EmacsConf organizers. If my presentation incorporates any
+ material owned by third parties, I represent that the material is
+ sublicensable to the EmacsConf organizers or that my use of them is
+ fair use.
+
+ - in-progress Building reproducible Emacs :standard:extended:config:user:
+
+ Name: Andrew Tropin
+
+ - Preferred format
+
+ Extended preferred, standard possible
+
+ - Abstract
+
+ It's not always easy to take part of someone's configuration and make
+ it work, it's almost never easy to move your configuration to fresh OS
+ installation or hardware. Not sure that this snippet is enough to
+ make package work? Forgot to install ripgrep in your system for
+ rg.el? Got a broken version of package on package-install?
+
+ There is a way to make an Emacs configuration reliable, composable and
+ self-contained. It's possible to freeze package versions, create
+ systemd unit for emacs daemon, maintain system dependencies and
+ package subconfigurations in one place with one tool.
+
+ The talk explains how to leverage the power of nix package manager and
+ use-package to make pretty good emacs configuration.
+
+ There is a stream record on the same topic:
+ <https://youtu.be/2_e3kPJQ93s>. It lacks few interesting points about
+ composability of such configuration approach, but already have enough
+ interesting information. The talk will be a little more structured
+ and more Emacs-users oriented.
+
+ - (Un)availability
+
+ After 4pm UTC
+
+ - Speaker release
+
+ By submitting this proposal, I agree that my presentation at EmacsConf
+ 2020 is subject to the following terms and conditions:
+
+ The EmacsConf organizers may capture audio and video (a "Recording")
+ of my presentation and any associated materials, which may include
+ slides, notes, transcripts, and prerecording(s) of my presentation
+ that I provide to the EmacsConf organizers.
+
+ I authorize the EmacsConf organizers to distribute, reproduce,
+ publicly display, and prepare derivative works of the Recording and
+ any derivative works of the Recording (the "Licensed Materials") under
+ the terms of the Creative Commons Attribution-ShareAlike 4.0
+ International (CC BY-SA 4.0) license.
+
+ I grant to the EmacsConf organizers permission to use my name,
+ likeness, and biographic information in association with their use of
+ the Licensed Materials under the above license.
+
+ I represent that I have the authority to grant the above license to
+ the EmacsConf organizers. If my presentation incorporates any
+ material owned by third parties, I represent that the material is
+ sublicensable to the EmacsConf organizers or that my use of them is
+ fair use.
+
+ - in-progress On why most of the best features in eev look like 5-minute hacks :extended:user:nudge:prerec:
+
+ Name: Eduardo Ochs
+
+ - Preferred format
+
+ Extended talk
+
+ - Comments
+
+ > Will be pre-recorded, so we might be able to move it around in the schedule
+
+ - Abstract
+
+ In the last months there were several hundreds of messages in
+ emacs-devel in threads with names like "A proposal for a friendlier
+ Emacs", "How to make Emacs popular again", and "Interactive guide for
+ new users". On the one hand I am absolutely sure that eev is very
+ good answer to all these themes; on the other hand I know that eev is
+ based on some design decisions that offend most people used to modern,
+ "user-friendly" interfaces - and I feel that at this moment mentions
+ to eev in those discussions in emacs-devel would not be welcome.
+
+ In this talk I will start by presenting very quickly the main "killer
+ features" of eev - namely:
+
+ 1. Elisp hyperlinks,
+
+ 2. interactive tutorials that can be navigated with just three keys,
+
+ 3. non-invasiveness - people can easily turn eev on for only five
+ minutes each week, play with it a bit, and then turn it off,
+
+ 4. high discoverability factor,
+
+ 5. a way to create "hyperlinks to here",
+
+ 6. hyperlinks to specific points in PDF documents and video files -
+ i.e., to specific pages, strings, and timemarks,
+
+ 7. a way to control shell-like programs ("eepitch"), and
+
+ 8. an Elisp tutorial,
+
+ and after that I will present the design decisions behind eev, in two
+ parts:
+
+ 1. eev is a very thin layer above Emacs-the-Lisp-environment; it is
+ as simple as possible, but in the sense of "simple" that was used
+ in Forth, and that is not very familiar today.
+
+ 2. Very often when I am using Emacs - which is my main interface
+ with the system - I realize that I can automate some task that I
+ just did by hand twice of thrice; and that I should do that,
+ because automating that would be both easy and fun. Over the
+ years I experimented with several ways of automating tasks,
+ refined some of these ways a lot, and found a certain "best"
+ style that, again, usually offends people who are accustomed with
+ the modern ideas of user-friendliness. In this style, used in
+ most template-based functions in eev, both textual documentation
+ and error-handling are kept to a minimum. I will show how, and
+ why, eev makes this style works so well, and how users can create
+ their own templated functions very quickly - as "5-minute hacks".
+
+ - (Un)availability
+
+ I will be available the whole day.
+
+ - Speaker release
+
+ By submitting this proposal, I agree that my presentation at EmacsConf
+ 2020 is subject to the following terms and conditions:
+
+ The EmacsConf organizers may capture audio and video (a "Recording")
+ of my presentation and any associated materials, which may include
+ slides, notes, transcripts, and prerecording(s) of my presentation
+ that I provide to the EmacsConf organizers.
+
+ I authorize the EmacsConf organizers to distribute, reproduce,
+ publicly display, and prepare derivative works of the Recording and
+ any derivative works of the Recording (the "Licensed Materials") under
+ the terms of the Creative Commons Attribution-ShareAlike 4.0
+ International (CC BY-SA 4.0) license.
+
+ I grant to the EmacsConf organizers permission to use my name,
+ likeness, and biographic information in association with their use of
+ the Licensed Materials under the above license.
+
+ I represent that I have the authority to grant the above license to
+ the EmacsConf organizers. If my presentation incorporates any
+ material owned by third parties, I represent that the material is
+ sublicensable to the EmacsConf organizers or that my use of them is
+ fair use.
+
+
+<a id="org71b2ecc"></a>
+
+### 12:00 - 13:00 Lunch
+
+
+<a id="org45fa351"></a>
+
+### 13:00 - 16:30 Afternoon talks :afternoon:
+
+<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
+
+
+<colgroup>
+<col class="org-right" />
+
+<col class="org-right" />
+
+<col class="org-right" />
+</colgroup>
+<tbody>
+<tr>
+<td class="org-right">Difference</td>
+<td class="org-right">Minimum time</td>
+<td class="org-right">Target time</td>
+</tr>
+
+
+<tr>
+<td class="org-right">-12</td>
+<td class="org-right">180</td>
+<td class="org-right">168</td>
+</tr>
+</tbody>
+</table>
+
+<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
+
+
+<colgroup>
+<col class="org-left" />
+
+<col class="org-left" />
+
+<col class="org-left" />
+
+<col class="org-left" />
+
+<col class="org-left" />
+</colgroup>
+<thead>
+<tr>
+<th scope="col" class="org-left">SCHEDULED</th>
+<th scope="col" class="org-left">ITEM</th>
+<th scope="col" class="org-left">NAME</th>
+<th scope="col" class="org-left">PREREC</th>
+<th scope="col" class="org-left">AVAILABILITY</th>
+</tr>
+</thead>
+
+<tbody>
+<tr>
+<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-28 Sat 13:03]&#x2013;[2020-11-28 Sat 13:13]</span></span></td>
+<td class="org-left">Orgmode - your life in plain text</td>
+<td class="org-left">Rainer König</td>
+<td class="org-left">&#xa0;</td>
+<td class="org-left">CET, so 9am-maybe 2pm EST (8pm CET)</td>
+</tr>
+
+
+<tr>
+<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-28 Sat 13:16]&#x2013;[2020-11-28 Sat 13:26]</span></span></td>
+<td class="org-left">Lead your future with Org</td>
+<td class="org-left">Andrea</td>
+<td class="org-left">&#xa0;</td>
+<td class="org-left">ok</td>
+</tr>
+
+
+<tr>
+<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-28 Sat 13:29]&#x2013;[2020-11-28 Sat 13:49]</span></span></td>
+<td class="org-left">the org-gtd package: opinions about Getting Things Done</td>
+<td class="org-left">Aldric</td>
+<td class="org-left">&#xa0;</td>
+<td class="org-left">ok, confirmed</td>
+</tr>
+
+
+<tr>
+<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-28 Sat 13:52]&#x2013;[2020-11-28 Sat 14:02]</span></span></td>
+<td class="org-left">One Big-ass Org File or multiple tiny ones? Finally, the End of the debate!</td>
+<td class="org-left">Leo Vivier</td>
+<td class="org-left">&#xa0;</td>
+<td class="org-left">9am-12pm EST (in CET timezone)&#x2026; see if 1-3pm EST (7-9pm CET) is still doable?</td>
+</tr>
+
+
+<tr>
+<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-28 Sat 14:05]&#x2013;[2020-11-28 Sat 14:15]</span></span></td>
+<td class="org-left">Experience Report: Steps to "Emacs Hyper Notebooks"</td>
+<td class="org-left">Joseph Corneli, Raymond Puzio, and Cameron Ray Smith</td>
+<td class="org-left">&#xa0;</td>
+<td class="org-left">ok</td>
+</tr>
+
+
+<tr>
+<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-28 Sat 14:18]&#x2013;[2020-11-28 Sat 14:38]</span></span></td>
+<td class="org-left">Literate Programming in Emacs Org-Mode</td>
+<td class="org-left">Adam Ard</td>
+<td class="org-left">planned</td>
+<td class="org-left">ok</td>
+</tr>
+
+
+<tr>
+<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-28 Sat 14:41]&#x2013;[2020-11-28 Sat 14:51]</span></span></td>
+<td class="org-left">Moving from Jekyll to OrgMode, an experience report</td>
+<td class="org-left">Adolfo Villafiorita</td>
+<td class="org-left">&#xa0;</td>
+<td class="org-left">9am-5pm CET, so 9am-12pm EST; see if 7pm-9pm CET (1-3pm EST is available)</td>
+</tr>
+
+
+<tr>
+<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-28 Sat 14:54]&#x2013;[2020-11-28 Sat 15:14]</span></span></td>
+<td class="org-left">Org-roam: Presentation, Demonstration, and What's on the Horizon</td>
+<td class="org-left">Leo Vivier</td>
+<td class="org-left">&#xa0;</td>
+<td class="org-left">2:30-ish EST ok with tea; in CET timezone</td>
+</tr>
+
+
+<tr>
+<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-28 Sat 15:17]&#x2013;[2020-11-28 Sat 15:37]</span></span></td>
+<td class="org-left">Org-mode and Org-Roam for Scholars and Researchers</td>
+<td class="org-left">Noorah Alhasan</td>
+<td class="org-left">&#xa0;</td>
+<td class="org-left">ok</td>
+</tr>
+
+
+<tr>
+<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-28 Sat 15:40]&#x2013;[2020-11-28 Sat 16:00]</span></span></td>
+<td class="org-left">Org-roam: Technical Presentation</td>
+<td class="org-left">Leo Vivier</td>
+<td class="org-left">&#xa0;</td>
+<td class="org-left">2:30-ish EST ok with tea; in CET timezone</td>
+</tr>
+
+
+<tr>
+<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-28 Sat 16:03]&#x2013;[2020-11-28 Sat 16:13]</span></span></td>
+<td class="org-left">Sharing blogs (and more) with org-webring</td>
+<td class="org-left">Brett Gilio</td>
+<td class="org-left">&#xa0;</td>
+<td class="org-left">ok</td>
+</tr>
+
+
+<tr>
+<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-28 Sat 16:16]&#x2013;[2020-11-28 Sat 16:36]</span></span></td>
+<td class="org-left">OMG Macros</td>
+<td class="org-left">Corwin Brust</td>
+<td class="org-left">&#xa0;</td>
+<td class="org-left">ok</td>
+</tr>
+</tbody>
+</table>
+
+- in-progress Orgmode - your life in plain text :standard:tutorial:org:nudge:
+
+ Name: Rainer König
+
+ - Preferred format
+
+ Talk
+
+ - Comments
+
+ > I'm also not sure we need a 20-minute tutorial on Org Mode, since it's
+ > a perennial topic for other videos. I suppose people unfamiliar with
+ > Org Mode will probably benefit from a quick pointer to beginner
+ > resources (maybe a 5-minute pointer). I'm always curious about Org
+ > workflows, though, so if this talk is rejigged as a workflow demo, it
+ > might be a good fit for 10-20 minutes.
+
+ - Abstract
+
+ This is a talk about Orgmode, my favorite Emacs application. The goal
+ is to show you the power of Emacs when you want to manage and organize
+ your life. Orgmode is your swiss army knife for that job, and so far
+ the only tool that you can customize for your needs and you need to
+ customize yourself to fit the restrictions of a "ToDo list tool".
+
+ Background info: I'm using Orgmode for many years now, and I'm not
+ exaggerating if I tell you that it saved me from a nervous breakdown
+ when my wife got diagonosed with severe illness and I was suddenly in
+ charge of everything. Orgmode was there and reminded me of the
+ important things so nothing was forgotten and I could focus on what
+ really matters.
+
+ This talk should introduce people to Orgmode, showing them what they
+ can do and how it makes your life easier, freeing time for the things
+ that matter to you.
+
+ I was holding a similar talk at the local Linux Day in our town in
+
+ 1. In 2016 I recorded a set of tutorial videos which are available
+
+ on my YouTube channel which gained more than 3500 subcribers because
+ of those tutorials. In Summer 2020 I recorded the tutorials again for
+ a course at Udemy which went online in October 2020 and is
+ supplemented by a 100+ pages course book.
+
+ - (Un)availability
+
+ Since its weekend on November 28/29 I think I can be flexible, but
+ keep in mind that I'm living in the Central European Time time zone.
+
+ - Speaker release
+
+ By submitting this proposal, I agree that my presentation at EmacsConf
+ 2020 is subject to the following terms and conditions:
+
+ The EmacsConf organizers may capture audio and video (a "Recording")
+ of my presentation and any associated materials, which may include
+ slides, notes, transcripts, and prerecording(s) of my presentation
+ that I provide to the EmacsConf organizers.
+
+ I authorize the EmacsConf organizers to distribute, reproduce,
+ publicly display, and prepare derivative works of the Recording and
+ any derivative works of the Recording (the "Licensed Materials") under
+ the terms of the Creative Commons Attribution-ShareAlike 4.0
+ International (CC BY-SA 4.0) license.
+
+ I grant to the EmacsConf organizers permission to use my name,
+ likeness, and biographic information in association with their use of
+ the Licensed Materials under the above license.
+
+ I represent that I have the authority to grant the above license to
+ the EmacsConf organizers. If my presentation incorporates any
+ material owned by third parties, I represent that the material is
+ sublicensable to the EmacsConf organizers or that my use of them is
+ fair use.
+
+- in-progress Lead your future with Org :standard:lightning:org:workflow:user:
+
+ Name: Andrea
+
+ - Preferred format
+
+ Standard talk (or even Lighting talk by only giving references to the
+ modes I plan to show)
+
+ - Abstract
+
+ The world is full of possibilities. A person life is rather short
+ though, and one can easily end up carry on without focus.
+
+ In this short talk I want to share how Org mode empowers me into
+ organizing and monitoring my tasks to make sure I am working towards
+ achieving my vision.
+
+ The emphasis of the talk is on defining a direction, monitoring the
+ progress towards your planned destination, and keeping a trail of your
+ actions to review and set up a healthy feedback loop.
+
+ Tools for the job that I will (at least) mention: Org files, Org
+ agenda, Org archive, org-ql, and Org-roam.
+
+ - (Un)availability
+
+ I am available :D
+
+ - Speaker release
+
+ By submitting this proposal, I agree that my presentation at EmacsConf
+ 2020 is subject to the following terms and conditions:
+
+ The EmacsConf organizers may capture audio and video (a "Recording")
+ of my presentation and any associated materials, which may include
+ slides, notes, transcripts, and prerecording(s) of my presentation
+ that I provide to the EmacsConf organizers.
+
+ I authorize the EmacsConf organizers to distribute, reproduce,
+ publicly display, and prepare derivative works of the Recording and
+ any derivative works of the Recording (the "Licensed Materials") under
+ the terms of the Creative Commons Attribution-ShareAlike 4.0
+ International (CC BY-SA 4.0) license.
+
+ I grant to the EmacsConf organizers permission to use my name,
+ likeness, and biographic information in association with their use of
+ the Licensed Materials under the above license.
+
+ I represent that I have the authority to grant the above license to
+ the EmacsConf organizers. If my presentation incorporates any
+ material owned by third parties, I represent that the material is
+ sublicensable to the EmacsConf organizers or that my use of them is
+ fair use.
+
+- in-progress the org-gtd package: opinions about Getting Things Done
+
+ Name: Aldric
+
+ - Preferred format
+
+ 50 min - can also do 20 minutes
+
+ - Abstract
+
+ Come see how org-gtd leverages org-mode to automate the GTD inbox
+ management. Stick around to see how the various org-mode tools get
+ connected by the package and how you can leverage them for yourself.
+ Bonus: there's even a few tests written for the package! We'll go
+ over those too.
+
+ - (Un)availability
+
+ N/A
+
+ - Speaker release
+
+ By submitting this proposal, I agree that my presentation at EmacsConf
+ 2020 is subject to the following terms and conditions:
+
+ The EmacsConf organizers may capture audio and video (a "Recording")
+ of my presentation and any associated materials, which may include
+ slides, notes, transcripts, and prerecording(s) of my presentation
+ that I provide to the EmacsConf organizers.
+
+ I authorize the EmacsConf organizers to distribute, reproduce,
+ publicly display, and prepare derivative works of the Recording and
+ any derivative works of the Recording (the "Licensed Materials") under
+ the terms of the Creative Commons Attribution-ShareAlike 4.0
+ International (CC BY-SA 4.0) license.
+
+ I grant to the EmacsConf organizers permission to use my name,
+ likeness, and biographic information in association with their use of
+ the Licensed Materials under the above license.
+
+ I represent that I have the authority to grant the above license to
+ the EmacsConf organizers. If my presentation incorporates any
+ material owned by third parties, I represent that the material is
+ sublicensable to the EmacsConf organizers or that my use of them is
+ fair use.
+
+- in-progress One Big-ass Org File or multiple tiny ones? Finally, the End of the debate! :standard:lightning:org:user:timing:
+
+ Name: Leo Vivier
+
+ - Preferred format
+
+ Standard Talk (20 min). Could be condensed into a Lightning Talk (10
+ min), but I fear it would not do it justice.
+
+ - Abstract
+
+ Many discussions have been had over the years on the debate between
+ using few big files versus many small files. However, more often than
+ not, those discussions devolve in a collection of anecdotes with
+ barely any science to them.
+
+ Once and for all (or, at least until org-element.el get overhauled), I
+ would like to settle the debate by explaining why the way we parse
+ Org-mode files becomes slower as our files grow in size or numbers,
+ and how that affects their browsing and the building of custom-agenda
+ views.
+
+ I feel qualified to talk about this topic for two reasons:
+
+ - I went through the trouble of optimising my agenda-views by
+ implementing clever regex-based skips, so I know the ceiling that
+ can be reached with the current tech.
+ - My work on Org-roam has led me to consider the use of an external
+ parser for Org-mode files, and whilst we are only at the prototyping
+ stage, we know what is at stake.
+
+ I intend the talk to be fairly light-hearted and humorous, which is the
+ only way we can do true justice to the topic.
+
+ - (Un)availability
+
+ I am in CET, and I would rather have the presentation early in the day
+ (9am-12pm EST would be stellar). If need be, I could present later,
+ but I do not think I would be as effective.
+
+ - Speaker release
+
+ By submitting this proposal, I agree that my presentation at EmacsConf
+ 2020 is subject to the following terms and conditions:
+
+ The EmacsConf organizers may capture audio and video (a "Recording")
+ of my presentation and any associated materials, which may include
+ slides, notes, transcripts, and prerecording(s) of my presentation
+ that I provide to the EmacsConf organizers.
+
+ I authorize the EmacsConf organizers to distribute, reproduce,
+ publicly display, and prepare derivative works of the Recording and
+ any derivative works of the Recording (the "Licensed Materials") under
+ the terms of the Creative Commons Attribution-ShareAlike 4.0
+ International (CC BY-SA 4.0) license.
+
+ I grant to the EmacsConf organizers permission to use my name,
+ likeness, and biographic information in association with their use of
+ the Licensed Materials under the above license.
+
+ I represent that I have the authority to grant the above license to
+ the EmacsConf organizers. If my presentation incorporates any
+ material owned by third parties, I represent that the material is
+ sublicensable to the EmacsConf organizers or that my use of them is
+ fair use.
+
+- in-progress Experience Report: Steps to "Emacs Hyper Notebooks"
+
+ Name: Joseph Corneli, Raymond Puzio, and Cameron Ray Smith
+
+ - Preferred format
+
+ 10 minute talk
+
+ - Abstract
+
+ We present a short experience report from the perspective of two
+ long-time Emacs users and one relative newcomer. Our motivations
+ relate, broadly, to reproducibility of research in science. We
+ reflect on our experiences with off-the-self solutions available
+ through the Emacs package manager, and describe some of our custom
+ extensions.
+
+ When working on a scientific research project, one typically has
+ multiple different computer programs running at the same time. For
+ example, we may use a computer algebra system such as Maxima for
+ calculations, an interactive language such as Julia for numerical
+ computations, TeX for writing up results, a reference manger such as
+ Zotero for the bibliography, Roam for note-taking, and Jekyll for
+ blogging. Switching and moving content among these programs can be
+ distracting, time-consuming, and prone to error. These issues are
+ compounded when there are several collaborators involved.
+
+ We explore a solution that looks toward building better "computational
+ notebooks" using Emacs. We take Org mode as our foundation. As many
+ in this audience will know, Org mode integrates features such as
+ writing, task management, program evaluation, typesetting,
+ presentation, and navigation. Tightly integrated add-on packages
+ round out the picture either by directly replacing the functionality
+ of the other programs mentioned above or automatically dispatching
+ commands to them. We outline both the pleasure and pain involved in
+ this experience.
+
+ - (Un)availability
+
+ N/A
+
+ - Speaker release
+
+ By submitting this proposal, I agree that my presentation at EmacsConf
+ 2020 is subject to the following terms and conditions:
+
+ The EmacsConf organizers may capture audio and video (a "Recording")
+ of my presentation and any associated materials, which may include
+ slides, notes, transcripts, and prerecording(s) of my presentation
+ that I provide to the EmacsConf organizers.
+
+ I authorize the EmacsConf organizers to distribute, reproduce,
+ publicly display, and prepare derivative works of the Recording and
+ any derivative works of the Recording (the "Licensed Materials") under
+ the terms of the Creative Commons Attribution-ShareAlike 4.0
+ International (CC BY-SA 4.0) license.
+
+ I grant to the EmacsConf organizers permission to use my name,
+ likeness, and biographic information in association with their use of
+ the Licensed Materials under the above license.
+
+ I represent that I have the authority to grant the above license to
+ the EmacsConf organizers. If my presentation incorporates any
+ material owned by third parties, I represent that the material is
+ sublicensable to the EmacsConf organizers or that my use of them is
+ fair use.
+
+- in-progress Literate Programming in Emacs Org-Mode :extended:standard:org:tutorial:
+
+ Name: Adam Ard
+
+ - Preferred format
+
+ I think I have enough for a full 50 minutes. But I can do a shorter
+ version too if that will work better for the conference schedule.
+ My schedule is wide open too, so put me in at any time slot.
+
+ - Abstract
+
+ Org mode, among its numerous features, has the ability to do full
+ literate programming (with tangling and weaving the way Donald Knuth
+ originally intended). As a programmer, you can work comfortably,
+ completely inside an org-mode buffer. When you are ready, emacs will
+ generate the appropriate documentation and source code files for you.
+ If you are a lone emacs user on your project, simply commit these
+ exported files and keep your org file to yourself &#x2013; no one is the
+ wiser.
+
+ Watch "Literate Programming in Emacs Org-mode" to learn how you can
+ annotate code snippets in an org file so they can be automatically
+ exported to their proper locations in your source tree. Keep
+ important information about your project where it should be: right
+ next to the code itself. Not as ugly, out-of-date notes sitting
+ behind comment characters in your source files, but front and center
+ in well-formatted markdown and pdf files.
+
+ And, for advanced use cases, see how you can even use a full-fledged
+ macro processor like m4 to personalize your workflow even more.
+ Literate programming on steroids!
+
+ I'll walk you through the whole process, starting from an empty
+ project README.org to a simple example that generates source and
+ documentation.
+
+ - (Un)availability
+
+ I am available for any time slot or length. Stick me in wherever!
+
+ - Speaker release
+
+ By submitting this proposal, I agree that my presentation at EmacsConf
+ 2020 is subject to the following terms and conditions:
+
+ The EmacsConf organizers may capture audio and video (a "Recording")
+ of my presentation and any associated materials, which may include
+ slides, notes, transcripts, and prerecording(s) of my presentation
+ that I provide to the EmacsConf organizers.
+
+ I authorize the EmacsConf organizers to distribute, reproduce,
+ publicly display, and prepare derivative works of the Recording and
+ any derivative works of the Recording (the "Licensed Materials") under
+ the terms of the Creative Commons Attribution-ShareAlike 4.0
+ International (CC BY-SA 4.0) license.
+
+ I grant to the EmacsConf organizers permission to use my name,
+ likeness, and biographic information in association with their use of
+ the Licensed Materials under the above license.
+
+ I represent that I have the authority to grant the above license to
+ the EmacsConf organizers. If my presentation incorporates any
+ material owned by third parties, I represent that the material is
+ sublicensable to the EmacsConf organizers or that my use of them is
+ fair use.
+
+- in-progress Moving from Jekyll to OrgMode, an experience report :timing:org:
+
+ Name: Adolfo Villafiorita
+
+ - Preferred format
+
+ standard talk or lightning talk
+
+ - Abstract
+
+ I have been a long time user of static site generators, such as
+ Jekyll.
+
+ I recently discovered Org Mode's publishing features and started
+ appreciating flexibility and capabilities, especially when literate
+ programming comes into play to generate "dynamic" content.
+
+ In this talk/tutorial I will present the challenges I faced and how I
+ finally moved my homepage and the University of Trento's Computational
+ Logic website to Org Mode.
+
+ - (Un)availability
+
+ I work and live in Italy (CET) and I would prefer slots compatible
+ with the timezone. (I wouldn't recommend recording me early in the
+ morning, in any case!)
+
+ - Speaker release
+
+ By submitting this proposal, I agree that my presentation at EmacsConf
+ 2020 is subject to the following terms and conditions:
+
+ The EmacsConf organizers may capture audio and video (a "Recording")
+ of my presentation and any associated materials, which may include
+ slides, notes, transcripts, and prerecording(s) of my presentation
+ that I provide to the EmacsConf organizers.
+
+ I authorize the EmacsConf organizers to distribute, reproduce,
+ publicly display, and prepare derivative works of the Recording and
+ any derivative works of the Recording (the "Licensed Materials") under
+ the terms of the Creative Commons Attribution-ShareAlike 4.0
+ International (CC BY-SA 4.0) license.
+
+ I grant to the EmacsConf organizers permission to use my name,
+ likeness, and biographic information in association with their use of
+ the Licensed Materials under the above license.
+
+ I represent that I have the authority to grant the above license to
+ the EmacsConf organizers. If my presentation incorporates any
+ material owned by third parties, I represent that the material is
+ sublicensable to the EmacsConf organizers or that my use of them is
+ fair use.
+
+- in-progress Org-roam: Presentation, Demonstration, and What's on the Horizon :extended:standard:org:
+
+ Name: Leo Vivier
+
+ - Preferred format
+
+ Extended Talk (50 min). Parts can be pruned to fit in a Standard Talk
+ (20 min), but I'd strongly prefer the former.
+
+ - Abstract
+
+ Org-roam is a Roam replica built on top of the all-powerful Org-mode.
+
+ Org-roam is a solution for effortless non-hierarchical note-taking with
+ Org-mode. With Org-roam, notes flow naturally, making note-taking fun
+ and easy. Org-roam should also work as a plug-and-play solution for
+ anyone already using Org-mode for their personal wiki.
+
+ Org-roam aims to implement the core features of Roam, leveraging the
+ mature ecosystem around Org-mode where possible. Eventually, we hope to
+ further introduce features enabled by the Emacs ecosystem.
+
+ The purpose of the talk is to introduce people to Org-roam, whether
+ they be Org-mode connoisseurs or newcomers. A lot of people have
+ found value in adopting Org-roam and the Zettelkasten method in their
+ workflows, and the goal is to demonstrate how they achieved it. The
+ last part will present the future milestones that are in store for
+ Org-roam.
+
+ Examples of short-presentations I've recorded in the past:
+
+ - [Org-Roam v1.2.0: Headlines & Unlinked References - YouTube](https://www.youtube.com/watch?v=3DoyEMlIxIHXs)
+ - [Org-roam-bibtex - Quick Presentation - YouTube](https://www.youtube.com/watch?v=3DWy9WvF5gWYg)
+ - [Org-roam-dailies: Demonstration - YouTube](https://www.youtube.com/watch?v=3D1q9x2aZCJJ4)
+
+ - (Un)availability
+
+ I am in CET, and I would rather have the presentation early in the day
+ (9am-12pm EST would be stellar). If need be, I could present later,
+ but I do not think I would be as effective.
+
+ - Speaker release
+
+ By submitting this proposal, I agree that my presentation at EmacsConf
+ 2020 is subject to the following terms and conditions:
+
+ The EmacsConf organizers may capture audio and video (a "Recording")
+ of my presentation and any associated materials, which may include
+ slides, notes, transcripts, and prerecording(s) of my presentation
+ that I provide to the EmacsConf organizers.
+
+ I authorize the EmacsConf organizers to distribute, reproduce,
+ publicly display, and prepare derivative works of the Recording and
+ any derivative works of the Recording (the "Licensed Materials") under
+ the terms of the Creative Commons Attribution-ShareAlike 4.0
+ International (CC BY-SA 4.0) license.
+
+ I grant to the EmacsConf organizers permission to use my name,
+ likeness, and biographic information in association with their use of
+ the Licensed Materials under the above license.
+
+ I represent that I have the authority to grant the above license to
+ the EmacsConf organizers. If my presentation incorporates any
+ material owned by third parties, I represent that the material is
+ sublicensable to the EmacsConf organizers or that my use of them is
+ fair use.
+
+- in-progress Org-mode and Org-Roam for Scholars and Researchers :standard:org:nudge:
+
+ Name: Noorah Alhasan
+
+ - Preferred format
+
+ 20 minutes
+
+ - Comments
+
+ > org-roam has a lot of talks in this agenda, but it (and other
+ > Zettelkasten-type things) have resulted in a lot of buzz in the Org
+ > community, so it's probably worth looking at it from the intro, user,
+ > and dev perspectives. It would be good to get the presenter
+ > coordinating with the one doing the org-roam overview in order to
+ > minimize overlap. This might even be doable in a lightning talk.
+
+ - Abstract
+
+ Org-mode improved so much over the years, and the use-cases in org-mode are
+ vast and highly technical. There is something for everyone in org-mode, and
+ it's important to sift through all of these features and figure out what's
+ best for a given situation or specific users. Therefore, I will be
+ targeting academics and scholars that are engaging with literature in the
+ early stages of a project or their academic careers.
+
+ Academics and scholars engage with complex ideas and unstructured research
+ workflows. I believe that org-mode can add more structure to the madness,
+ and I will use this talk to clarify a possible solution to reduce such
+ complexity. I propose a research workflow framework that utilizes
+ org-mode, its raw form, and its many associated packages. However, the main
+ package I will be mostly talking about is Org-Roam, and the way its
+ underlying principles will revolutionize the research workflow.
+
+ This presentation will help researchers organize and build their knowledge
+ database in a streamlined and effective way. The research workflow is
+ presented in three phases: planning, note-taking, and reference management.
+ I will talk briefly about the packages and special-use cases for each stage
+ and learned lessons along the way. Finally, the presentation concludes with
+ future considerations and possible org-mode features.
+
+ - (Un)availability
+
+ N/A
+
+ - Speaker release
+
+ By submitting this proposal, I agree that my presentation at EmacsConf
+ 2020 is subject to the following terms and conditions:
+
+ The EmacsConf organizers may capture audio and video (a "Recording")
+ of my presentation and any associated materials, which may include
+ slides, notes, transcripts, and prerecording(s) of my presentation
+ that I provide to the EmacsConf organizers.
+
+ I authorize the EmacsConf organizers to distribute, reproduce,
+ publicly display, and prepare derivative works of the Recording and
+ any derivative works of the Recording (the "Licensed Materials") under
+ the terms of the Creative Commons Attribution-ShareAlike 4.0
+ International (CC BY-SA 4.0) license.
+
+ I grant to the EmacsConf organizers permission to use my name,
+ likeness, and biographic information in association with their use of
+ the Licensed Materials under the above license.
+
+ I represent that I have the authority to grant the above license to
+ the EmacsConf organizers. If my presentation incorporates any
+ material owned by third parties, I represent that the material is
+ sublicensable to the EmacsConf organizers or that my use of them is
+ fair use.
+
+- in-progress Org-roam: Technical Presentation :standard:elisp:org:
+
+ Name: Leo Vivier
+
+ - Preferred format
+
+ Standard Talk (20 min).
+
+ - Abstract
+
+ Org-roam is a Roam replica built on top of the all-powerful Org-mode.
+
+ Org-roam is a solution for effortless non-hierarchical note-taking
+ with Org-mode. With Org-roam, notes flow naturally, making
+ note-taking fun and easy. Org-roam should also work as a
+ plug-and-play solution for anyone already using Org-mode for their
+ personal wiki.
+
+ Org-roam aims to implement the core features of Roam, leveraging the
+ mature ecosystem around Org-mode where possible. Eventually, we hope
+ to further introduce features enabled by the Emacs ecosystem.
+
+ The purpose of the talk is to present some technical aspects of
+ Org-roam. From the very beginning, we wanted Org-roam to scale with
+ your notes, and this meant that we had to keep a close eye on our
+ performances. As we iterated, optimisation remained a top-priority,
+ leading us to constantly peek under Org-mode's hood. Not only has
+ this made us better developers, but it has also uncovered paths of
+ optimisation for Org-mode itself.
+
+ The talk is targeted at software engineers willing to peek under
+ Org-mode's hood. A rudimentary understanding of Elisp will be
+ required.
+
+ Points to be covered
+
+ - SQL database via emacsql
+ - Elisp libraries
+ - Parsing of Org-mode files
+ - org-elements.e
+ - Parsing with a background-process
+ - Ensuring consistency via hooks
+
+ - (Un)availability
+
+ I am in CET, and I would rather have the presentation early in the day
+ (9am-12pm EST would be stellar). If need be, I could present later,
+ but I do not think I would be as effective.
+
+ - Speaker release
+
+ By submitting this proposal, I agree that my presentation at EmacsConf
+ 2020 is subject to the following terms and conditions:
+
+ The EmacsConf organizers may capture audio and video (a "Recording")
+ of my presentation and any associated materials, which may include
+ slides, notes, transcripts, and prerecording(s) of my presentation
+ that I provide to the EmacsConf organizers.
+
+ I authorize the EmacsConf organizers to distribute, reproduce,
+ publicly display, and prepare derivative works of the Recording and
+ any derivative works of the Recording (the "Licensed Materials") under
+ the terms of the Creative Commons Attribution-ShareAlike 4.0
+ International (CC BY-SA 4.0) license.
+
+ I grant to the EmacsConf organizers permission to use my name,
+ likeness, and biographic information in association with their use of
+ the Licensed Materials under the above license.
+
+ I represent that I have the authority to grant the above license to
+ the EmacsConf organizers. If my presentation incorporates any
+ material owned by third parties, I represent that the material is
+ sublicensable to the EmacsConf organizers or that my use of them is
+ fair use.
+
+- in-progress Sharing blogs (and more) with org-webring :lightning:org:user:
+
+ Name: Brett Gilio
+
+ - Preferred format
+
+ Lightning
+
+ - Abstract
+
+ In this talk I will detail the ways in which static website generation
+ results may be enhanced using org-webring. This talk will cover not
+ only how to use org-webring (including how accessible and low-friction
+ it is), but also how you may customize it, utilize it in different
+ contexts unrelated to blogging (tracking project commits), and even as
+ a way to respond to other blogs in a cogent and manner.
+
+ Additionally, I will go into slight detail as to the history of this
+ project, why it was made, what we are working on, and what we
+ remaining we need to do before we can submit it to GNU Emacs /
+ Org-mode.
+
+ I think, in all, this can quite easily cover a 10 minute window.
+
+ - (Un)availability
+
+ N/A
+
+ - Speaker release
+
+ By submitting this proposal, I agree that my presentation at EmacsConf
+ 2020 is subject to the following terms and conditions:
+
+ The EmacsConf organizers may capture audio and video (a "Recording")
+ of my presentation and any associated materials, which may include
+ slides, notes, transcripts, and prerecording(s) of my presentation
+ that I provide to the EmacsConf organizers.
+
+ I authorize the EmacsConf organizers to distribute, reproduce,
+ publicly display, and prepare derivative works of the Recording and
+ any derivative works of the Recording (the "Licensed Materials") under
+ the terms of the Creative Commons Attribution-ShareAlike 4.0
+ International (CC BY-SA 4.0) license.
+
+ I grant to the EmacsConf organizers permission to use my name,
+ likeness, and biographic information in association with their use of
+ the Licensed Materials under the above license.
+
+ I represent that I have the authority to grant the above license to
+ the EmacsConf organizers. If my presentation incorporates any
+ material owned by third parties, I represent that the material is
+ sublicensable to the EmacsConf organizers or that my use of them is
+ fair use.
+
+- in-progress OMG Macros :org:
+
+ Name: Corwin Brust
+
+ - Preferred format
+
+ Standard talk (20m, including 5m Q&A)
+
+ - Abstract
+
+ Macros are a powerful tool. In the context of Emacs Lisp programming
+ they can also provide us with a "foot-gun" of immense proportions.
+ Join the dungeon-mode project as we trip over our own macros, so to
+ speak, in the context of building a GPLv3+ turn-based role-playing
+ game engine and game design features for Emacs.
+
+ In this 20m talk I'll briefly introduce some rationales leading to
+ storing all game source and play state information within org-mode
+ documents (spoiler: it's about freedom), then go into some detail
+ around the "ETL" process design that currently accomplishes this.
+ Finally, we'll look closely at one especially problematic macro deep
+ within this solution, and invite people to throw fruit^11^dhelp draw
+ conclusions, ask questions, and discuss.
+
+ - (Un)availability
+
+ None
+
+ - Speaker release
+
+ By submitting this proposal, I agree that my presentation at EmacsConf
+ 2020 is subject to the following terms and conditions:
+
+ The EmacsConf organizers may capture audio and video (a "Recording")
+ of my presentation and any associated materials, which may include
+ slides, notes, transcripts, and prerecording(s) of my presentation
+ that I provide to the EmacsConf organizers.
+
+ I authorize the EmacsConf organizers to distribute, reproduce,
+ publicly display, and prepare derivative works of the Recording and
+ any derivative works of the Recording (the "Licensed Materials") under
+ the terms of the Creative Commons Attribution-ShareAlike 4.0
+ International (CC BY-SA 4.0) license.
+
+ I grant to the EmacsConf organizers permission to use my name,
+ likeness, and biographic information in association with their use of
+ the Licensed Materials under the above license.
+
+ I represent that I have the authority to grant the above license to
+ the EmacsConf organizers. If my presentation incorporates any
+ material owned by third parties, I represent that the material is
+ sublicensable to the EmacsConf organizers or that my use of them is
+ fair use.
+
+
+<a id="org41ec440"></a>
+
+### 16:30 - 17:00 Closing remarks
+
+
+<a id="orgbfd71f8"></a>
+
+## NOVEMBER 29 (Sunday) :sun:
+
+
+<a id="orgb79afa2"></a>
+
+### 9:00 - 9:10 Opening remarks
+
+
+<a id="org953e502"></a>
+
+### 9:10 - 12:00 Morning talks :morning:
+
+<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
+
+
+<colgroup>
+<col class="org-right" />
+
+<col class="org-right" />
+
+<col class="org-right" />
+</colgroup>
+<tbody>
+<tr>
+<td class="org-right">Difference</td>
+<td class="org-right">Minimum time</td>
+<td class="org-right">Target time</td>
+</tr>
+
+
+<tr>
+<td class="org-right">3</td>
+<td class="org-right">137</td>
+<td class="org-right">140</td>
+</tr>
+</tbody>
+</table>
+
+<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
+
+
+<colgroup>
+<col class="org-left" />
+
+<col class="org-left" />
+
+<col class="org-left" />
+
+<col class="org-left" />
+
+<col class="org-left" />
+</colgroup>
+<thead>
+<tr>
+<th scope="col" class="org-left">SCHEDULED</th>
+<th scope="col" class="org-left">ITEM</th>
+<th scope="col" class="org-left">NAME</th>
+<th scope="col" class="org-left">PREREC</th>
+<th scope="col" class="org-left">AVAILABILITY</th>
+</tr>
+</thead>
+
+<tbody>
+<tr>
+<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-29 Sun 09:13]&#x2013;[2020-11-29 Sun 09:30]</span></span></td>
+<td class="org-left">Emacs development update</td>
+<td class="org-left">John Wiegley</td>
+<td class="org-left">planned</td>
+<td class="org-left">prerec</td>
+</tr>
+
+
+<tr>
+<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-29 Sun 09:33]&#x2013;[2020-11-29 Sun 09:53]</span></span></td>
+<td class="org-left">Powering-up Special Blocks</td>
+<td class="org-left">Musa Al-hassy</td>
+<td class="org-left">&#xa0;</td>
+<td class="org-left">Unavailable 1pm-2pm EST both days</td>
+</tr>
+
+
+<tr>
+<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-29 Sun 09:56]&#x2013;[2020-11-29 Sun 10:46]</span></span></td>
+<td class="org-left">Incremental Parsing with emacs-tree-sitter</td>
+<td class="org-left">Tuấn-Anh Nguyễn</td>
+<td class="org-left">planned</td>
+<td class="org-left">GMT+7, so earlier is better (9:30 EST?). Can pre-record and answer questions.</td>
+</tr>
+
+
+<tr>
+<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-29 Sun 10:49]&#x2013;[2020-11-29 Sun 11:09]</span></span></td>
+<td class="org-left">Analyze code quality through Emacs: a smart forensics approach and the story of a hack</td>
+<td class="org-left">Andrea</td>
+<td class="org-left">planned</td>
+<td class="org-left">ok</td>
+</tr>
+
+
+<tr>
+<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-29 Sun 11:12]&#x2013;[2020-11-29 Sun 11:22]</span></span></td>
+<td class="org-left">Traverse complex JSON structures with live feedback</td>
+<td class="org-left">Zen Monk Alain M. Lafon</td>
+<td class="org-left">planned</td>
+<td class="org-left">Available both days, birthday on the 28th</td>
+</tr>
+
+
+<tr>
+<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-29 Sun 11:25]&#x2013;[2020-11-29 Sun 11:45]</span></span></td>
+<td class="org-left">Non-GNU ELPA</td>
+<td class="org-left">Richard Stallman</td>
+<td class="org-left">&#xa0;</td>
+<td class="org-left">tbd</td>
+</tr>
+</tbody>
+</table>
+
+- in-progress Emacs development update
+
+ - Abstract
+
+ TBD - possibly a quick overview of Emacs 27.1 and development priorities for Emacs 28
+
+- in-progress Powering-up Special Blocks :standard:org:elisp:
+
+ Name: Musa Al-hassy
+
+ - Preferred format
+
+ Standard talk
+
+ - Comments
+
+ > 2020-10-18: Moved back to Sunday, e-mailed.
+ > 2020-10-17: Possibly move to Saturday? E-mailed 2020-10-17. Might be good to put this before OMG Macros.
+
+ - Abstract
+
+ Users will generally only make use of a few predefined \`special
+ blocks', such as \`example, centre, quote', and will not bother with
+ the effort required to make new ones. When new encapsulating notions
+ are required, users will either fallback on HTML or LaTeX specific
+ solutions, usually littered with \`#+ATTR' clauses to pass around
+ configurations or parameters.
+
+ Efforts have been exerted to mitigate the trouble of producing new
+ special blocks. However, the issue of passing parameters is still
+ handled in a clumsy fashion; e.g., by having parameters be expressed
+ in a special block's content using specific keywords.
+
+ We present a novel approach to making special blocks in a familiar
+ fashion and their use also in a familiar fashion. We achieve the
+ former by presenting \`\`defblock'', an anaphoric macro exceedingly
+ similar to \`\`defun'', and for the latter we mimic the usual
+ \`\`src''-block syntax for argument passing to support special blocks.
+
+ For instance, here is a sample declaration.
+
+ (defblock stutter () (reps 2)
+ "Output the CONTENTS of the block REPS many times"
+ (org-parse (s-repeat reps contents)))
+
+ Here is an invocation that passes an *optional* argument; which
+ defaults to 2 when not given.
+
+ <div class="stutter">
+ <p>
+ Emacs for the win ⌣̈
+ </p>
+
+ </div>
+
+ Upon export, to HTML or LaTeX for instance, the contents of this block
+ are repeated (\`stuttered') 5 times. The use of \`\`src''-like
+ invocation may lead to a decrease in \`#+ATTR' clauses.
+
+ In the presentation, we aim to show a few \`practical' special blocks
+ that users may want: A block that &#x2026;
+
+ - translates *some selected* text &#x2014;useful for multilingual blogs
+ - hides *some selected* text &#x2014;useful for learning, quizzes
+ - folds/boxes text &#x2014;useful in blogs for folding away details
+
+ In particular, all of these examples will be around ~5 lines long!
+
+ We also have a larger collection of more useful block types, already
+ implemented.
+
+ The notable features of the system are as follows.
+
+ - Familiar \`\`defun'' syntax for making block &#x2014;\`\`defblock''
+ - Familiar \`\`src'' syntax for passing arguments &#x2014;e.g., \`\`:key
+ value''
+ - Fine-grained control over export translation phases &#x2014;c.f.,
+ \`\`org-parse'' above
+ - **Modular**: New blocks can be made out of existing blocks really
+ quickly using \`\`blockcall'' &#x2014;similar to Lisp's \`\`funcall''. We
+ will show how to fuse two blocks to make a new one, also within ~5
+ lines.
+
+ It is hoped that the ease of creating custom special blocks will be a
+ gateway for many Emacs users to start using Lisp.
+
+ - (Un)availability
+
+ I would be unavailable Nov 28/29 from 1-2pm (Toronto time) on both
+ days; but otherwise I'm excited to attend the event :-)
+
+ - Speaker release
+
+ By submitting this proposal, I agree that my presentation at EmacsConf
+ 2020 is subject to the following terms and conditions:
+
+ The EmacsConf organizers may capture audio and video (a "Recording")
+ of my presentation and any associated materials, which may include
+ slides, notes, transcripts, and prerecording(s) of my presentation
+ that I provide to the EmacsConf organizers.
+
+ I authorize the EmacsConf organizers to distribute, reproduce,
+ publicly display, and prepare derivative works of the Recording and
+ any derivative works of the Recording (the "Licensed Materials") under
+ the terms of the Creative Commons Attribution-ShareAlike 4.0
+ International (CC BY-SA 4.0) license.
+
+ I grant to the EmacsConf organizers permission to use my name,
+ likeness, and biographic information in association with their use of
+ the Licensed Materials under the above license.
+
+ I represent that I have the authority to grant the above license to
+ the EmacsConf organizers. If my presentation incorporates any
+ material owned by third parties, I represent that the material is
+ sublicensable to the EmacsConf organizers or that my use of them is
+ fair use.
+
+- in-progress Incremental Parsing with emacs-tree-sitter :extended:elisp:timing:
+
+ Name: Tuấn-Anh Nguyễn
+
+ - Preferred format
+
+ 50 minutes (Extended talk)
+
+ - Abstract
+
+ Tree-sitter is a parser generator and an incremental parsing library.
+ emacs-tree-sitter is its most popular Emacs binding, which aims to be
+ the foundation of Emacs packages that understand source code's
+ structure. Examples include better code highlighting, folding,
+ indexing, structural navigation.
+
+ In this talk, I will describe the current state of emacs-tree-sitter's
+ APIs and functionalities. I will also discuss areas that need
+ improvements and contribution from the community.
+
+ - (Un)availability
+
+ The conference will start at 9PM in my timezone (GMT+7). I would
+ prefer the earlier time slots. If possible, I would also like to
+ pre-record my talk, and to be online just to answer questions during
+ my time slot.
+
+ - Speaker release
+
+ By submitting this proposal, I agree that my presentation at EmacsConf
+ 2020 is subject to the following terms and conditions:
+
+ The EmacsConf organizers may capture audio and video (a "Recording")
+ of my presentation and any associated materials, which may include
+ slides, notes, transcripts, and prerecording(s) of my presentation
+ that I provide to the EmacsConf organizers.
+
+ I authorize the EmacsConf organizers to distribute, reproduce,
+ publicly display, and prepare derivative works of the Recording and
+ any derivative works of the Recording (the "Licensed Materials") under
+ the terms of the Creative Commons Attribution-ShareAlike 4.0
+ International (CC BY-SA 4.0) license.
+
+ I grant to the EmacsConf organizers permission to use my name,
+ likeness, and biographic information in association with their use of
+ the Licensed Materials under the above license.
+
+ I represent that I have the authority to grant the above license to
+ the EmacsConf organizers. If my presentation incorporates any
+ material owned by third parties, I represent that the material is
+ sublicensable to the EmacsConf organizers or that my use of them is
+ fair use.
+
+- in-progress Analyze code quality through Emacs: a smart forensics approach and the story of a hack :extended:standard:dev:
+
+ Name: Andrea
+
+ - Preferred format
+
+ Extended Talk (I can squeeze this to a Standard talk, by not going in
+ depth on the analyses I plan to demonstrate)
+
+ - Abstract
+
+ Emacs, show me how much technical debt and where it is in this
+ software repository!
+
+ Also how complex is this module?
+
+ And who is the main developer of this component?
+
+ Mmm, if I change this file, do I need to change something else, Emacs?
+
+ Ah, I need help of somebody to change this code! Emacs can you tell me
+ who knows something about this file?
+
+ The above are some questions my Emacs can answer (an M-x away).
+
+ It all started with "Your Code as a Crime Scene", an insightful book
+ by Adam Tornhill, and it continued with a big useful hack.
+
+ In this talk I want to show the analyses I can produce on software
+ repositories with my Emacs, explain how they help me in my daily work,
+ give a bit of context of how Adam came up with them, and show the
+ dirty code that makes this wonderful functionality work.
+
+ - (Un)availability
+
+ I am available :D
+
+ - Speaker release
+
+ By submitting this proposal, I agree that my presentation at EmacsConf
+ 2020 is subject to the following terms and conditions:
+
+ The EmacsConf organizers may capture audio and video (a "Recording")
+ of my presentation and any associated materials, which may include
+ slides, notes, transcripts, and prerecording(s) of my presentation
+ that I provide to the EmacsConf organizers.
+
+ I authorize the EmacsConf organizers to distribute, reproduce,
+ publicly display, and prepare derivative works of the Recording and
+ any derivative works of the Recording (the "Licensed Materials") under
+ the terms of the Creative Commons Attribution-ShareAlike 4.0
+ International (CC BY-SA 4.0) license.
+
+ I grant to the EmacsConf organizers permission to use my name,
+ likeness, and biographic information in association with their use of
+ the Licensed Materials under the above license.
+
+ I represent that I have the authority to grant the above license to
+ the EmacsConf organizers. If my presentation incorporates any
+ material owned by third parties, I represent that the material is
+ sublicensable to the EmacsConf organizers or that my use of them is
+ fair use.
+
+- in-progress Traverse complex JSON structures with live feedback :lightning:dev:
+
+ Name: Zen Monk Alain M. Lafon
+
+ - Preferred format
+
+ Lightning talk (pre-recorded video is possible)
+
+ - Abstract
+
+ If you are working with complex nested JSON structures, you are
+ probably familiar with jq which is like sed for JSON data and great at
+ what it does. However, being a command-line tool like sed, the
+ feedback for writing queries and seeing their results is a discrete
+ process and not live.
+
+ When working with Emacs, we are used to good auto-completion and live
+ feedback. Formerly, this was mostly done with static input, but with
+ modern completion frameworks like Ivy and Counsel, this can be done
+ with dynamic inputs, as well.
+
+ counsel-jq is a package with which you can quickly test queries and
+ traverse a complex JSON structure whilst having live feedback. Just
+ call `M-x counsel-jq` in a buffer containing JSON, then start writing
+ your `jq` query string and see the output appear live in the message
+ area. Whenever you're happy, hit `RET` and the results will be
+ displayed to you in the buffer `*jq-json*`.
+
+ In this lightning talk, I'll give a quick overview on how to use
+ counsel-jq and how to build similar completion functionality.
+
+ - (Un)availability
+
+ Both dates are good, even though it's my birthday on the 28th. But
+ I'll happily make space for EmacsConf(;
+
+ - Speaker release
+
+ By submitting this proposal, I agree that my presentation at EmacsConf
+ 2020 is subject to the following terms and conditions:
+
+ The EmacsConf organizers may capture audio and video (a "Recording")
+ of my presentation and any associated materials, which may include
+ slides, notes, transcripts, and prerecording(s) of my presentation
+ that I provide to the EmacsConf organizers.
+
+ I authorize the EmacsConf organizers to distribute, reproduce,
+ publicly display, and prepare derivative works of the Recording and
+ any derivative works of the Recording (the "Licensed Materials") under
+ the terms of the Creative Commons Attribution-ShareAlike 4.0
+ International (CC BY-SA 4.0) license.
+
+ I grant to the EmacsConf organizers permission to use my name,
+ likeness, and biographic information in association with their use of
+ the Licensed Materials under the above license.
+
+ I represent that I have the authority to grant the above license to
+ the EmacsConf organizers. If my presentation incorporates any
+ material owned by third parties, I represent that the material is
+ sublicensable to the EmacsConf organizers or that my use of them is
+ fair use.
+
+- in-progress Non-GNU ELPA
+
+- Abstract
+
+ TBD - plans for a non-GNU ELPA that will be easy to enable and contribute to without signing copyright assignment papers
+
+
+<a id="org4f525bf"></a>
+
+### 12:00 - 13:00 Lunch
+
+
+<a id="org00dd53f"></a>
+
+### 13:00 - 16:30 Afternoon talks :afternoon:
+
+<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
+
+
+<colgroup>
+<col class="org-right" />
+
+<col class="org-right" />
+
+<col class="org-right" />
+</colgroup>
+<tbody>
+<tr>
+<td class="org-right">Difference</td>
+<td class="org-right">Minimum time</td>
+<td class="org-right">Target time</td>
+</tr>
+
+
+<tr>
+<td class="org-right">-12</td>
+<td class="org-right">180</td>
+<td class="org-right">168</td>
+</tr>
+</tbody>
+</table>
+
+<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
+
+
+<colgroup>
+<col class="org-left" />
+
+<col class="org-left" />
+
+<col class="org-left" />
+
+<col class="org-left" />
+
+<col class="org-left" />
+</colgroup>
+<thead>
+<tr>
+<th scope="col" class="org-left">SCHEDULED</th>
+<th scope="col" class="org-left">ITEM</th>
+<th scope="col" class="org-left">NAME</th>
+<th scope="col" class="org-left">PREREC</th>
+<th scope="col" class="org-left">AVAILABILITY</th>
+</tr>
+</thead>
+
+<tbody>
+<tr>
+<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-29 Sun 13:03]&#x2013;[2020-11-29 Sun 13:13]</span></span></td>
+<td class="org-left">Emacs as a Highschooler: How It Changed My Life</td>
+<td class="org-left">Pierce Wang</td>
+<td class="org-left">&#xa0;</td>
+<td class="org-left">Sun 12pm EST onwards</td>
+</tr>
+
+
+<tr>
+<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-29 Sun 13:16]&#x2013;[2020-11-29 Sun 13:26]</span></span></td>
+<td class="org-left">State of Retro Gaming in Emacs</td>
+<td class="org-left">Vasilij "wasamasa" Schneidermann</td>
+<td class="org-left">&#xa0;</td>
+<td class="org-left">8am-10pm CET, so 9am-3pm EST</td>
+</tr>
+
+
+<tr>
+<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-29 Sun 13:29]&#x2013;[2020-11-29 Sun 14:19]</span></span></td>
+<td class="org-left">Welcome To The Dungeon</td>
+<td class="org-left">Erik Elmshauser and Corwin Brust</td>
+<td class="org-left">&#xa0;</td>
+<td class="org-left">ok</td>
+</tr>
+
+
+<tr>
+<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-29 Sun 14:22]&#x2013;[2020-11-29 Sun 14:42]</span></span></td>
+<td class="org-left">Pathing of Least Resistance</td>
+<td class="org-left">Corwin Brust</td>
+<td class="org-left">&#xa0;</td>
+<td class="org-left">ok</td>
+</tr>
+
+
+<tr>
+<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-29 Sun 14:45]&#x2013;[2020-11-29 Sun 14:55]</span></span></td>
+<td class="org-left">A tour of vterm</td>
+<td class="org-left">Gabriele Bozzola (@sbozzolo)</td>
+<td class="org-left">planned</td>
+<td class="org-left">MST, so 11am-5pm EST</td>
+</tr>
+
+
+<tr>
+<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-29 Sun 14:58]&#x2013;[2020-11-29 Sun 15:08]</span></span></td>
+<td class="org-left">Lakota Language and Emacs</td>
+<td class="org-left">Grant Shangreaux</td>
+<td class="org-left">planned</td>
+<td class="org-left">Central time, 10am EST-5pm EST</td>
+</tr>
+
+
+<tr>
+<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-29 Sun 15:11]&#x2013;[2020-11-29 Sun 15:31]</span></span></td>
+<td class="org-left">Object Oriented Code in the Gnus Newsreader</td>
+<td class="org-left">Eric Abrahamsen</td>
+<td class="org-left">planned</td>
+<td class="org-left">ok</td>
+</tr>
+
+
+<tr>
+<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-29 Sun 15:34]&#x2013;[2020-11-29 Sun 15:54]</span></span></td>
+<td class="org-left">Maxima a computer algebra system in Emacs</td>
+<td class="org-left">Fermin MF</td>
+<td class="org-left">&#xa0;</td>
+<td class="org-left">afternoon if possible</td>
+</tr>
+
+
+<tr>
+<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-29 Sun 15:57]&#x2013;[2020-11-29 Sun 16:17]</span></span></td>
+<td class="org-left">Extend Emacs to Modern GUI Applications with EAF</td>
+<td class="org-left">Matthew Zeng</td>
+<td class="org-left">&#xa0;</td>
+<td class="org-left">after 12pm EST both days; confirmed available November 29, 1pm-4:30pm EST.</td>
+</tr>
+
+
+<tr>
+<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2020-11-29 Sun 16:20]&#x2013;[2020-11-29 Sun 16:30]</span></span></td>
+<td class="org-left">WAVEing at Repetitive Repetitive Repetitive Music</td>
+<td class="org-left">Zachary Kanfer</td>
+<td class="org-left">&#xa0;</td>
+<td class="org-left">ok</td>
+</tr>
+</tbody>
+</table>
+
+- in-progress Emacs as a Highschooler: How It Changed My Life :standard:user:community:timing:nudge:
+
+ Name: Pierce Wang
+
+ - Preferred format
+
+ Standard Talk
+
+ - Comments
+
+ > Probably good idea to reach out to this speaker and check on the angle
+ > of this talk. It could be a good way to explore the question of how
+ > new people discover Emacs, get motivated to try Emacs, and get through
+ > the roadblocks, keeping in mind that it's from personal experience.
+
+ - Abstract
+
+ Could Emacs be humanity's solution to the turbulent years of
+ adolescence? So much more than a text editor, Emacs changed the way I
+ approach everything at the age of 15. In the two years since
+ discovering Emacs in my sophomore year of high school, I have been
+ constantly amazed at what Emacs is capable of. In this talk, I would
+ like to share this journey of discovery and what I've learned along
+ the way, beginning with what led me to Emacs. I will describe the
+ many ways that Emacs has shaped my life as a student, a programmer, a
+ violinist, and a productive and happy adolescent. In each case, I
+ have thoroughly enjoyed figuring out the best way to make Emacs work
+ for me, and I'd like to share this with others. In addition, I'd like
+ to take this opportunity to address some roadblocks that I have
+ noticed having observed some of my peers' attempts at learning Emacs
+ and possible solutions for those barriers, taking inspiration from
+ various sources both from inside and outside the Emacs community.
+
+ - Availability
+
+ Saturday Nov. 28: 1pm to 10pm PDT
+ Sunday Nov. 29: 8am to 10pm PDT
+
+ - Speaker release
+
+ By submitting this proposal, I agree that my presentation at EmacsConf
+ 2020 is subject to the following terms and conditions:
+
+ The EmacsConf organizers may capture audio and video (a "Recording")
+ of my presentation and any associated materials, which may include
+ slides, notes, transcripts, and prerecording(s) of my presentation
+ that I provide to the EmacsConf organizers.
+
+ I authorize the EmacsConf organizers to distribute, reproduce,
+ publicly display, and prepare derivative works of the Recording and
+ any derivative works of the Recording (the "Licensed Materials") under
+ the terms of the Creative Commons Attribution-ShareAlike 4.0
+ International (CC BY-SA 4.0) license.
+
+ I grant to the EmacsConf organizers permission to use my name,
+ likeness, and biographic information in association with their use of
+ the Licensed Materials under the above license.
+
+ I represent that I have the authority to grant the above license to
+ the EmacsConf organizers. If my presentation incorporates any
+ material owned by third parties, I represent that the material is
+ sublicensable to the EmacsConf organizers or that my use of them is
+ fair use.
+
+- in-progress State of Retro Gaming in Emacs :extended:lightning:elisp:nudge:
+
+ Hello,
+
+ I'd like to hand in a talk I've already presented at two different
+ conferences, you can find its slides online [1][2].
+
+ Name: Vasilij "wasamasa" Schneidermann
+
+ - Preferred format
+
+ 50 minutes (Extended talk)
+
+ - Comments
+
+ > It might be good to nudge this to be a lightning talk since it's been
+ > presented elsewhere.
+
+ - Abstract
+
+ Many jokes have been made about the true nature of Emacs, such as it
+ being a fully-fledged operating system. This talk will demonstrate
+ its suitability for playing retro games, then explore the inner
+ workings of a [CHIP-8](https://en.wikipedia.org/wiki/CHIP-8) emulator capable of smooth video game emulation.
+
+ [1]: <https://depp.brause.cc/talks/chicken-saar/>
+ [2]: <https://depp.brause.cc/talks/openchaos-2019-11/>
+
+ - (Un)availability
+
+ None I'm aware of yet, I'm available from 8AM to 10PM at local German
+ time.
+
+ - Speaker release
+
+ By submitting this proposal, I agree that my presentation at EmacsConf
+ 2020 is subject to the following terms and conditions:
+
+ The EmacsConf organizers may capture audio and video (a "Recording")
+ of my presentation and any associated materials, which may include
+ slides, notes, transcripts, and prerecording(s) of my presentation
+ that I provide to the EmacsConf organizers.
+
+ I authorize the EmacsConf organizers to distribute, reproduce,
+ publicly display, and prepare derivative works of the Recording and
+ any derivative works of the Recording (the "Licensed Materials") under
+ the terms of the Creative Commons Attribution-ShareAlike 4.0
+ International (CC BY-SA 4.0) license.
+
+ I grant to the EmacsConf organizers permission to use my name,
+ likeness, and biographic information in association with their use of
+ the Licensed Materials under the above license.
+
+ I represent that I have the authority to grant the above license to
+ the EmacsConf organizers. If my presentation incorporates any
+ material owned by third parties, I represent that the material is
+ sublicensable to the EmacsConf organizers or that my use of them is
+ fair use.
+
+- in-progress Welcome To The Dungeon :extended:elisp:
+
+ Name: Erik Elmshauser and Corwin Brust
+
+ - Preferred format
+
+ Extended talk (50m, including 10-15m Q&A)
+
+ - Abstract
+
+ Dungeon is an oral and physical media fantasy and abstract role-play
+ gaming tradition that seems to have grown from miniature and
+ war-gaming communities in and around the University of Minnesota, Twin
+ Cities in the 1950s and 60s.
+
+ Dungeon is inherently free (or nearly free, you do need paper and
+ dice), both to play and to create your own games. Moreover, as a
+ generality among practices, as Dungeon authors, we dislike impositions
+ on our creative freedoms beyond those of our own imagination and
+ tastes, especially those such as of a "brand" or "system", or e.g.
+ copyright holder.
+
+ In December of 2019 some friends who grew up creating and playing in
+ each others' Dungeons decided to try making an engine for these types
+ of games using Emacs and Emacs Lisp, org-mode, and maybe some
+ duct-tape if needed. In this 50 minute talk Corwin and Erik introduce
+ dungeon-mode, and explain why we decided to do that. We'll sketch out
+ the project in both lay and technical terms, provide a tactical update
+ with respect to completing our initial concept, describe how things
+ are going in human terms, and share some things we've learned so far
+ from and about Emacs and the free software community working on this
+ project, while leaving 10-15m for questions and discussion.
+
+ - (Un)availability
+
+ None
+
+ - Speaker release
+
+ By submitting this proposal, I agree that my presentation at EmacsConf
+ 2020 is subject to the following terms and conditions:
+
+ The EmacsConf organizers may capture audio and video (a "Recording")
+ of my presentation and any associated materials, which may include
+ slides, notes, transcripts, and prerecording(s) of my presentation
+ that I provide to the EmacsConf organizers.
+
+ I authorize the EmacsConf organizers to distribute, reproduce,
+ publicly display, and prepare derivative works of the Recording and
+ any derivative works of the Recording (the "Licensed Materials") under
+ the terms of the Creative Commons Attribution-ShareAlike 4.0
+ International (CC BY-SA 4.0) license.
+
+ I grant to the EmacsConf organizers permission to use my name,
+ likeness, and biographic information in association with their use of
+ the Licensed Materials under the above license.
+
+ I represent that I have the authority to grant the above license to
+ the EmacsConf organizers. If my presentation incorporates any
+ material owned by third parties, I represent that the material is
+ sublicensable to the EmacsConf organizers or that my use of them is
+ fair use.
+
+- in-progress Pathing of Least Resistance :standard:elisp:
+
+ Name: Corwin Brust
+
+ - Preferred format
+
+ Standard talk (20m, including 5m Q&A)
+
+ - Abstract
+
+ We hope the dungeon-mode project will eventually support three primary
+ use-cases related to editing/designing, playing and running/hosting
+ RPG games. In a "vanilla" game, characters descend from the "General
+ Store" (the one safe haven available) into the dungeon, a (nominally)
+ underground labyrinth of unknown dimensions with generally asocial
+ occupants and occasional bits of treasure.
+
+ Players can track (as long as the "lights" stay on) the location of
+ their party of characters via a process we usually call "mapping".
+ This has usually involved the dungeon master "calling out" the shape
+ of the map level as the party, in turn, calls out their route or
+ "pathing" decisions.
+
+ DUNGEON-MASTER
+ "Corridor East-West"
+ PARTY-LEADER
+ "West"
+ DUNGEON-MASTER
+ "Ten feet, corridor ends goes South"
+ PARTY-LEADER
+ "South"
+ DUNGEON-MASTER
+ "Step into an area. It's a
+ twenty-by-twenty area extending
+ West, with exits in the Western
+ part of the southern wall and the
+ Southern part of the eastern wall."
+ **rolls dice**
+ "Nothing waiting in the area"
+
+ Mapping quickly emerged as a focal point for development. Especially,
+ we were to excited to try creating an 'on-the-fly' graphical
+ representation of the map that could respond to changing in-game
+ circumstances. (Oops, all your Elves are dead. Where'd the secret
+ doors go?)
+
+ During this 20m talk I'll provide a couple of reference points on
+ Emacs's image and especially SVG rendering capabilities, then
+ introduce a series of proofs-of-concept focusing on our experience
+ using core libraries such as \`svg.el' to make them.
+
+ As of submitting abstracts, these include
+
+ - "DM map view" - select and render a complete game map,
+ - "play mode map" - progressively render maps based on game action,
+ - "battle-board" - track damage taken by player characters, and
+ - "character-sheet" - a graphical character sheet
+ - "previews" - view map tiles when hovering their draw code in org
+ - "sketch" - a "click-to-draw" experiment
+
+ For an advanced peek please see our git repository (but note we're
+ moving to Savannah soon). We'll be talking first about [map.el](https://github.com/dungeon-mode/game/blob/master/src/dm-map.el),
+ especially \`dm-map-draw' and helpers. A few sample game maps this can
+ render are available as org-mode documents in the [Docs/Maps](https://github.com/dungeon-mode/game/blob/master/Docs/Maps) folder.
+
+ Those interested could compare functions between dm-map.el and
+ [dm-draw.el](https://github.com/dungeon-mode/game/blob/master/src/dm-draw.el), which is an incomplete rewrite of the "SVG rendering"
+ functions used only by [dm-sketch.el](https://github.com/dungeon-mode/game/blob/master/src/dm-sketch.el) (so far). Hopefully, it will be
+ writing our "sketches" back out to org docs in time for the
+ conference.
+
+ Note on github:
+ The project is transitioning to Savannah. Please watch for
+ redirects/moved notices when using these links.
+
+ - (Un)availability
+
+ None
+
+ - Speaker release
+
+ By submitting this proposal, I agree that my presentation at EmacsConf
+ 2020 is subject to the following terms and conditions:
+
+ The EmacsConf organizers may capture audio and video (a "Recording")
+ of my presentation and any associated materials, which may include
+ slides, notes, transcripts, and prerecording(s) of my presentation
+ that I provide to the EmacsConf organizers.
+
+ I authorize the EmacsConf organizers to distribute, reproduce,
+ publicly display, and prepare derivative works of the Recording and
+ any derivative works of the Recording (the "Licensed Materials") under
+ the terms of the Creative Commons Attribution-ShareAlike 4.0
+ International (CC BY-SA 4.0) license.
+
+ I grant to the EmacsConf organizers permission to use my name,
+ likeness, and biographic information in association with their use of
+ the Licensed Materials under the above license.
+
+ I represent that I have the authority to grant the above license to
+ the EmacsConf organizers. If my presentation incorporates any
+ material owned by third parties, I represent that the material is
+ sublicensable to the EmacsConf organizers or that my use of them is
+ fair use.
+
+- in-progress A tour of vterm :dev:standard:lightning:timing:
+
+ Name: Gabriele Bozzola (@sbozzolo)
+
+ - Preferred format
+
+ 20 minutes, 10 would be fine, too.
+
+ - Abstract
+
+ Vterm is a fast and fully capable terminal emulator in GNU Emacs built
+ as a dynamic module on top of libvterm. In this talk, I will give an
+ overview of the package. I will discuss the installation and common
+ customizations. I will go into details on some of the most important
+ features, such as directory tracking or message passing. Finally, I
+ will touch upon known incompatibilities and the future directions of
+ the project.
+
+ URL: <https://github.com/akermu/emacs-libvterm>
+
+ - (Un)availability
+
+ My timezone is MST.
+
+ - Speaker release
+
+ By submitting this proposal, I agree that my presentation at EmacsConf
+ 2020 is subject to the following terms and conditions:
+
+ The EmacsConf organizers may capture audio and video (a "Recording")
+ of my presentation and any associated materials, which may include
+ slides, notes, transcripts, and prerecording(s) of my presentation
+ that I provide to the EmacsConf organizers.
+
+ I authorize the EmacsConf organizers to distribute, reproduce,
+ publicly display, and prepare derivative works of the Recording and
+ any derivative works of the Recording (the "Licensed Materials") under
+ the terms of the Creative Commons Attribution-ShareAlike 4.0
+ International (CC BY-SA 4.0) license.
+
+ I grant to the EmacsConf organizers permission to use my name,
+ likeness, and biographic information in association with their use of
+ the Licensed Materials under the above license.
+
+ I represent that I have the authority to grant the above license to
+ the EmacsConf organizers. If my presentation incorporates any
+ material owned by third parties, I represent that the material is
+ sublicensable to the EmacsConf organizers or that my use of them is
+ fair use.
+
+- in-progress Lakota Language and Emacs :lightning:elisp:
+
+ Name: Grant Shangreaux
+
+ - Preferred format
+
+ 10 minutes - Lightning talk
+ I am flexible. I've done a 5 minute version as well.
+
+ - Abstract
+
+ When I began learning Lakota, the language of my ancestors, there was
+ no way for me to type it on a computer without using non-free
+ software. Additionally, the only software I could find supported just
+ one of the proposed orthographies for the language.
+
+ As an Emacs user, I knew that free software offered the ability for
+ many types of languages to co-exist in the same program and went
+ looking for how to enable an input mode for Lakota in Emacs. This
+ talk will discuss how Emacs enabled me to define input modes for
+ multiple Lakota orthographies using the Quail multilingual input
+ package.
+
+ I will also discuss some of the ethical and cultural considerations I
+ went through when publishing the package. Lakota and many other
+ indigenous languages were actively suppressed for many years, and are
+ in danger of extinction. The language is being recovered now, but
+ much of the available educational material comes from non-indian
+ people. Before publishing an input mode for Emacs, I wanted to ensure
+ that I included an orthography developed by Lakota people, not only
+ the suggested orthography present in most of my educational material.
+ Additionally, the choice of where to publish the source as an Emacs
+ package was important, since some corporations have been known to
+ support ongoing oppression against indigenous descended peoples.
+
+ - (Un)availability
+
+ I'm flexible, but on US Central time, so no extreme hours would be
+ best for me.
+
+ - Speaker release
+
+ By submitting this proposal, I agree that my presentation at EmacsConf
+ 2020 is subject to the following terms and conditions:
+
+ The EmacsConf organizers may capture audio and video (a "Recording")
+ of my presentation and any associated materials, which may include
+ slides, notes, transcripts, and prerecording(s) of my presentation
+ that I provide to the EmacsConf organizers.
+
+ I authorize the EmacsConf organizers to distribute, reproduce,
+ publicly display, and prepare derivative works of the Recording and
+ any derivative works of the Recording (the "Licensed Materials") under
+ the terms of the Creative Commons Attribution-ShareAlike 4.0
+ International (CC BY-SA 4.0) license.
+
+ I grant to the EmacsConf organizers permission to use my name,
+ likeness, and biographic information in association with their use of
+ the Licensed Materials under the above license.
+
+ I represent that I have the authority to grant the above license to
+ the EmacsConf organizers. If my presentation incorporates any
+ material owned by third parties, I represent that the material is
+ sublicensable to the EmacsConf organizers or that my use of them is
+ fair use.
+
+- in-progress Object Oriented Code in the Gnus Newsreader :standard:elisp:
+
+ Name: Eric Abrahamsen
+
+ - Preferred format
+
+ 20 minutes should be fine (I'm happy to record in advance, as well).
+ It would be fun to have a Q&A, if that's an option.
+
+ - Abstract
+
+ The venerable Gnus newsreader has evolved over the years to interface
+ with many different types of news- or mail-like backend programs,
+ presenting all of them using a unified interface. This sort of
+ software often calls for an object-oriented architecture, at least as
+ regards polymorphism, yet Gnus was written well before Emacs lisp
+ acquired the object-oriented tools and libraries &#x2013; largely borrowed
+ from Common Lisp &#x2013; that it boasts today.
+
+ Yet Gnus needed something "object-oriented-like", and so nnoo.el was
+ born: a rather amazing (and frankly terrifying) implementation of
+ object-oriented behavior using functional code.
+
+ This talk will be a brief introduction to how this existing system
+ works, and to the ongoing, incremental effort to port it over to newer
+ Elisp tools like generic functions, structs, and objects.
+
+ - (Un)availability
+
+ No particular time restrictions I'm aware of.
+
+ - Speaker release
+
+ By submitting this proposal, I agree that my presentation at EmacsConf
+ 2020 is subject to the following terms and conditions:
+
+ The EmacsConf organizers may capture audio and video (a "Recording")
+ of my presentation and any associated materials, which may include
+ slides, notes, transcripts, and prerecording(s) of my presentation
+ that I provide to the EmacsConf organizers.
+
+ I authorize the EmacsConf organizers to distribute, reproduce,
+ publicly display, and prepare derivative works of the Recording and
+ any derivative works of the Recording (the "Licensed Materials") under
+ the terms of the Creative Commons Attribution-ShareAlike 4.0
+ International (CC BY-SA 4.0) license.
+
+ I grant to the EmacsConf organizers permission to use my name,
+ likeness, and biographic information in association with their use of
+ the Licensed Materials under the above license.
+
+ I represent that I have the authority to grant the above license to
+ the EmacsConf organizers. If my presentation incorporates any
+ material owned by third parties, I represent that the material is
+ sublicensable to the EmacsConf organizers or that my use of them is
+ fair use.
+
+- in-progress Maxima a computer algebra system in Emacs :standard:dev:timing:
+
+ Name: Fermin MF
+
+ - Preferred format
+
+ 20 minutes (Standard talk)
+
+ - Comments
+
+ > This could be a coding-type talk (how to do something technical in
+ > Emacs) or an Emacs Lisp talk (how to modernize outdated code and
+ > integrate with external apps).
+
+ - Abstract
+
+ Maxima is a great tool for symbolic mathematics, it has some support
+ for Emacs in the main repository, but is quite outdated and doesn't
+ receive the love I think it should, so a couple of months ago I decide
+ to improve and "modernize" the maxima-mode.el code base. So, I want
+ to talk about the integration with Emacs, the maxima REPL, how some of
+ the main tool for Emacs integrate in maxima-mode and in general show
+ how to start using maxima within Emacs.
+
+ - (Un)availability
+
+ I prefer the talk to be in the afternoon if it's possible.
+
+ - Speaker release
+
+ By submitting this proposal, I agree that my presentation at EmacsConf
+ 2020 is subject to the following terms and conditions:
+
+ The EmacsConf organizers may capture audio and video (a "Recording")
+ of my presentation and any associated materials, which may include
+ slides, notes, transcripts, and prerecording(s) of my presentation
+ that I provide to the EmacsConf organizers.
+
+ I authorize the EmacsConf organizers to distribute, reproduce,
+ publicly display, and prepare derivative works of the Recording and
+ any derivative works of the Recording (the "Licensed Materials") under
+ the terms of the Creative Commons Attribution-ShareAlike 4.0
+ International (CC BY-SA 4.0) license.
+
+ I grant to the EmacsConf organizers permission to use my name,
+ likeness, and biographic information in association with their use of
+ the Licensed Materials under the above license.
+
+ I represent that I have the authority to grant the above license to
+ the EmacsConf organizers. If my presentation incorporates any
+ material owned by third parties, I represent that the material is
+ sublicensable to the EmacsConf organizers or that my use of them is
+ fair use.
+
+- in-progress Extend Emacs to Modern GUI Applications with EAF :standard:elisp:
+
+ Name: Matthew Zeng
+
+ - Preferred format
+
+ Standard
+
+ - Abstract
+
+ Emacs Application Framework (EAF) is a customizable and extensible GUI
+ application framework that extends Emacs graphical capabilities using
+ PyQt5. This talk will cover the architecture design of the EAF
+ project, and demonstrate some of its most useful applications: modern
+ browser, PDF viewer, video player, etc.
+
+ - (Un)availability
+
+ Available after 12pm Toronto/EST on any day
+
+ - Speaker release
+
+ By submitting this proposal, I agree that my presentation at EmacsConf
+ 2020 is subject to the following terms and conditions:
+
+ The EmacsConf organizers may capture audio and video (a "Recording")
+ of my presentation and any associated materials, which may include
+ slides, notes, transcripts, and prerecording(s) of my presentation
+ that I provide to the EmacsConf organizers.
+
+ I authorize the EmacsConf organizers to distribute, reproduce,
+ publicly display, and prepare derivative works of the Recording and
+ any derivative works of the Recording (the "Licensed Materials") under
+ the terms of the Creative Commons Attribution-ShareAlike 4.0
+ International (CC BY-SA 4.0) license.
+
+ I grant to the EmacsConf organizers permission to use my name,
+ likeness, and biographic information in association with their use of
+ the Licensed Materials under the above license.
+
+ I represent that I have the authority to grant the above license to
+ the EmacsConf organizers. If my presentation incorporates any
+ material owned by third parties, I represent that the material is
+ sublicensable to the EmacsConf organizers or that my use of them is
+ fair use.
+
+- in-progress WAVEing at Repetitive Repetitive Repetitive Music :standard:lightning:music:elisp:
+
+ Name: Zachary Kanfer
+
+ - Preferred format
+
+ Standard or Lightning talk. With a Lightning talk, I'd go less into
+ detail on some of the odd corners of the project, like zero-width
+ spaces rendering with nonzero width. But it would still be a viable
+ talk.
+
+ - Abstract
+
+ During quarantine, I found myself spending time with an Android app.
+ One of the features this app has is composing music that loops
+ endlessly. As with many things, I wondered how much better this tool
+ would be, if only it was inside Emacs.
+
+ This talk will explain how I made this tool inside Emacs, with detours
+ through Emacs text properties, font rendering, the .WAVE file format,
+ and music theory. And hopefully at the end, we'll have something
+ worth listening to.
+
+ - (Un)availability
+
+ n/a
+
+ - Speaker release
+
+ By submitting this proposal, I agree that my presentation at EmacsConf
+ 2020 is subject to the following terms and conditions:
+
+ The EmacsConf organizers may capture audio and video (a "Recording")
+ of my presentation and any associated materials, which may include
+ slides, notes, transcripts, and prerecording(s) of my presentation
+ that I provide to the EmacsConf organizers.
+
+ I authorize the EmacsConf organizers to distribute, reproduce,
+ publicly display, and prepare derivative works of the Recording and
+ any derivative works of the Recording (the "Licensed Materials") under
+ the terms of the Creative Commons Attribution-ShareAlike 4.0
+ International (CC BY-SA 4.0) license.
+
+ I grant to the EmacsConf organizers permission to use my name,
+ likeness, and biographic information in association with their use of
+ the Licensed Materials under the above license.
+
+ I represent that I have the authority to grant the above license to
+ the EmacsConf organizers. If my presentation incorporates any
+ material owned by third parties, I represent that the material is
+ sublicensable to the EmacsConf organizers or that my use of them is
+ fair use.
+
+
+<a id="orgf4a8e98"></a>
+
+### 16:30 - 17:00 Closing remarks
+
+
+<a id="orgac23017"></a>
+
+# Withdrawn
+
+
+<a id="talk36"></a>
+
+## cancelled So Easy My Manager Can Do It! :lightning:beginner:user:nudge:
+
+> 2020-10-17: Merged into "Trivial Emacs Kits"
+>
+> Emacs Lisp is a big topic, so it's hard to think about how it
+> can be squeezed into a lightning talk or a standard talk. Still,
+> If this talk can help interested people who haven't fiddled with
+> their Emacs configuration feel like they can understand the next
+> two talks and find resources to learn more, it could be a good transition.
+
+Name: Corwin Brust
+
+
+<a id="orgcadf82b"></a>
+
+### Preferred format
+
+Lightning talk (10m, probably without Q&A)
+
+
+<a id="org4f2154d"></a>
+
+### Abstract
+
+A lightning-fast, yet gentle, introduction to Emacs Lisp.
+
+
+<a id="org9ff6021"></a>
+
+### (Un)availability
+
+None
+
+
+<a id="org2cd152d"></a>
+
+### Speaker release
+
+By submitting this proposal, I agree that my presentation at EmacsConf
+2020 is subject to the following terms and conditions:
+
+The EmacsConf organizers may capture audio and video (a "Recording")
+of my presentation and any associated materials, which may include
+slides, notes, transcripts, and prerecording(s) of my presentation
+that I provide to the EmacsConf organizers.
+
+I authorize the EmacsConf organizers to distribute, reproduce,
+publicly display, and prepare derivative works of the Recording and
+any derivative works of the Recording (the "Licensed Materials") under
+the terms of the Creative Commons Attribution-ShareAlike 4.0
+International (CC BY-SA 4.0) license.
+
+I grant to the EmacsConf organizers permission to use my name,
+likeness, and biographic information in association with their use of
+the Licensed Materials under the above license.
+
+I represent that I have the authority to grant the above license to
+the EmacsConf organizers. If my presentation incorporates any
+material owned by third parties, I represent that the material is
+sublicensable to the EmacsConf organizers or that my use of them is
+fair use.
+
+
+<a id="talk37"></a>
+
+# Code
+
+
+<a id="org014fc78"></a>
+
+## Planning
+
+This check\_time block can be called from different headings. It sums
+up the minimum time from the talks in the subtree and compares it with
+the target time.
+
+ (list (list "Difference" "Minimum time" "Target time")
+ (list
+ (- (string-to-number (org-entry-get (point) "TARGET_TIME"))
+ (string-to-number (org-entry-get (point) "MIN_TIME_SUM")))
+ (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))))))))
+
+
+<a id="org0da23c5"></a>
+
+## Generate schedule file
+
+ (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 "^ *Abstract *$" (elt heading 4))
+ (plist-put talk :abstract
+ (buffer-substring-no-properties
+ (save-excursion (forward-line) (line-beginning-position))
+ (save-excursion (org-end-of-subtree)))))
+ ((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 "<a href=\"/2020/schedule/%s\">%s</a>"
+ (plist-get talk :talk-id)
+ (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>"
+ 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/format-talk-pages (info)
+ (let* ((talks (seq-filter (lambda (o) (eq (plist-get o :type) 'talk)) 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 "[[!meta title=\"%s\"]]
+ [[!meta copyright=\"Copyright &copy; 2020 %s\"]]
+
+ %s
+
+ # %s\n%s \n%s\n\n%s\n\n
+
+ %s
+
+ All times are approximate, and we might shuffle talks around as needed.
+ Please check <https://emacsconf.org/2020> a few days before the start of the
+ conference for instructions on how to watch and participate. See you then!
+ <!-- automatically generated from submissions.org using conf/generate-schedule-files --->\n
+ "
+ (replace-regexp-in-string "\"" "\\\\\"" (plist-get o :title))
+ (plist-get o :speakers)
+ nav-links
+ (plist-get o :title)
+ (format "%s - %s"
+ (format-time-string "%A, %b %e %Y, %l:%M %p" (org-timestamp-to-time (org-timestamp-split-range timestamp)))
+ (format-time-string "%l:%M %p" (org-timestamp-to-time (org-timestamp-split-range timestamp t))))
+ (plist-get o :speakers)
+ (org-export-string-as (plist-get o :abstract) 'md t)
+ 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"))))
+
diff --git a/2020/submissions.org b/2020/submissions.org
index 1653bebe..f132879d 100644
--- a/2020/submissions.org
+++ b/2020/submissions.org
@@ -2975,8 +2975,13 @@ SCHEDULED: <2020-11-29 Sun 16:30-17:00>
:TALK_ID: 37
:END:
** Planning
+
+This check_time block can be called from different headings. It sums
+up the minimum time from the talks in the subtree and compares it with
+the target time.
+
#+NAME: check_time
-#+begin_src emacs-lisp :export code :eval no
+#+begin_src emacs-lisp :exports code :eval no
(list (list "Difference" "Minimum time" "Target time")
(list
(- (string-to-number (org-entry-get (point) "TARGET_TIME"))
@@ -2985,8 +2990,11 @@ SCHEDULED: <2020-11-29 Sun 16:30-17:00>
(org-entry-get (point) "TARGET_TIME")))
#+end_src
-#+begin_src emacs-lisp :results none :tangle "conf.el"
+Some conference-related functions
+
+#+begin_src emacs-lisp :exports code :results none :tangle "conf.el"
(defun conf/assign-ids ()
+ "Assign numeric talk IDs."
(interactive)
(goto-char (point-min))
;; Determine the maximum ID assigned so far
@@ -3072,7 +3080,7 @@ The total is written to the MIN_TIME_SUM property of this heading"
#+end_src
** Generate schedule file
-#+begin_src emacs-lisp :results none :eval yes
+#+begin_src emacs-lisp :results none :eval yes :exports code :tangle "conf.el"
(defun conf/get-talk-info ()
(let (talk results)
(org-map-entries (lambda ()
@@ -3202,8 +3210,7 @@ conference for instructions on how to watch and participate. See you then!
#+begin_src emacs-lisp :exports both
(let* ((available-minutes (* 2 ; two days
- (- (- 17 9) ; 9 to 5
- ) ; 30 minutes opening stuff, 1 hour for lunch, 30 minutes closing stuff
+ (- 17 9) ; 9 to 5
60 ; minutes
)))
`(("80% of capacity" ,(* .8 available-minutes))
@@ -3211,8 +3218,8 @@ conference for instructions on how to watch and participate. See you then!
#+end_src
#+RESULTS:
-| 80% of capacity | -768.0 |
-| 90% of capacity | -864.0 |
+| 80% of capacity | 768.0 |
+| 90% of capacity | 864.0 |
* COMMENT Copyright & License