CLOSED: [2019-10-26 Sat 14:29] SCHEDULED: <2019-10-26 Sat> :PROPERTIES: :CREATED: [2019-10-26 Sat 12:54] :ID: 2019-10-26-all-things-org :END: :LOGBOOK: - State "DONE" from "STARTED" [2019-10-26 Sat 14:29] :END: On September 11 2019, there was a community-driven [[id:tags-emacs][Emacs]] [[id:2018-01-26-orgmode][Org mode]] event in San Francisco called "All Things Org Mode". Luckily, [[https://www.youtube.com/watch?v=31gwvApo8zg][it got recorded and published]]. The four speakers were: 1. John Wiegley: how he is using Org mode in his daily life - [[https://github.com/jwiegley][GitHub]], [[https://twitter.com/jwiegley?lang=en][Twitter]], [[https://www.linkedin.com/in/jwiegley][linkedin]], [[http://newartisans.com/][website]] - Emacs maintainer: [[https://sachachua.com/blog/2015/12/2015-12-10-emacs-chat-john-wiegley-maintaining-emacs-can-help/][Emacs Chat]], [[https://www.reddit.com/r/emacs/comments/8ec55d/emacs_maintainers_how_much_time_do_you_put_into/][reddit]], [[https://news.ycombinator.com/item?id=10381914][hacker news]] - also likes [[https://en.wikipedia.org/wiki/Coq][Coq]], [[https://en.wikipedia.org/wiki/Haskell_(programming_language)][Haskell]], [[https://en.wikipedia.org/wiki/Nix_package_manager][Nix]], [[https://en.wikipedia.org/wiki/Ledger_(software)][Ledger]], ... 2. Tikhon Jelvis: how to produce nice HTML presentations via [[https://github.com/yjwen/org-reveal][org-reveal]] - [[http://jelv.is/][website]], [[https://github.com/TikhonJelvis][GitHub]], [[https://twitter.com/tikhonjelvis?lang=en][Twitter]], [[https://www.linkedin.com/in/tikhon-jelvis][linkedin]] - also likes [[https://www.haskellers.com/user/tikhon][Haskell]] 3. Jeff Trull: some helpful findings on [[https://orgmode.org/worg/org-contrib/babel/][babel]] 4. John Kitchin: writing scientific documents - [[https://www.cmu.edu/cheme/people/faculty/john-kitchin.html][Professor]] at [[https://kitchingroup.cheme.cmu.edu/][Kitchin Research Group]] of [[https://www.cmu.edu/][CMU]] (Chemistry) - [[https://github.com/jkitchin][GitHub]], [[https://twitter.com/johnkitchin][Twitter]], - also likes Python #+BEGIN_EXPORT HTML #+END_EXPORT 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 - 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. - 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* - 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 "[[https://getdrafts.com/][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 - 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 - 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 - [[https://en.wikipedia.org/wiki/Nix_package_manager][Nix]] helps system settings - Second Emacs is running just for IRC - he doesn't want to interfere IRC with other windows - 51:10 [[https://en.wikipedia.org/wiki/Coq][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? - https://github.com/hakimel/reveal.js#pdf-export #+BEGIN_QUOTE 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. [...] #+END_QUOTE - full-screen fill with image - [[https://github.com/TikhonJelvis/talks/tree/master/bob-2019][examples]] with [[https://raw.githubusercontent.com/TikhonJelvis/talks/master/bob-2019/slides.org][specific slide-deck]] - I could not re-produce his slides from his Git repo 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 [[https://en.wikipedia.org/wiki/Noweb][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 [[https://en.wikipedia.org/wiki/Reproducibility#Reproducible_research][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 1. =scimax= https://github.com/jkitchin/scimax 2. =ox-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 3. =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 [[https://github.com/abo-abo/hydra][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 4. =ob-ipython= - see above 5. =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: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!