diff options
author | Amin Bandali <bandali@gnu.org> | 2020-10-16 01:08:34 -0400 |
---|---|---|
committer | Amin Bandali <bandali@gnu.org> | 2020-10-16 01:12:08 -0400 |
commit | e50221e61ff759c1a15ef1245129420142fc0d4e (patch) | |
tree | e0c88602959bd65a1ae83bb75607fd7c7f7ad766 /2020 | |
parent | b356a08260506d5d8283d838c491eb07281e73bf (diff) | |
download | emacsconf-wiki-e50221e61ff759c1a15ef1245129420142fc0d4e.tar.xz emacsconf-wiki-e50221e61ff759c1a15ef1245129420142fc0d4e.zip |
2020/submissions.org: add
Diffstat (limited to '')
-rw-r--r-- | 2020/submissions.org | 2869 |
1 files changed, 2869 insertions, 0 deletions
diff --git a/2020/submissions.org b/2020/submissions.org new file mode 100644 index 00000000..1045c8e3 --- /dev/null +++ b/2020/submissions.org @@ -0,0 +1,2869 @@ +#+title: EmacsConf 2020 submissions +#+todo: todo(t) in-progress(i) | accepted(a) rejected(r) +#+options: toc:3 + +* Possible rough flow suggested by Sacha + +34 talks; proposed schedule below takes speaker availability into account + +#+begin_src emacs-lisp :exports both +(let* ((available-minutes (* 2 ; two days + (- (- 17 9) ; 9 to 5 + 2) ; 30 minutes opening stuff, 1 hour for lunch, 30 minutes closing stuff + 60 ; minutes + ))) + `(("80% of capacity" ,(* .8 available-minutes)) + ("90% of capacity" ,(* .9 available-minutes)))) +#+end_src + +#+RESULTS: +| 80% of capacity | 576.0 | +| 90% of capacity | 648.0 | + +If we take all talks at the minimum time requested (and maybe nudge +the retro gaming talk to be a lightning talk because it's been covered +elsewhere, and maybe nudge the eev talk to be a lightning talk as +well), we can probably fit in the 80% schedule. If we're feeling +confident about time, we can prioritize some talks and make them a bit +longer. Prerecorded lightning talks would give us more flexibility, +as usual. + +I removed reviewer identification. Note that if you commit to the Git +repository, your commit is tagged with whatever you're using for +identification. If you want to stay anonymous-ish (... and you +haven't already posted it to the public emacsconf-org list =) ), you +can send comments to Amin or me and we can put them in for you. + +If you move a talk around or change the time +allocated to it, use =M-x my/org-sum-min-time-in-subtree= (see [[Code]]) +to recalculate each affected subtree. (Someday we should have +something that will update everything!) + +I've added some of my thoughts to the talks that a reviewer wasn't +sure about (see the quote blocks) to see if we can get those talks to +be a good fit. + +Does anyone have strong feelings about saying no to some talks in +order to give more time to other talks? There are some pretty +promising ones that could benefit from more time. We'll probably have +more time freed up if people withdraw talk proposals or if we move +lightning talks around (last year we queued up a whole bunch at the +end), so we might not have to say no right away unless we feel +strongly about it. + +* Tables + +This code updates the minimum time. + +#+begin_src emacs-lisp :results none +(save-excursion +(goto-char (point-min)) +(org-map-entries + (lambda () + (when (org-entry-get (point) "TARGET_TIME") + (my/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)) +#+end_src + +** Overall + +#+BEGIN: columnview :hlines 1 :id "talks" :format "%DIFFERENCE%TARGET_TIME%MIN_TIME_SUM%ITEM" :maxlevel 3 +| DIFFERENCE | TARGET_TIME | MIN_TIME_SUM | ITEM | +|------------+-------------+--------------+-------------------------------| +| Needs: 14 | 576 | 590 | Talks | +| | | | November 28 (Saturday) | +| | | | 9:00 - 9:30 Opening remarks | +| | 120 | 120 | 9:30 - 12:00 User talks | +| | | | 12:00 - 13:00 Lunch | +| Needs: 12 | 168 | 180 | 13:00 - 16:30 Afternoon talks | +| | | | 16:30 - 17:00 Closing remarks | +| | | | November 29 (Sunday) | +| | | | 9:00 - 9:30 Opening remarks | +| | 120 | 120 | 9:30 - 12:00 Morning talks | +| | | | 12:00 - 13:00 Lunch | +| Needs: 2 | 168 | 170 | 13:00 - 16:30 Afternoon talks | +| | | | 16:30 - 17:00 Closing remarks | +| | | | Other | +#+END: + +** By slot + +*** Saturday + +**** 9:30 - 12:00 User talks :morning: + +#+BEGIN: columnview :hlines 1 :id "talks" :format "%MIN_TIME%MAX_TIME%AVAILABILITY%20ITEM" :match "sat+morning/+todo" +| MIN_TIME | MAX_TIME | AVAILABILITY | ITEM | +|----------+----------+-----------------------------------+------------------------------------------------------------------------| +| 10 | 10 | maybe 9am-3pm EST | Emacs News Highlights | +| 20 | 20 | 9am-12pm EST | An Emacs Developer Story: From User to Maintainer | +| 10 | 20 | 8:30am EST-12pm EST | Idea to Novel Superstructure: Emacs for Writing | +| 10 | 10 | ok | Music in Plain Text | +| 10 | 10 | 10am-5pm EST, daylight Central US | Bard Bivou(m)acs - Building a bandcamp-like page for an album of music | +| 10 | 50 | ok | On why most of the best features in eev look like 5-minute hacks | +| 10 | 20 | ok | So Easy My Manager Can Do It! | +| 10 | 10 | ok | Trivial Emacs Kits | +| 10 | 50 | ok | Epistemic Emacs: A Scalable User Interface Paradigm | +| 20 | 50 | After 4pm UTC - 11am-5pm EST | Building reproducible Emacs | +#+END: + +**** 13:00 - 16:30 Afternoon talks :afternoon: + +#+BEGIN: columnview :hlines 1 :id "talks" :format "%MIN_TIME%MAX_TIME%AVAILABILITY%20ITEM" :match "sat+afternoon/+todo" +| MIN_TIME | MAX_TIME | AVAILABILITY | ITEM | +|----------+----------+---------------------------------------------------------------------------------+------------------------------------------------------------------------------| +| 10 | 20 | CET, so 9am-maybe 2pm EST (8pm CET) | Orgmode - your life in plain text | +| 10 | 20 | ok | Lead your future with Org | +| 20 | 50 | ok | the org-gtd package: opinions about Getting Things Done | +| 10 | 20 | 9am-12pm EST (in CET timezone)... see if 1-3pm EST (7-9pm CET) is still doable? | One Big-ass Org File or multiple tiny ones? Finally, the End of the debate! | +| 10 | 10 | ok | Experience Report: Steps to "Emacs Hyper Notebooks" | +| 20 | 50 | ok | Literate Programming in Emacs Org-Mode | +| 20 | 50 | 9am-12pm EST (in CET timezone)... see if 1-3pm EST (7-9pm CET) is still doable? | Org-roam: Presentation, Demonstration, and What's on the Horizon | +| 20 | 20 | ok | Org-mode and Org-Roam for Scholars and Researchers | +| 10 | 20 | 9am-5pm CET, so 9am-12pm EST; see if 7pm-9pm CET (1-3pm EST is available) | Moving from Jekyll to OrgMode, an experience report | +| 10 | 10 | ok | Sharing blogs (and more) with org-webring | +| 20 | 20 | ok | OMG Macros | +| 20 | 10 | Sat 4pm EST onwards, Sun 11am EST onwards | Emacs as a Highschooler: How It Changed My Life | +#+END: + +*** Sunday + +**** 9:30 - 12:00 Morning talks :morning: + +#+BEGIN: columnview :hlines 1 :id "talks" :format "%MIN_TIME%MAX_TIME%AVAILABILITY%20ITEM" :match "sun+morning/+todo" +| MIN_TIME | MAX_TIME | AVAILABILITY | ITEM | +|----------+----------+---------------------------------------------------------------------------------+----------------------------------------------------------------------------------------| +| 50 | 50 | GMT+7, so earlier is better (9:30 EST?). Can pre-record and answer questions. | Incremental Parsing with emacs-tree-sitter | +| 20 | 20 | Unavailable 1pm-2pm EST both days | Powering-up Special Blocks | +| 20 | 20 | 9am-12pm EST (in CET timezone)... see if 1-3pm EST (7-9pm CET) is still doable? | Org-roam: Technical Presentation | +| 20 | 50 | ok | Analyze code quality through Emacs: a smart forensics approach and the story of a hack | +| 10 | 10 | Available both days, birthday on the 28th | Traverse complex JSON structures with live feedback | +#+END: + +**** 13:00 - 16:30 Afternoon talks :afternoon: + +#+BEGIN: columnview :hlines 1 :id "talks" :format "%MIN_TIME%MAX_TIME%AVAILABILITY%20ITEM" :match "sun+afternoon/+todo" +| MIN_TIME | MAX_TIME | AVAILABILITY | ITEM | +|----------+----------+--------------------------------+---------------------------------------------------| +| 10 | 20 | MST, so 11am-5pm EST | A tour of vterm | +| 10 | 50 | 8am-10pm CET, so 9am-3pm EST | State of Retro Gaming in Emacs | +| 50 | 50 | ok | Welcome To The Dungeon | +| 20 | 20 | ok | Pathing of Least Resistance | +| 10 | 10 | Central time, 10am EST-5pm EST | Lakota Language and Emacs | +| 20 | 20 | ok | Object Oriented Code in the Gnus Newsreader | +| 20 | 20 | afternoon if possible | Maxima a computer algebra system in Emacs | +| 20 | 20 | after 12pm EST both days | Extend Emacs to Modern GUI Applications with EAF | +| 10 | 20 | ok | WAVEing at Repetitive Repetitive Repetitive Music | +#+END: + +** Table for all talks + +#+BEGIN: columnview :hlines 1 :id "talks" :format "%MIN_TIME%MAX_TIME%ITEM%AVAILABILITY" :match "TODO=\"todo\"" +| MIN_TIME | MAX_TIME | ITEM | AVAILABILITY | +|----------+----------+----------------------------------------------------------------------------------------+---------------------------------------------------------------------------------| +| 10 | 10 | Emacs News Highlights | maybe 9am-3pm EST | +| 20 | 20 | An Emacs Developer Story: From User to Maintainer | 9am-12pm EST | +| 10 | 20 | Idea to Novel Superstructure: Emacs for Writing | 8:30am EST-12pm EST | +| 10 | 10 | Music in Plain Text | ok | +| 10 | 10 | Bard Bivou(m)acs - Building a bandcamp-like page for an album of music | 10am-5pm EST, daylight Central US | +| 10 | 50 | On why most of the best features in eev look like 5-minute hacks | ok | +| 10 | 20 | So Easy My Manager Can Do It! | ok | +| 10 | 10 | Trivial Emacs Kits | ok | +| 10 | 50 | Epistemic Emacs: A Scalable User Interface Paradigm | ok | +| 20 | 50 | Building reproducible Emacs | After 4pm UTC - 11am-5pm EST | +| 10 | 20 | Orgmode - your life in plain text | CET, so 9am-maybe 2pm EST (8pm CET) | +| 10 | 20 | Lead your future with Org | ok | +| 20 | 50 | the org-gtd package: opinions about Getting Things Done | ok | +| 10 | 20 | One Big-ass Org File or multiple tiny ones? Finally, the End of the debate! | 9am-12pm EST (in CET timezone)... see if 1-3pm EST (7-9pm CET) is still doable? | +| 10 | 10 | Experience Report: Steps to "Emacs Hyper Notebooks" | ok | +| 20 | 50 | Literate Programming in Emacs Org-Mode | ok | +| 20 | 50 | Org-roam: Presentation, Demonstration, and What's on the Horizon | 9am-12pm EST (in CET timezone)... see if 1-3pm EST (7-9pm CET) is still doable? | +| 20 | 20 | Org-mode and Org-Roam for Scholars and Researchers | ok | +| 10 | 20 | Moving from Jekyll to OrgMode, an experience report | 9am-5pm CET, so 9am-12pm EST; see if 7pm-9pm CET (1-3pm EST is available) | +| 10 | 10 | Sharing blogs (and more) with org-webring | ok | +| 20 | 20 | OMG Macros | ok | +| 20 | 10 | Emacs as a Highschooler: How It Changed My Life | Sat 4pm EST onwards, Sun 11am EST onwards | +| 50 | 50 | Incremental Parsing with emacs-tree-sitter | GMT+7, so earlier is better (9:30 EST?). Can pre-record and answer questions. | +| 20 | 20 | Powering-up Special Blocks | Unavailable 1pm-2pm EST both days | +| 20 | 20 | Org-roam: Technical Presentation | 9am-12pm EST (in CET timezone)... see if 1-3pm EST (7-9pm CET) is still doable? | +| 20 | 50 | Analyze code quality through Emacs: a smart forensics approach and the story of a hack | ok | +| 10 | 10 | Traverse complex JSON structures with live feedback | Available both days, birthday on the 28th | +| 10 | 20 | A tour of vterm | MST, so 11am-5pm EST | +| 10 | 50 | State of Retro Gaming in Emacs | 8am-10pm CET, so 9am-3pm EST | +| 50 | 50 | Welcome To The Dungeon | ok | +| 20 | 20 | Pathing of Least Resistance | ok | +| 10 | 10 | Lakota Language and Emacs | Central time, 10am EST-5pm EST | +| 20 | 20 | Object Oriented Code in the Gnus Newsreader | ok | +| 20 | 20 | Maxima a computer algebra system in Emacs | afternoon if possible | +| 20 | 20 | Extend Emacs to Modern GUI Applications with EAF | after 12pm EST both days | +| 10 | 20 | WAVEing at Repetitive Repetitive Repetitive Music | ok | +#+END: + +* Talks +:PROPERTIES: +:ID: talks +:MIN_TIME_SUM: 590 +:TARGET_TIME: 576 +:DIFFERENCE: Needs: 14 +:END: + +** November 28 (Saturday) :sat: + +*** 9:00 - 9:30 Opening remarks + +*** 9:30 - 12:00 User talks :morning: +:PROPERTIES: +:TARGET_TIME: 120 +:MIN_TIME_SUM: 120 +:DIFFERENCE: +:END: + +#+CALL: check_time() + +#+RESULTS: +| Difference | Minimum time | Target time | +| 0 | 120 | 120 | + +#+BEGIN: columnview :hlines 1 :id "talks" :format "%MIN_TIME%MAX_TIME%AVAILABILITY%20ITEM" :match "sat+morning/+todo" +| MIN_TIME | MAX_TIME | AVAILABILITY | ITEM | +|----------+----------+-----------------------------------+------------------------------------------------------------------------| +| 10 | 10 | maybe 9am-3pm EST | Emacs News Highlights | +| 20 | 20 | 9am-12pm EST | An Emacs Developer Story: From User to Maintainer | +| 10 | 20 | 8:30am EST-12pm EST | Idea to Novel Superstructure: Emacs for Writing | +| 10 | 10 | ok | Music in Plain Text | +| 10 | 10 | 10am-5pm EST, daylight Central US | Bard Bivou(m)acs - Building a bandcamp-like page for an album of music | +| 10 | 50 | ok | On why most of the best features in eev look like 5-minute hacks | +| 10 | 20 | ok | So Easy My Manager Can Do It! | +| 10 | 10 | ok | Trivial Emacs Kits | +| 10 | 50 | ok | Epistemic Emacs: A Scalable User Interface Paradigm | +| 20 | 50 | After 4pm UTC - 11am-5pm EST | Building reproducible Emacs | +#+END: + +**** User stories + +***** todo Emacs News Highlights :lightning:user: +:PROPERTIES: +:MAX_TIME: 10 +:MIN_TIME: 10 +:AVAILABILITY: maybe 9am-3pm EST +:END: + +Name: Sacha Chua + +****** Preferred format + +10 minutes + +****** Abstract + +Quick overview of Emacs community highlights since the last conference + +****** (Un)availability + +Available maybe 9am-3pm EST + +****** 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. + +***** todo An Emacs Developer Story: From User to Maintainer :standard:user:community: +:PROPERTIES: +:MAX_TIME: 20 +:MIN_TIME: 20 +:AVAILABILITY: 9am-12pm EST +:END: + +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 + +***** todo Idea to Novel Superstructure: Emacs for Writing :standard:lightning:user: +:PROPERTIES: +:MAX_TIME: 20 +:MIN_TIME: 10 +:AVAILABILITY: 8:30am EST-12pm EST +:END: + +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. + +***** todo Music in Plain Text :music:user:lightning: +:PROPERTIES: +:MAX_TIME: 10 +:MIN_TIME: 10 +:AVAILABILITY: ok +:END: + +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. + +***** todo Bard Bivou(m)acs - Building a bandcamp-like page for an album of music :music: +:PROPERTIES: +:MIN_TIME: 10 +:MAX_TIME: 10 +:AVAILABILITY: 10am-5pm EST, daylight Central US +:END: + +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. + +***** todo On why most of the best features in eev look like 5-minute hacks :extended:user:nudge: +:PROPERTIES: +:MAX_TIME: 50 +:MIN_TIME: 10 +:AVAILABILITY: ok +:END: + +#+begin_quote +It might be good to nudge this to be a lightning talk since eev was in +last year's conference as well. What's new in terms of the talk +coverage? +#+end_quote + +Name: Eduardo Ochs + +****** Preferred format + +Extended talk + +****** 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. + +**** Emacs configuration + +***** todo So Easy My Manager Can Do It! :lightning:beginner:user:nudge: +:PROPERTIES: +:MAX_TIME: 20 +:MIN_TIME: 10 +:AVAILABILITY: ok +:END: + +#+begin_quote +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. +#+end_quote + +Name: Corwin Brust + +****** Preferred format + +Lightning talk (10m, probably without Q&A) + +****** Abstract + +A lightning-fast, yet gentle, introduction to Emacs Lisp. + +****** (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. + +***** todo Trivial Emacs Kits :lightning:config:user:beginner: +:PROPERTIES: +:FORMAT: Lightning talk +:MAX_TIME: 10 +:MIN_TIME: 10 +:AVAILABILITY: ok +:END: + +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. + +***** todo Epistemic Emacs: A Scalable User Interface Paradigm :nudge: +:PROPERTIES: +:MIN_TIME: 10 +:MAX_TIME: 50 +:AVAILABILITY: ok +:END: + +#+begin_quote +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. +#+end_quote + +Name: Sid Kasivajhula + +****** Preferred format + +Extended or Standard + +****** 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... glorious mode, that's what I want. + And the only thing that'll cut it is if I do it ... my way. Why, with my + precious emacs.d, I'm invincible! Well... 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. + +***** todo Building reproducible Emacs :standard:extended:config:user: +:PROPERTIES: +:FORMAT: Extended preferred, standard possible +:MAX_TIME: 50 +:MIN_TIME: 20 +:AVAILABILITY: After 4pm UTC - 11am-5pm EST +:END: + +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. + +*** 12:00 - 13:00 Lunch + +*** 13:00 - 16:30 Afternoon talks :afternoon: +:PROPERTIES: +:MIN_TIME_SUM: 180 +:TARGET_TIME: 168 +:DIFFERENCE: Needs: 12 +:END: + +#+CALL: check_time() + +#+RESULTS: +| Difference | Minimum time | Target time | +| -12 | 180 | 168 | + +#+BEGIN: columnview :hlines 1 :id "talks" :format "%MIN_TIME%MAX_TIME%AVAILABILITY%20ITEM" :match "sat+afternoon/+todo" +| MIN_TIME | MAX_TIME | AVAILABILITY | ITEM | +|----------+----------+---------------------------------------------------------------------------------+------------------------------------------------------------------------------| +| 10 | 20 | CET, so 9am-maybe 2pm EST (8pm CET) | Orgmode - your life in plain text | +| 10 | 20 | ok | Lead your future with Org | +| 20 | 50 | ok | the org-gtd package: opinions about Getting Things Done | +| 10 | 20 | 9am-12pm EST (in CET timezone)... see if 1-3pm EST (7-9pm CET) is still doable? | One Big-ass Org File or multiple tiny ones? Finally, the End of the debate! | +| 10 | 10 | ok | Experience Report: Steps to "Emacs Hyper Notebooks" | +| 20 | 50 | ok | Literate Programming in Emacs Org-Mode | +| 20 | 50 | 9am-12pm EST (in CET timezone)... see if 1-3pm EST (7-9pm CET) is still doable? | Org-roam: Presentation, Demonstration, and What's on the Horizon | +| 20 | 20 | ok | Org-mode and Org-Roam for Scholars and Researchers | +| 10 | 20 | 9am-5pm CET, so 9am-12pm EST; see if 7pm-9pm CET (1-3pm EST is available) | Moving from Jekyll to OrgMode, an experience report | +| 10 | 10 | ok | Sharing blogs (and more) with org-webring | +| 20 | 20 | ok | OMG Macros | +| 20 | 10 | Sat 4pm EST onwards, Sun 11am EST onwards | Emacs as a Highschooler: How It Changed My Life | +#+END: + +**** User + +***** Org Workflows + +****** todo Orgmode - your life in plain text :standard:tutorial:org:nudge: +:PROPERTIES: +:MAX_TIME: 20 +:MIN_TIME: 10 +:AVAILABILITY: CET, so 9am-maybe 2pm EST (8pm CET) +:END: + +#+begin_quote +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. +#+end_quote + +Name: Rainer König + +******* Preferred format + +Talk + +******* 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 +2017. 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. + +****** todo Lead your future with Org :standard:lightning:org:workflow:user: +:PROPERTIES: +:MAX_TIME: 20 +:MIN_TIME: 10 +:AVAILABILITY: ok +:END: + +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. + +****** todo the org-gtd package: opinions about Getting Things Done +:PROPERTIES: +:MIN_TIME: 20 +:MAX_TIME: 50 +:AVAILABILITY: ok +:END: + +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. + +****** todo One Big-ass Org File or multiple tiny ones? Finally, the End of the debate! :standard:lightning:org:user:timing: +:PROPERTIES: +:MAX_TIME: 20 +:MIN_TIME: 10 +:AVAILABILITY: 9am-12pm EST (in CET timezone)... see if 1-3pm EST (7-9pm CET) is still doable? +:END: + +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. + +***** todo Experience Report: Steps to "Emacs Hyper Notebooks" +:PROPERTIES: +:MIN_TIME: 10 +:MAX_TIME: 10 +:AVAILABILITY: ok +:END: + +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. + +***** todo Literate Programming in Emacs Org-Mode :extended:standard:org:tutorial: +:PROPERTIES: +:MAX_TIME: 50 +:MIN_TIME: 20 +:AVAILABILITY: ok +:END: + +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 -- 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. + +***** todo Org-roam: Presentation, Demonstration, and What's on the Horizon :extended:standard:org: +:PROPERTIES: +:MAX_TIME: 50 +:MIN_TIME: 20 +:AVAILABILITY: 9am-12pm EST (in CET timezone)... see if 1-3pm EST (7-9pm CET) is still doable? +:END: + +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. + +# ---------------------------------------------------------------------- + +# I am one of the co-maintainers for Org-roam. + +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: +- [[https://www.youtube.com/watch?v=3DoyEMlIxIHXs][Org-Roam v1.2.0: Headlines & Unlinked References - YouTube]] +- [[https://www.youtube.com/watch?v=3DWy9WvF5gWYg][Org-roam-bibtex - Quick Presentation - YouTube]] +- [[https://www.youtube.com/watch?v=3D1q9x2aZCJJ4][Org-roam-dailies: Demonstration - YouTube]] + +****** (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. + +***** todo Org-mode and Org-Roam for Scholars and Researchers :standard:org:nudge: +:PROPERTIES: +:MIN_TIME: 20 +:MAX_TIME: 20 +:AVAILABILITY: ok +:END: + +#+begin_quote +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. +#+end_quote + +Name: Noorah Alhasan + +****** Preferred format + +20 minutes + +****** 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. + +***** todo Moving from Jekyll to OrgMode, an experience report :timing:org: +:PROPERTIES: +:MIN_TIME: 10 +:MAX_TIME: 20 +:AVAILABILITY: 9am-5pm CET, so 9am-12pm EST; see if 7pm-9pm CET (1-3pm EST is available) +:END: + +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. + +***** todo Sharing blogs (and more) with org-webring :lightning:org:user: +:PROPERTIES: +:MAX_TIME: 10 +:MIN_TIME: 10 +:AVAILABILITY: ok +:END: + +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. + +*** Org development + +**** todo OMG Macros :org: +:PROPERTIES: +:MIN_TIME: 20 +:MAX_TIME: 20 +:AVAILABILITY: ok +:END: + +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. + +**** todo Emacs as a Highschooler: How It Changed My Life :standard:user:community:timing:nudge: +:PROPERTIES: +:MAX_TIME: 10 +:MIN_TIME: 20 +:AVAILABILITY: Sat 4pm EST onwards, Sun 11am EST onwards +:END: + +#+begin_quote +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. +#+end_quote + +Name: Pierce Wang + +***** Preferred format + +Standard Talk + +***** 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. + +*** 16:30 - 17:00 Closing remarks + +** November 29 (Sunday) :sun: + +*** 9:00 - 9:30 Opening remarks + +*** 9:30 - 12:00 Morning talks :morning: +:PROPERTIES: +:MIN_TIME_SUM: 120 +:TARGET_TIME: 120 +:DIFFERENCE: +:END: + +#+CALL: check_time() + +#+RESULTS: +| Difference | Minimum time | Target time | +| 0 | 120 | 120 | + +#+BEGIN: columnview :hlines 1 :id "talks" :format "%MIN_TIME%MAX_TIME%AVAILABILITY%20ITEM" :match "sun+morning/+todo" +| MIN_TIME | MAX_TIME | AVAILABILITY | ITEM | +|----------+----------+---------------------------------------------------------------------------------+----------------------------------------------------------------------------------------| +| 50 | 50 | GMT+7, so earlier is better (9:30 EST?). Can pre-record and answer questions. | Incremental Parsing with emacs-tree-sitter | +| 20 | 20 | Unavailable 1pm-2pm EST both days | Powering-up Special Blocks | +| 20 | 20 | 9am-12pm EST (in CET timezone)... see if 1-3pm EST (7-9pm CET) is still doable? | Org-roam: Technical Presentation | +| 20 | 50 | ok | Analyze code quality through Emacs: a smart forensics approach and the story of a hack | +| 10 | 10 | Available both days, birthday on the 28th | Traverse complex JSON structures with live feedback | +#+END: + +**** todo Incremental Parsing with emacs-tree-sitter :extended:elisp:timing: +:PROPERTIES: +:MAX_TIME: 50 +:MIN_TIME: 50 +:AVAILABILITY: GMT+7, so earlier is better (9:30 EST?). Can pre-record and answer questions. +:END: + +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. + +**** todo Powering-up Special Blocks :standard:org:elisp: +:PROPERTIES: +:MAX_TIME: 20 +:MIN_TIME: 20 +:AVAILABILITY: Unavailable 1pm-2pm EST both days +:END: + +Name: Musa Al-hassy + +***** Preferred format + +Standard talk + +***** 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. + +#+begin_example +(defblock stutter () (reps 2) + "Output the CONTENTS of the block REPS many times" + (org-parse (s-repeat reps contents))) +#+end_example + +Here is an invocation that passes an /optional/ argument; which +defaults to 2 when not given. + +#+begin_stutter :reps 5 +Emacs for the win ⌣̈ +#+end_stutter + +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 ... + - translates /some selected/ text ---useful for multilingual blogs + - hides /some selected/ text ---useful for learning, quizzes + - folds/boxes text ---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 ---``defblock'' + + Familiar ``src'' syntax for passing arguments ---e.g., ``:key + value'' + + Fine-grained control over export translation phases ---c.f., + ``org-parse'' above + + *Modular*: New blocks can be made out of existing blocks really + quickly using ``blockcall'' ---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. + +**** todo Org-roam: Technical Presentation :standard:elisp:org: +:PROPERTIES: +:MAX_TIME: 20 +:MIN_TIME: 20 +:AVAILABILITY: 9am-12pm EST (in CET timezone)... see if 1-3pm EST (7-9pm CET) is still doable? +:END: + +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. + +**** todo Analyze code quality through Emacs: a smart forensics approach and the story of a hack :extended:standard:dev: +:PROPERTIES: +:MAX_TIME: 50 +:MIN_TIME: 20 +:AVAILABILITY: ok +:END: + +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. + +**** todo Traverse complex JSON structures with live feedback :lightning:dev: +:PROPERTIES: +:MAX_TIME: 10 +:MIN_TIME: 10 +:AVAILABILITY: Available both days, birthday on the 28th +:END: + +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. + +*** 12:00 - 13:00 Lunch + +*** 13:00 - 16:30 Afternoon talks :afternoon: +:PROPERTIES: +:MIN_TIME_SUM: 170 +:TARGET_TIME: 168 +:DIFFERENCE: Needs: 2 +:END: + +#+CALL: check_time() + +#+RESULTS: +| Difference | Minimum time | Target time | +| -2 | 170 | 168 | + +#+BEGIN: columnview :hlines 1 :id "talks" :format "%MIN_TIME%MAX_TIME%AVAILABILITY%20ITEM" :match "sun+afternoon/+todo" +| MIN_TIME | MAX_TIME | AVAILABILITY | ITEM | +|----------+----------+--------------------------------+---------------------------------------------------| +| 10 | 20 | MST, so 11am-5pm EST | A tour of vterm | +| 10 | 50 | 8am-10pm CET, so 9am-3pm EST | State of Retro Gaming in Emacs | +| 50 | 50 | ok | Welcome To The Dungeon | +| 20 | 20 | ok | Pathing of Least Resistance | +| 10 | 10 | Central time, 10am EST-5pm EST | Lakota Language and Emacs | +| 20 | 20 | ok | Object Oriented Code in the Gnus Newsreader | +| 20 | 20 | afternoon if possible | Maxima a computer algebra system in Emacs | +| 20 | 20 | after 12pm EST both days | Extend Emacs to Modern GUI Applications with EAF | +| 10 | 20 | ok | WAVEing at Repetitive Repetitive Repetitive Music | +#+END: + +**** todo A tour of vterm :dev:standard:lightning:timing: +:PROPERTIES: +:MAX_TIME: 20 +:MIN_TIME: 10 +:AVAILABILITY: MST, so 11am-5pm EST +:END: + +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. + +**** todo State of Retro Gaming in Emacs :extended:lightning:elisp:nudge: +:PROPERTIES: +:MAX_TIME: 50 +:MIN_TIME: 10 +:AVAILABILITY: 8am-10pm CET, so 9am-3pm EST +:END: + +#+begin_quote +It might be good to nudge this to be a lightning talk since it's been +presented elsewhere. +#+end_quote + +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) + +***** 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 [[https://en.wikipedia.org/wiki/CHIP-8][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. + +**** todo Welcome To The Dungeon :extended:elisp: +:PROPERTIES: +:MAX_TIME: 50 +:MIN_TIME: 50 +:AVAILABILITY: ok +:END: + +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. + +**** todo Pathing of Least Resistance :standard:elisp: +:PROPERTIES: +:MAX_TIME: 20 +:MIN_TIME: 20 +:AVAILABILITY: ok +:END: + +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. + +#+begin_example + 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" +#+end_example + +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 [[https://github.com/dungeon-mode/game/blob/master/src/dm-map.el][map.el]], +especially `dm-map-draw' and helpers. A few sample game maps this can +render are available as org-mode documents in the [[https://github.com/dungeon-mode/game/blob/master/Docs/Maps][Docs/Maps]] folder. + +Those interested could compare functions between dm-map.el and +[[https://github.com/dungeon-mode/game/blob/master/src/dm-draw.el][dm-draw.el]], which is an incomplete rewrite of the "SVG rendering" +functions used only by [[https://github.com/dungeon-mode/game/blob/master/src/dm-sketch.el][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. + +**** todo Lakota Language and Emacs :lightning:elisp: +:PROPERTIES: +:MAX_TIME: 10 +:MIN_TIME: 10 +:AVAILABILITY: Central time, 10am EST-5pm EST +:END: + +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. + +**** todo Object Oriented Code in the Gnus Newsreader :standard:elisp: +:PROPERTIES: +:MAX_TIME: 20 +:MIN_TIME: 20 +:AVAILABILITY: ok +:END: + +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 -- largely borrowed +from Common Lisp -- 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. + +**** todo Maxima a computer algebra system in Emacs :standard:dev:timing: +:PROPERTIES: +:MAX_TIME: 20 +:MIN_TIME: 20 +:AVAILABILITY: afternoon if possible +:END: + +#+begin_quote +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). +#+end_quote + +Name: Fermin MF + +***** Preferred format + +20 minutes (Standard talk) + +***** 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. + +**** todo Extend Emacs to Modern GUI Applications with EAF :standard:elisp: +:PROPERTIES: +:MAX_TIME: 20 +:MIN_TIME: 20 +:AVAILABILITY: after 12pm EST both days +:END: + +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. + +**** todo WAVEing at Repetitive Repetitive Repetitive Music :standard:lightning:music:elisp: +:PROPERTIES: +:MAX_TIME: 20 +:MIN_TIME: 10 +:AVAILABILITY: ok +:END: + +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. + +*** 16:30 - 17:00 Closing remarks + +** Other + +* Code + +The following code snippet copyright "deprecated" under CC BY-SA 3.0, +from +https://emacs.stackexchange.com/questions/34561/summing-properties-across-subheadings-org-mode. + +#+NAME: check_time +#+begin_src emacs-lisp :export code :eval yes +(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"))) +#+end_src + +#+begin_src emacs-lisp +(defun my/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" + (number-to-string + (let ((total 0)) + (save-excursion + (org-map-tree + (lambda () + (let ((n (org-entry-get (point) "MIN_TIME"))) + (when (stringp n) + (setq total (+ total (string-to-number n)))))))) + total)))) +#+end_src + +* COMMENT Copyright & License + +Copyright (C) 2020 Sacha Chua, and authors of submitted proposals + +The EmacsConf 2020 submissions is part of the EmacsConf wiki, and is +dual-licensed under the terms of the Creative Commons +Attribution-ShareAlike 4.0 International Public License; and the GNU +General Public License as published by the Free Software Foundation, +either version 3 of the License, or (at your option) any later +version. + +A copy of these two licenses is available on the EmacsConf wiki, in +the [[https://emacsconf.org/COPYING.CC-BY-SA][COPYING.CC-BY-SA]] and [[https://emacsconf.org/COPYING.GPL][COPYING.GPL]] files. + +The submitted proposals are each copyright their respective author or +creator, and the additional information/material added to the file by +the EmacsConf organizers and others are copyright their respective +authors. + +* COMMENT Local variables + +# Local Variables: +# org-indent-mode: t +# org-pretty-entities: nil +# org-edit-src-content-indentation: 0 +# End: |