summaryrefslogtreecommitdiffstats
path: root/2020
diff options
context:
space:
mode:
authorSacha Chua <sacha@sachachua.com>2020-10-18 22:35:43 -0400
committerSacha Chua <sacha@sachachua.com>2020-10-18 22:35:43 -0400
commit6f077834df83db05c62cdac2d0dc616101171b90 (patch)
treeb937a211ffe761b2a3d13cb0ceaa219d4dc127c6 /2020
parent1e9881b608464af3080f7fa76b04b3fdde18ac00 (diff)
downloademacsconf-wiki-6f077834df83db05c62cdac2d0dc616101171b90.tar.xz
emacsconf-wiki-6f077834df83db05c62cdac2d0dc616101171b90.zip
Added ability to see as Org schedule
Diffstat (limited to '2020')
-rw-r--r--2020/submissions.org529
1 files changed, 292 insertions, 237 deletions
diff --git a/2020/submissions.org b/2020/submissions.org
index 40cfda48..87c5bb41 100644
--- a/2020/submissions.org
+++ b/2020/submissions.org
@@ -1,99 +1,29 @@
#+title: EmacsConf 2020 submissions
#+todo: todo(t) in-progress(i) | accepted(a) rejected(r) cancelled(c)
+#+PROPERTY: header-args :eval yes
#+options: toc:3
-#+CALL: update()
+* Actions
-* Possible rough flow suggested by Sacha
-
-#+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.
+[[elisp:(org-babel-execute-buffer)][Execute buffer]] - start with this to get the function definitions
+[[elisp:(conf/update-talks)][Update talk info]] - run this after changing talk time or order
+[[elisp:(org-agenda-list nil (org-read-date nil nil "2020-11-28") 2)][View as agenda]]
* Tables
-This code updates the minimum time.
-
-#+NAME: update
-#+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)
- (goto-char (point-min))
- (while (re-search-forward "#\\+CALL: check_time()" nil t)
- (org-ctrl-c-ctrl-c))
- (goto-char (point-min))
- (while (re-search-forward "#\\+BEGIN: columnview" nil t)
- (org-ctrl-c-ctrl-c)))
-#+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: 4 | 576 | 580 | Talks |
+| Needs: 82 | 768 | 850 | Talks |
| | | | November 28 (Saturday) |
| | | | 9:00 - 9:30 Opening remarks |
-| | 120 | 120 | 9:30 - 12:00 User talks |
+| Extra: 10 | 120 | 110 | 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 |
+| | | | 17:00 Overflow talks |
| | | | November 29 (Sunday) |
| | | | 9:00 - 9:30 Opening remarks |
| Extra: 20 | 120 | 100 | 9:30 - 12:00 Morning talks |
@@ -116,7 +46,6 @@ This code updates the minimum time.
| 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 | 10 | ok | Trivial Emacs Kits |
| 20 | 50 | PST, so maybe 11 AM EST - 5 PM EST? | Beyond Vim and Emacs: A Scalable UI Paradigm |
| 20 | 50 | After 4pm UTC - 11am-5pm EST | Building reproducible Emacs |
@@ -129,7 +58,7 @@ This code updates the minimum time.
|----------+----------+---------------------------------------------------------------------------------+------------------------------------------------------------------------------|
| 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 |
+| 20 | 50 | ok, confirmed | 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 |
@@ -157,18 +86,18 @@ This code updates the minimum time.
**** 13:00 - 16:30 Afternoon talks :afternoon:
#+BEGIN: columnview :hlines 1 :id "talks" :format "%MIN_TIME%MAX_TIME%AVAILABILITY%20ITEM" :match "sun+afternoon/!"
-| MIN_TIME | MAX_TIME | AVAILABILITY | ITEM |
-|----------+----------+--------------------------------+---------------------------------------------------|
-| 10 | 20 | Sun 12pm EST onwards | Emacs as a Highschooler: How It Changed My Life |
-| 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 | 20 | MST, so 11am-5pm EST | A tour of vterm |
-| 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 |
+| MIN_TIME | MAX_TIME | AVAILABILITY | ITEM |
+|----------+----------+----------------------------------------------------------------------------+---------------------------------------------------|
+| 10 | 20 | Sun 12pm EST onwards | Emacs as a Highschooler: How It Changed My Life |
+| 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 | 20 | MST, so 11am-5pm EST | A tour of vterm |
+| 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; confirmed available November 29, 1pm-4:30pm EST. | Extend Emacs to Modern GUI Applications with EAF |
+| 10 | 20 | ok | WAVEing at Repetitive Repetitive Repetitive Music |
#+END:
** Table for all talks
@@ -181,13 +110,12 @@ This code updates the minimum time.
| 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 | 10 | Trivial Emacs Kits | ok |
| 20 | 50 | Beyond Vim and Emacs: A Scalable UI Paradigm | PST, so maybe 11 AM EST - 5 PM EST? |
| 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 |
+| 20 | 50 | the org-gtd package: opinions about Getting Things Done | ok, confirmed |
| 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 |
@@ -197,6 +125,7 @@ This code updates the minimum time.
| 20 | 20 | Org-roam: Technical Presentation | 2:30-ish EST ok with tea; in CET timezone |
| 10 | 10 | Sharing blogs (and more) with org-webring | ok |
| 20 | 20 | OMG Macros | ok |
+| 40 | 50 | On why most of the best features in eev look like 5-minute hacks | ok |
| 20 | 20 | Powering-up Special Blocks | Unavailable 1pm-2pm EST both days |
| 50 | 50 | Incremental Parsing with emacs-tree-sitter | GMT+7, so earlier is better (9:30 EST?). Can pre-record and answer questions. |
| 20 | 50 | Analyze code quality through Emacs: a smart forensics approach and the story of a hack | ok |
@@ -209,33 +138,40 @@ This code updates the minimum time.
| 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 |
+| 20 | 20 | Extend Emacs to Modern GUI Applications with EAF | after 12pm EST both days; confirmed available November 29, 1pm-4:30pm EST. |
| 10 | 20 | WAVEing at Repetitive Repetitive Repetitive Music | ok |
#+END:
* Talks
:PROPERTIES:
:ID: talks
-:MIN_TIME_SUM: 580
-:TARGET_TIME: 576
-:DIFFERENCE: Needs: 4
+:MIN_TIME_SUM: 850
+:TARGET_TIME: 768
+:DIFFERENCE: Needs: 82
:END:
** November 28 (Saturday) :sat:
*** 9:00 - 9:30 Opening remarks
+SCHEDULED: <2020-11-28 Sat 09:00-09:30>
+:PROPERTIES:
+:FIXED_TIME: t
+:MIN_TIME: 30
+:END:
+
*** 9:30 - 12:00 User talks :morning:
+SCHEDULED: <2020-11-28 Sat 09:00-09:30>
:PROPERTIES:
:TARGET_TIME: 120
-:MIN_TIME_SUM: 120
-:DIFFERENCE:
+:MIN_TIME_SUM: 110
+:DIFFERENCE: Extra: 10
:END:
-#+CALL: check_time()
+#+CALL: check_time() :eval yes
#+RESULTS:
| Difference | Minimum time | Target time |
-| 0 | 120 | 120 |
+| 10 | 110 | 120 |
#+BEGIN: columnview :hlines 1 :id "talks" :format "%MIN_TIME%MAX_TIME%AVAILABILITY%20ITEM" :match "sat+morning/!"
| MIN_TIME | MAX_TIME | AVAILABILITY | ITEM |
@@ -245,7 +181,6 @@ This code updates the minimum time.
| 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 | 10 | ok | Trivial Emacs Kits |
| 20 | 50 | PST, so maybe 11 AM EST - 5 PM EST? | Beyond Vim and Emacs: A Scalable UI Paradigm |
| 20 | 50 | After 4pm UTC - 11am-5pm EST | Building reproducible Emacs |
@@ -254,6 +189,7 @@ This code updates the minimum time.
**** User stories
***** in-progress Emacs News Highlights :lightning:user:
+SCHEDULED: <2020-11-28 Sat 09:33-09:43>
:PROPERTIES:
:MAX_TIME: 10
:MIN_TIME: 10
@@ -301,6 +237,7 @@ sublicensable to the EmacsConf organizers or that my use of them is
fair use.
***** in-progress An Emacs Developer Story: From User to Maintainer :standard:user:community:
+SCHEDULED: <2020-11-28 Sat 09:46-10:06>
:PROPERTIES:
:MAX_TIME: 20
:MIN_TIME: 20
@@ -369,6 +306,7 @@ fair use.
**** Exploring Emacs's flexibility
***** in-progress Idea to Novel Superstructure: Emacs for Writing :standard:lightning:user:
+SCHEDULED: <2020-11-28 Sat 10:09-10:19>
:PROPERTIES:
:MAX_TIME: 20
:MIN_TIME: 10
@@ -453,6 +391,7 @@ sublicensable to the EmacsConf organizers or that my use of them is
fair use.
***** in-progress Music in Plain Text :music:user:lightning:
+SCHEDULED: <2020-11-28 Sat 10:22-10:32>
:PROPERTIES:
:MAX_TIME: 10
:MIN_TIME: 10
@@ -510,6 +449,7 @@ sublicensable to the EmacsConf organizers or that my use of them is
fair use.
***** in-progress Bard Bivou(m)acs - Building a bandcamp-like page for an album of music :music:
+SCHEDULED: <2020-11-28 Sat 10:35-10:45>
:PROPERTIES:
:MIN_TIME: 10
:MAX_TIME: 10
@@ -570,110 +510,10 @@ material owned by third parties, I represent that the material is
sublicensable to the EmacsConf organizers or that my use of them is
fair use.
-***** in-progress On why most of the best features in eev look like 5-minute hacks :extended:user:nudge:
-: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
***** in-progress Trivial Emacs Kits :lightning:config:user:beginner:
+SCHEDULED: <2020-11-28 Sat 10:48-10:58>
:PROPERTIES:
:FORMAT: Lightning talk
:MAX_TIME: 10
@@ -723,6 +563,7 @@ sublicensable to the EmacsConf organizers or that my use of them is
fair use.
***** in-progress Beyond Vim and Emacs: A Scalable UI Paradigm :nudge:
+SCHEDULED: <2020-11-28 Sat 11:01-11:21>
:PROPERTIES:
:MIN_TIME: 20
:MAX_TIME: 50
@@ -810,6 +651,7 @@ sublicensable to the EmacsConf organizers or that my use of them is
fair use.
***** in-progress Building reproducible Emacs :standard:extended:config:user:
+SCHEDULED: <2020-11-28 Sat 11:24-11:44>
:PROPERTIES:
:FORMAT: Extended preferred, standard possible
:MAX_TIME: 50
@@ -876,6 +718,11 @@ sublicensable to the EmacsConf organizers or that my use of them is
fair use.
*** 12:00 - 13:00 Lunch
+SCHEDULED: <2020-11-28 Sat 12:00-13:00>
+:PROPERTIES:
+:FIXED_TIME: t
+:MIN_TIME: 60
+:END:
*** 13:00 - 16:30 Afternoon talks :afternoon:
:PROPERTIES:
@@ -884,7 +731,7 @@ fair use.
:DIFFERENCE: Needs: 12
:END:
-#+CALL: check_time()
+#+CALL: check_time() :eval yes
#+RESULTS:
| Difference | Minimum time | Target time |
@@ -895,7 +742,7 @@ fair use.
|----------+----------+---------------------------------------------------------------------------------+------------------------------------------------------------------------------|
| 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 |
+| 20 | 50 | ok, confirmed | 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 |
@@ -910,6 +757,7 @@ fair use.
**** Org Workflows
***** in-progress Orgmode - your life in plain text :standard:tutorial:org:nudge:
+SCHEDULED: <2020-11-28 Sat 13:03-13:13>
:PROPERTIES:
:MAX_TIME: 20
:MIN_TIME: 10
@@ -989,6 +837,7 @@ sublicensable to the EmacsConf organizers or that my use of them is
fair use.
***** in-progress Lead your future with Org :standard:lightning:org:workflow:user:
+SCHEDULED: <2020-11-28 Sat 13:16-13:26>
:PROPERTIES:
:MAX_TIME: 20
:MIN_TIME: 10
@@ -1049,10 +898,11 @@ sublicensable to the EmacsConf organizers or that my use of them is
fair use.
***** in-progress the org-gtd package: opinions about Getting Things Done
+SCHEDULED: <2020-11-28 Sat 13:29-13:49>
:PROPERTIES:
:MIN_TIME: 20
:MAX_TIME: 50
-:AVAILABILITY: ok
+:AVAILABILITY: ok, confirmed
:END:
Name: Aldric
@@ -1100,6 +950,7 @@ sublicensable to the EmacsConf organizers or that my use of them is
fair use.
***** in-progress One Big-ass Org File or multiple tiny ones? Finally, the End of the debate! :standard:lightning:org:user:timing:
+SCHEDULED: <2020-11-28 Sat 13:52-14:02>
:PROPERTIES:
:MAX_TIME: 20
:MIN_TIME: 10
@@ -1170,6 +1021,7 @@ sublicensable to the EmacsConf organizers or that my use of them is
fair use.
**** in-progress Experience Report: Steps to "Emacs Hyper Notebooks"
+SCHEDULED: <2020-11-28 Sat 14:05-14:15>
:PROPERTIES:
:MIN_TIME: 10
:MAX_TIME: 10
@@ -1242,6 +1094,7 @@ sublicensable to the EmacsConf organizers or that my use of them is
fair use.
**** in-progress Literate Programming in Emacs Org-Mode :extended:standard:org:tutorial:
+SCHEDULED: <2020-11-28 Sat 14:18-14:38>
:PROPERTIES:
:MAX_TIME: 50
:MIN_TIME: 20
@@ -1314,6 +1167,7 @@ sublicensable to the EmacsConf organizers or that my use of them is
fair use.
**** in-progress Moving from Jekyll to OrgMode, an experience report :timing:org:
+SCHEDULED: <2020-11-28 Sat 14:41-14:51>
:PROPERTIES:
:MIN_TIME: 10
:MAX_TIME: 20
@@ -1372,6 +1226,7 @@ sublicensable to the EmacsConf organizers or that my use of them is
fair use.
**** in-progress Org-roam: Presentation, Demonstration, and What's on the Horizon :extended:standard:org:
+SCHEDULED: <2020-11-28 Sat 14:54-15:14>
:PROPERTIES:
:MAX_TIME: 50
:MIN_TIME: 20
@@ -1447,6 +1302,7 @@ sublicensable to the EmacsConf organizers or that my use of them is
fair use.
**** in-progress Org-mode and Org-Roam for Scholars and Researchers :standard:org:nudge:
+SCHEDULED: <2020-11-28 Sat 15:17-15:37>
:PROPERTIES:
:MIN_TIME: 20
:MAX_TIME: 20
@@ -1523,6 +1379,7 @@ sublicensable to the EmacsConf organizers or that my use of them is
fair use.
**** in-progress Org-roam: Technical Presentation :standard:elisp:org:
+SCHEDULED: <2020-11-28 Sat 15:40-16:00>
:PROPERTIES:
:MAX_TIME: 20
:MIN_TIME: 20
@@ -1603,6 +1460,7 @@ material owned by third parties, I represent that the material is
sublicensable to the EmacsConf organizers or that my use of them is
fair use.
**** in-progress Sharing blogs (and more) with org-webring :lightning:org:user:
+SCHEDULED: <2020-11-28 Sat 16:03-16:13>
:PROPERTIES:
:MAX_TIME: 10
:MIN_TIME: 10
@@ -1662,6 +1520,7 @@ sublicensable to the EmacsConf organizers or that my use of them is
fair use.
**** in-progress OMG Macros :org:
+SCHEDULED: <2020-11-28 Sat 16:16-16:36>
:PROPERTIES:
:MIN_TIME: 20
:MAX_TIME: 20
@@ -1721,10 +1580,121 @@ sublicensable to the EmacsConf organizers or that my use of them is
fair use.
*** 16:30 - 17:00 Closing remarks
+SCHEDULED: <2020-11-28 Sat 16:30-17:00>
+:PROPERTIES:
+:FIXED_TIME: t
+:MIN_TIME: 30
+:END:
+*** 17:00 Overflow talks
+**** in-progress On why most of the best features in eev look like 5-minute hacks :extended:user:nudge:prerec:
+SCHEDULED: <2020-11-28 Sat 17:03-17:43>
+:PROPERTIES:
+:MAX_TIME: 50
+:MIN_TIME: 40
+:AVAILABILITY: ok
+:PREREC: yes
+:END:
+
+#+begin_quote
+Will be pre-recorded, so we might be able to move it around in the schedule
+#+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.
** November 29 (Sunday) :sun:
*** 9:00 - 9:30 Opening remarks
+SCHEDULED: <2020-11-29 Sun 09:00-09:30>
+:PROPERTIES:
+:FIXED_TIME: t
+:MIN_TIME: 30
+:END:
*** 9:30 - 12:00 Morning talks :morning:
:PROPERTIES:
@@ -1750,6 +1720,7 @@ fair use.
**** in-progress Powering-up Special Blocks :standard:org:elisp:
+SCHEDULED: <2020-11-29 Sun 09:33-09:53>
:PROPERTIES:
:MAX_TIME: 20
:MIN_TIME: 20
@@ -1862,6 +1833,7 @@ sublicensable to the EmacsConf organizers or that my use of them is
fair use.
**** in-progress Incremental Parsing with emacs-tree-sitter :extended:elisp:timing:
+SCHEDULED: <2020-11-29 Sun 09:56-10:46>
:PROPERTIES:
:MAX_TIME: 50
:MIN_TIME: 50
@@ -1920,6 +1892,7 @@ sublicensable to the EmacsConf organizers or that my use of them is
fair use.
**** in-progress Analyze code quality through Emacs: a smart forensics approach and the story of a hack :extended:standard:dev:
+SCHEDULED: <2020-11-29 Sun 10:49-11:09>
:PROPERTIES:
:MAX_TIME: 50
:MIN_TIME: 20
@@ -1988,6 +1961,7 @@ sublicensable to the EmacsConf organizers or that my use of them is
fair use.
**** in-progress Traverse complex JSON structures with live feedback :lightning:dev:
+SCHEDULED: <2020-11-29 Sun 11:12-11:22>
:PROPERTIES:
:MAX_TIME: 10
:MIN_TIME: 10
@@ -2055,6 +2029,11 @@ sublicensable to the EmacsConf organizers or that my use of them is
fair use.
*** 12:00 - 13:00 Lunch
+SCHEDULED: <2020-11-29 Sun 12:00-13:00>
+:PROPERTIES:
+:FIXED_TIME: t
+:MIN_TIME: 60
+:END:
*** 13:00 - 16:30 Afternoon talks :afternoon:
:PROPERTIES:
@@ -2069,22 +2048,24 @@ fair use.
| Difference | Minimum time | Target time |
| -12 | 180 | 168 |
+
#+BEGIN: columnview :hlines 1 :id "talks" :format "%MIN_TIME%MAX_TIME%AVAILABILITY%20ITEM" :match "sun+afternoon/!"
-| MIN_TIME | MAX_TIME | AVAILABILITY | ITEM |
-|----------+----------+--------------------------------+---------------------------------------------------|
-| 10 | 20 | Sun 12pm EST onwards | Emacs as a Highschooler: How It Changed My Life |
-| 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 | 20 | MST, so 11am-5pm EST | A tour of vterm |
-| 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 |
+| MIN_TIME | MAX_TIME | AVAILABILITY | ITEM |
+|----------+----------+----------------------------------------------------------------------------+---------------------------------------------------|
+| 10 | 20 | Sun 12pm EST onwards | Emacs as a Highschooler: How It Changed My Life |
+| 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 | 20 | MST, so 11am-5pm EST | A tour of vterm |
+| 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; confirmed available November 29, 1pm-4:30pm EST. | Extend Emacs to Modern GUI Applications with EAF |
+| 10 | 20 | ok | WAVEing at Repetitive Repetitive Repetitive Music |
#+END:
**** in-progress Emacs as a Highschooler: How It Changed My Life :standard:user:community:timing:nudge:
+SCHEDULED: <2020-11-29 Sun 13:03-13:13>
:PROPERTIES:
:MAX_TIME: 20
:MIN_TIME: 10
@@ -2154,6 +2135,7 @@ sublicensable to the EmacsConf organizers or that my use of them is
fair use.
**** in-progress State of Retro Gaming in Emacs :extended:lightning:elisp:nudge:
+SCHEDULED: <2020-11-29 Sun 13:16-13:26>
:PROPERTIES:
:MAX_TIME: 50
:MIN_TIME: 10
@@ -2218,6 +2200,7 @@ sublicensable to the EmacsConf organizers or that my use of them is
fair use.
**** in-progress Welcome To The Dungeon :extended:elisp:
+SCHEDULED: <2020-11-29 Sun 13:29-14:19>
:PROPERTIES:
:MAX_TIME: 50
:MIN_TIME: 50
@@ -2286,6 +2269,7 @@ sublicensable to the EmacsConf organizers or that my use of them is
fair use.
**** in-progress Pathing of Least Resistance :standard:elisp:
+SCHEDULED: <2020-11-29 Sun 14:22-14:42>
:PROPERTIES:
:MAX_TIME: 20
:MIN_TIME: 20
@@ -2397,6 +2381,7 @@ sublicensable to the EmacsConf organizers or that my use of them is
fair use.
**** in-progress A tour of vterm :dev:standard:lightning:timing:
+SCHEDULED: <2020-11-29 Sun 14:45-14:55>
:PROPERTIES:
:MAX_TIME: 20
:MIN_TIME: 10
@@ -2451,6 +2436,7 @@ material owned by third parties, I represent that the material is
sublicensable to the EmacsConf organizers or that my use of them is
fair use.
**** in-progress Lakota Language and Emacs :lightning:elisp:
+SCHEDULED: <2020-11-29 Sun 14:58-15:08>
:PROPERTIES:
:MAX_TIME: 10
:MIN_TIME: 10
@@ -2522,6 +2508,7 @@ sublicensable to the EmacsConf organizers or that my use of them is
fair use.
**** in-progress Object Oriented Code in the Gnus Newsreader :standard:elisp:
+SCHEDULED: <2020-11-29 Sun 15:11-15:31>
:PROPERTIES:
:MAX_TIME: 20
:MIN_TIME: 20
@@ -2584,6 +2571,7 @@ sublicensable to the EmacsConf organizers or that my use of them is
fair use.
**** in-progress Maxima a computer algebra system in Emacs :standard:dev:timing:
+SCHEDULED: <2020-11-29 Sun 15:34-15:54>
:PROPERTIES:
:MAX_TIME: 20
:MIN_TIME: 20
@@ -2643,10 +2631,11 @@ sublicensable to the EmacsConf organizers or that my use of them is
fair use.
**** in-progress Extend Emacs to Modern GUI Applications with EAF :standard:elisp:
+SCHEDULED: <2020-11-29 Sun 15:57-16:17>
:PROPERTIES:
:MAX_TIME: 20
:MIN_TIME: 20
-:AVAILABILITY: after 12pm EST both days
+:AVAILABILITY: after 12pm EST both days; confirmed available November 29, 1pm-4:30pm EST.
:END:
Name: Matthew Zeng
@@ -2694,6 +2683,7 @@ sublicensable to the EmacsConf organizers or that my use of them is
fair use.
**** in-progress WAVEing at Repetitive Repetitive Repetitive Music :standard:lightning:music:elisp:
+SCHEDULED: <2020-11-29 Sun 16:20-16:30>
:PROPERTIES:
:MAX_TIME: 20
:MIN_TIME: 10
@@ -2752,6 +2742,11 @@ sublicensable to the EmacsConf organizers or that my use of them is
fair use.
*** 16:30 - 17:00 Closing remarks
+SCHEDULED: <2020-11-29 Sun 16:30-17:00>
+:PROPERTIES:
+:FIXED_TIME: t
+:MIN_TIME: 30
+:END:
* Withdrawn
@@ -2814,12 +2809,8 @@ fair use.
* 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
+#+begin_src emacs-lisp :export code :eval no
(list (list "Difference" "Minimum time" "Target time")
(list
(- (string-to-number (org-entry-get (point) "TARGET_TIME"))
@@ -2828,21 +2819,69 @@ https://emacs.stackexchange.com/questions/34561/summing-properties-across-subhea
(org-entry-get (point) "TARGET_TIME")))
#+end_src
-#+begin_src emacs-lisp
-(defun my/org-sum-min-time-in-subtree ()
+#+begin_src emacs-lisp :results none
+(defun conf/update-talks ()
+ (interactive)
+ (save-excursion
+ (conf/update-times)
+ (conf/update-tables)
+ (conf/update-schedules)))
+
+(defun conf/update-times ()
+ (goto-char (point-min))
+ (org-map-entries
+ (lambda ()
+ (when (org-entry-get (point) "TARGET_TIME")
+ (conf/org-sum-min-time-in-subtree)
+ (org-entry-put
+ (point)
+ "DIFFERENCE"
+ (let ((diff
+ (-
+ (string-to-number (org-entry-get (point) "TARGET_TIME"))
+ (string-to-number (org-entry-get (point) "MIN_TIME_SUM")))))
+ (cond
+ ((> diff 0) (format "Extra: %d" diff))
+ ((< diff 0) (format "Needs: %d" (- diff)))
+ (t "")))))) nil 'file))
+(defun conf/update-tables ()
+ (goto-char (point-min))
+ (while (re-search-forward "#\\+CALL: check_time()" nil t)
+ (org-ctrl-c-ctrl-c))
+ (goto-char (point-min))
+ (while (re-search-forward "#\\+BEGIN: columnview" nil t)
+ (org-ctrl-c-ctrl-c)))
+(defun conf/update-schedules ()
+ (interactive)
+ (goto-char (org-find-exact-headline-in-buffer "Talks"))
+ (let (current-time scheduled end-time duration (buffer (seconds-to-time (* 3 60)))) ;; assumption: 3 minutes between talks
+ (org-map-entries (lambda ()
+ (if (org-entry-get (point) "FIXED_TIME")
+ (setq current-time (org-get-scheduled-time (point))))
+ (when (org-entry-get (point) "MIN_TIME")
+ (setq duration (* (string-to-number (org-entry-get (point) "MIN_TIME")) 60)
+ end-time (time-add current-time (seconds-to-time duration)))
+ (org-set-property "SCHEDULED" (format "%s-%s" (org-format-time-string "%Y-%m-%d %H:%M" current-time)
+ (org-format-time-string "%H:%M" end-time)))
+ (setq current-time (time-add end-time buffer))))
+ nil 'tree)))
+
+(defun conf/org-sum-min-time-in-subtree ()
"Add up all the MIN_TIME properties of headings underneath the current one
The total is written to the MIN_TIME_SUM property of this heading"
(interactive)
- (org-entry-put (point) "MIN_TIME_SUM"
- (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))))
+ (org-entry-put
+ (point)
+ "MIN_TIME_SUM"
+ (save-excursion
+ (format "%d"
+ (apply
+ '+
+ (mapcar 'string-to-number
+ (delq nil
+ (org-map-entries
+ (lambda () (org-entry-get (point) "MIN_TIME")) nil 'tree))))))))
+
#+end_src
* COMMENT Copyright & License
@@ -2864,6 +2903,22 @@ creator, and the additional information/material added to the file by
the EmacsConf organizers and others are copyright their respective
authors.
+* COMMENT Possible rough flow suggested by Sacha
+
+#+begin_src emacs-lisp :exports both
+(let* ((available-minutes (* 2 ; two days
+ (- (- 17 9) ; 9 to 5
+ ) ; 30 minutes opening stuff, 1 hour for lunch, 30 minutes closing stuff
+ 60 ; minutes
+ )))
+ `(("80% of capacity" ,(* .8 available-minutes))
+ ("90% of capacity" ,(* .9 available-minutes))))
+#+end_src
+
+#+RESULTS:
+| 80% of capacity | -768.0 |
+| 90% of capacity | -864.0 |
+
* COMMENT Local variables
# Local Variables: