On September 11 2019, there was a community-driven Emacs Org mode event in San Francisco called "All Things Org Mode". Luckily, it got recorded and published. The four speakers were:
- John Wiegley: how he is using Org mode in his daily life
- Tikhon Jelvis: how to produce nice HTML presentations via org-reveal
- Jeff Trull: some helpful findings on babel
- John Kitchin: writing scientific documents
- Professor at Kitchin Research Group of CMU (Chemistry)
- GitHub, Twitter,
- also likes Python
I spent many hours with this one hour and 45 minute video. I took notes, did research on things I did not know so far and learned really a lot from it.
If you are interested in Org mode, you want to watch it. Even if you're not an Emacs person, you want to see at least the writing scientific paper part of John in order to get an impression how awesome the Emacs environment could be as a universal tool for generating digital things.
Here are my notes on most important findings, in case you want to go through them. For most readers, my notes are probably not relevant at all:
John Wiegley
- 1:11 Most of the time being in Agenda
- he's got only a handful of agenda items on a day
- each heading has an
:ID:
generated (see explanations in Q&A) - 1:35 keyword PROJECT = larger tasks with optional subtasks
- 2:10 refiling to projects only wherever the corresponding file is
- he is not thinking in files, he thinks in projects
- 2:45
M-m
is capture shortcut- re-bound
back-to-indentation
for this purpose - task: into a special project "Inbox" in todo.org
- he is refiling from there
- re-bound
- 4:25 a button on his iwatch records speech, transforms into text,
sends it to iCloud
- manual command imports it to inbox (see Q&A)
- 4:50 he usually captures ~30 items/day
- 6:20 On Saturdays or Sundays: he's got time for reviewing tasks of projects
- 7:10
org-sort-all
bring headings in order- probably 1x/month going through all files + review "Do I still care about this?"
- keyword DEFERRED: I don't want to delete the idea but I also don want to see it in my lists
- 7:40 keyword SOMEDAY: is even less important than
DEFERRED
- these are rainy day tasks, maybe 6-12 months from now
- if he gets incredible rich, these could be done
- keyword TODO: will be scheduled on weekends for next week
- 8:45 he gets done ~3-4 tasks/day or even only 10% of the assigned tasks a day → over-commitment
- 9:00 "If I over-commit enough, my under-delivery produces what I want my future self to be doing"
- 9:30 Picking a few jucy things & schedule for the next days
- 9:40 scheduling: maybe not doing that day but bringing it back to my mind
- 9:50 Pair programming is the most effective way of getting things done
- 10:20
C-c a a
→ agenda- "Review tasks" as habit visible: probably scheduled with +14d with average delay of 3-5 days
- 10:40 if agenda is down to 7 or less, he might get done 1-2 on a day
- 10:55 everything undone a day will be re-scheduled for
future
- 1-2 tasks a day is considered a success
- 11:30 question: SCHEDULED vs. DEADLINE
- DEADLINE adds "D02" in agenda
- DEADLINE: "I can't move the date" → commitment for or depending on someone else
- 12:35 Priorities
- Prio A: "if not done on scheduled day, something bad happens or somebody is angry with me"
- Prio B: "I want to do it that day. If not done, doesn't matter."
- Prio C: "totally OK if not done on that day"
- 13:10
f
= re-schedule +1d to future- he does bulk-re-schedule all the time
- usually he accumulates Mo-Fr
- sometimes he declares Org bankruptcy → this is a
cycle
- bankruptcy: re-scheduling most tasks or re-considering priorities
- Org becomes effective again after going through tasks and limit todos.
- he does bulk-re-schedule all the time
- 14:35
C=c a m
: agenda with first todo of each project- this is a "next action" overview for most cases
- 14:55 this is not always true because he does not always order the tasks properly
- it's always too long
- "this presentation only shows 1 of my 5 org files"
- each Org mode file agenda entry has its own background color
- this is a "next action" overview for most cases
- 15:35 tag HOT for projects:
C-a H
→ agenda with HOT projects- HOT projects: the live projects he is working on
- 16:05:
C=a h
→ next action agenda for HOT projects- this is the most valuable list of actions
- 16:30
C-c C-c
→ quickly adding note to a task- note is between heading and SCHEDULED/PROPERTIES
- 17:50 he used more visual todo apps before
- 18:10 Clocking in: "Don't do this for personal
stuff"
- to give himself a sense of how much time he spent, even though this is not basis of any money calculation
- 18:50 his meter is in the mode line:
- red, as long as he is behind the usual working hours of the day
- see Q&A for details
- 20:30 explanation about habits and their roots
- 22:20 Q&A begins
- 22:20 explanation on capture tool with iPhone app "Drafts"
- 25:20 GNUS capture
- 26:00 he had capture for Firefox using AppleScript which stopped working due to Firefox change
- 26:55 explanation on UUIDs
- notes stored in notes.org (27:40) → IDs only used to link to headings
- (probably mentioned somewhere else: he could think of stopping UUIDs because he's not using them that often but they are generated automatically, so he doesn't care.)
- 28:40 Statistics: he is using Org mode since 2007
- 12440 tasks handled in 4380 days
- (NOTE: mine are 23595 since 2011 :-O)
- 29:14 his working hour meter
- external script
org2tc
- works with
ledger
- time-clock files
- external script
- keywords so far: TODO, STARTED, DELEGATED, PROJECT, DONE
- clocking statistics report
- 32:55 summarizing from multiple org files
- 33:35 his list of 6 org files
- surprisingly short list of Org mode files
- 33:35 his list of 6 org files
- 35:00 "Do you use journal?"
- he did, but he stopped a while ago
- 35:45 Tags are being used for context
:Errand:
→ requires a trip- also for giving this talk
- he uses tags to filter the agenda
:Net:
→ requires Internet connection resource:Call:
→ requires phone resource:Reply:
→ he needs to give an answer in contrast of doing something- tags for people
- 37:15 auto-contexting
/ RET
→ checks for host, time, …- during reviews he tags all tasks
- (NOTE: could not find anything about this magic)
- 38:20 question about visual noise in Org mode
- 40:45 how he is using babel
- 41:28 he is using org-beamer
- 44:40 jira-integration: similar to my own approach for previous company
- 47:00 abandoned org workflows
- 48:45 devices involved
- desktop at home and notebook
- script
pushme
syncs data - Nix helps system settings
- Second Emacs is running just for IRC
- he doesn't want to interfere IRC with other windows
- 51:10 Coq → he'd spend his time with it if he'd become rich
- 52:40 how to start with Org mode
- 55:50
org-extend-today-until
- 56:50 End
Tikhon Jelvis
This is not as detailed as above and mainly refers to my own research afterwards:
- reveal exports to PDF?
Presentations can be exported to PDF via a special print stylesheet. This feature requires that you use Google Chrome or Chromium and to be serving the presentation from a web server. Here's an example of an exported presentation that's been uploaded to SlideShare: http://www.slideshare.net/hakimel/revealjs-300. [...]
- full-screen fill with image
- examples
with specific
slide-deck
- I could not re-produce his slides from his Git repo
- examples
with specific
slide-deck
Basically, it has to look like this:
** [[./img/sat-graf.png]]
- open questions
- Do I need to scale image file manually?
- How to reproduce his results?
- Slides without title are empty headings.
Jeff Trull
This is even less detailed since for me, babel was nothing new. Nevertheless, there were some new things to me as well:
- 1:07:10 Begin
- 1:09:15
:preamble "..."
may contain code!- not visible in export but it is executed
- 1:10:30 input from lists and tables
- 1:11:30 noweb code snippets
- 1:13:00
C-c C-v v
→ show code that's executed for debugging
John Kitchin
Well, this is an eye-opener for any researcher writing scientific papers. Especially if you do like reproducible research, you're going to love it.
- 1:18:00 start
- ~30 papers written in Org mode
- invented tools to make it easier to publish papers using Org mode
- agenda
scimax
https://github.com/jkitchin/scimaxox-manuscript
- 1:19:30 adapt Org→LaTeX→PDF process to meet template requirements of publishers
- 1:20:07 scrolling through the set of available templates
org-ref
https://github.com/jkitchin/org-ref- 1:21:10 created for citations
- 1:22:00
C-c ]
→ interactive citing- multiple citations: comma is added automatically
- custom links with colors
- 1:22:35 hover with tooltip with more details
- 1:22:44 clicking on link shows hydra menu with actions for citations
- 1:23:00 emailing a BibTeX entry + PDF
- opens PDF
- editing the bib entry
- color highlighting turns red if it is not a key within the bibtex file
- 1:24:20 references to sections
C-u C-u C-c ]
→ insert label for a section- creating links to section labels + different color highlighting
- 1:25:30 Emacs crash ;-)
- Glad that this also happens (rarely) to him as well
- 1:25:10 he mentions necessary caching for efficient handling of thousands of entries
- 1:26:40
F12
hydra for many things- he's demoing jumping to his journal of the day
- 1:28:00 context hover info for references
- 1:28:10 inline python for figures
- 1:29:00 docstring for python commands
- 1:29:30 publishers demand EPS instead of PNG
- also creating standalone bibliography
- embedding all bibtex entries into final LaTeX document
ob-ipython
- see above
scimax-editmarks
- 1:31:30 non-standard markup to generate PDF notes
- indication of deleted words
- 1:32:50 tracking changes
- 1:33:10 accept proposed changed by shortcut
- 1:33:35 generate list of marks
- 1:34:10 start of Q&A
- 1:34:25 journal publishers and their accepted formats
- 1:34:45
C-c C-e
menu visible with customized export formats - 1:36:00 he generates the LaTeX file containing the EPS links and the inline bibliography
- 1:36:45 showing the final PDF with the todo list of the marks + marks in the document
- 1:38:20 showing the final LaTeX file for submission
- 1:39:40 searching in his Org mode database to look for a specific manuscript
- 1:41:00 showing reproducible research sources for figures in the supporting information file
- 1:42:00 showing the PDF results for the journal article and the supporting information file
- 1:42:20 embedding data files in PDF file from within Org mode
- 1:34:45
- 1:43:34
ob-ipython
extensions by him- reference to his YouTube channel
- 1:45:00 end
Thanks
Thanks to all the speakers and the organizers!