summaryrefslogtreecommitdiffstats
path: root/2024/talks/project.md
blob: 826294a9c1a8827d71fa40180c95e1d112e4d8b0 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
[[!meta title="Managing writing project metadata with org-mode"]]
[[!meta copyright="Copyright © 2024 Blaine Mooers"]]
[[!inline pages="internal(2024/info/project-nav)" raw="yes"]]

<!-- Initially generated with emacsconf-publish-talk-page and then left alone for manual editing -->
<!-- You can manually edit this file to update the abstract, add links, etc. --->


# Managing writing project metadata with org-mode
Blaine Mooers (he/him) - Pronunciation: Blane Moors, <mailto:blaine-mooers@ouhsc.edu>

[[!inline pages="internal(2024/info/project-before)" raw="yes"]]

The planning and writing of a scientific manuscript is an intricate process that requires focused effort.
Scientists must make many decisions about what to include and exclude from the paper, often capturing these decisions in notes in the margins, appended notes, or external files.
This ad hoc approach becomes unmanageable when the notes exceed the length of the manuscript, which is often the case.
Nonetheless, these notes can be vital when responding to reviewers' critiques.

Great scientists like Linus Pauling effectively utilized laboratory notebooks to store metadata on his manuscripts.
His cross-referencing system resembled that of Niklas Luhmann in his physical zettelkasten.
These paper-based approaches have pros and cons, but they are no longer popular because of the hard work required to make them work well.
In comparison, the org-roam-ui view of my zettelkasten provides a garden of endlessly forking paths I can wander in all day.

I sought a more focused approach to managing my attention and the metadata for one writing project.
I developed a project-specific writing log for this purpose about a decade ago.
The writing log helps me manage anxieties about forgetting where I left off on an interrupted project (Fear of Forgetting, FoF).
In this talk, I will highlight the features of my writing log template in org-mode.

The first section supports gathering the initial thoughts about the project needed to assemble a central hypothesis around which to build the paper.
Subsections support listing the experiments required to address the central hypothesis and the key discussion points.
These subsections include plans for graphical items like images, data plots, tables, equations, and code blocks.
Of course, this section will evolve as the results accumulate.
When largely completed, this section supports drafting a quarter to a third of a manuscript on day one of the project.

The following two sections support project administration and assessment.
The administration section includes plans to apply for funding and approvals for the work.
The assessment section supports periodic checks of the project's current state, what holds the manuscript from submission today, and what is missing that makes a larger impact.
This section includes a timeline and milestones to finish the project promptly.
These can be displayed in tables that org-mode so strongly supports.

The central section of the template contains daily accounts of accomplishments, decisions, and correspondence about the project.
I read this section after a hiatus to resume work on the project quickly.
An open-ended to-do list and a section for collecting ideas for future projects follow the daily log.
The last section contains protocols and guidelines for the various tasks involved in completing the project.

Here, context switching between the writing log and the manuscript is fine because it usually happens only at the beginning and the end of the writing session. My project-specific approach keeps my mind focused on the project at hand and my FoF under control.
I share my writing log template in org-mode on GitHub.

About the speaker:

Blaine Mooers is an associate professor of Biochemistry and Physiology at the University of Oklahoma.
He uses X-ray diffraction to study the molecular structure of proteins and RNAs important in disease.
He writes grant applications, progress reports, manuscripts, lectures, seminars, and talks each year in Emacs.
To control his fear of forgetting (FoF), he uses an external document, the **writing log**, to store metadata about each writing project.
He switched from using LaTeX to Org-mode recently.
He will discuss the features of the writing log and the joys of editing it in Org-mode.


# Discussion

## Questions and answers

-   Q: what does 0573 means in your init. file name?
    -   A: Index number used to \"name\"/ describe a project.  My
        project folders in my home directory are of the format
        ####stubOfTheProjectsFullName. Maybe i will describe my project
        numbering system in a future talk. It helps enormously in
        navigating between projects and stayting organized. I store the
        project ID number and the folder name in a sqlite database that
        I pop open with a bash alias to the DB Browser for SQlite. I
        also use the Project ID to track time spent on each project to
        the nearest 15 minues increment. I do this time tracking once
        every several hours 2-4 times a day. If I cannot remember what I
        was doing, nothing is recorded. This is important for keeping
        the data accurate. This practive is a pain but the data are
        valuable for self-assessments and annual reports.
-   Q: \<gringo\> What does Zettelkasten mean?
    -   A: \<vidianos\> It\'s a notetaking method \<Neil\>Useful
        overview at
        [https://zettelkasten.de/introduction/](https://zettelkasten.de/introduction/)
    -   A: Pls cf.
        [https://en.wikipedia.org/wiki/Zettelkasten](https://en.wikipedia.org/wiki/Zettelkasten)
        An augmented org-roam is found in the zetteldesk.el project by
        Vidianos
        [https://github.com/Vidianos-Giannitsis/zetteldesk.el](https://github.com/Vidianos-Giannitsis/zetteldesk.el).
        See  his talk from EmacsConf 2022[https://www.youtube.com/watch?v=dJ859kiFRLg&t=0s](https://www.youtube.com/watch?v=dJ859kiFRLg&t=0s)
    -   A: A great resource is Sönke Ahrens\'s \"How to Take Smart
        Notes\" (to get you thinking about the progressive evolution of
        your note taking; and a solid walk through of Zettlekasten in
        practice/implementation) . There also is a German edition of the
        book, it\'s called: \"Das Zettelkasten-Prinzip\". The book
        \"Antinet Zettelkasten\" by Scott Scheper clarifies several
        misconceptions about the Zettelkasten Method (see chapter 3). He
        spent months replicating the analog version that Luhman used and
        gained a number of important insights. I have seen the method
        applied in ways that were never intended. I think that these
        vairant approaches are innovative and can enhance productivity,
        but they can cause some confusion. The ultimate source is the
        [https://niklas-luhmann-archiv.de/](https://niklas-luhmann-archiv.de/).
    -   Smart notes are linked to one another. They make up a kind of
        hypertext, similar to a wiki, as a whole.
    -   Org-Roam and Denote are two implementations that can support the
        slipcase; backlinks are important (and also/perhaps a
        consideration of the hierarchy)
-   Q: How many papers are you writing at the same time?
    -   A: Working on 10--15/y, publishing 1--8/y
    -   On a given day, 2 papers/day usually, sometimes up to 5
        papers/day
-   Q: How you capture those ideas when when you are away from Emacs?+3
    -   A: Digital recorder for recording thoughts, especially during
        daily commute. I also mentioned caputing thoughts in
        750words.com. I was an early user (May 2012) and was
        grandfathered in with a free subscription for life. This is why
        I am reluctant to give it up. I started learning to use Emacs
        in 2000. I have not yet moved all of my workflow to Emacs, but I
        am getting there. The other site that I use when I exceed the
        5000 word limit at 750words.com is WriteHoney
        [https://app.writehoney.com/write](https://app.writehoney.com/write).
    -   Whisper AI to transcribe the recordings. See this site for the
        post transcription scripts that I apply to clean up the text
        before I see the trasncript:
        [https://github.com/MooersLab/bash-whisper-transcription](https://github.com/MooersLab/bash-whisper-transcription).
        I also jot down notes but not so much after I started using the
        digitial voice recorder (DVR). Dragging the audo file to the
        folder where I do the transcriptions does take a wee bit of time
        so I try to be judicious about selecting when I turn on the DVR.
        I should probably write a Elisp function to transcribe the audio
        recording from the DVR, save the transcript, and delete the
        audio recording so that I can streamline this process. There is
        alawys a way to do things more efficiently with Emacs!
		- sachac: oooh, I can recommend getting an inexpensive lapel mic if you don't already have one. I'm also experimenting with using keywords to organize my audio braindumps.	
-   Q: What if an ideas does not belong to any current working manuscript?
    -   A: Sandbox area in a log file. The Sandbox area is called
        \"Future additions and tangents\" in the template log file and
        is also used to draft sections of the paper that I am uncertain
        that I will retain.
    -   If not related, kept in an external diary
-   Q: It looks like you have daily log per project, what do you think
    about just using single daily notes and cross referencing different
    projects?
    -   A: I have \> 800 projects per year in 10 categories. Several
        years ago, I made org files for each category with 1000
        headlines, but this proved to be too unwieldy for me at the time
        as a noivice org-mode user. The log files for the manuscript
        projects wind up with 50-100 pages of content each so the
        single-threaded nature of Emacs hampers scrolling through such
        huge org files. In addition, I want to keep all other projects
        out of sight and mind while focused on the project at hand.
-   Q: \<gringo\> If there were one habit from your process (referencing your extensive flow chart) that you want active learners/professional researchers to adopt, which would it be and why?
    -   Keeping a daily diary is essential for overcoming the fears of
        forgetting and losing momentum. These fears are the maiin
        barriers to switching between projects on a given day. The
        in-grained preference is to do binge writing, which I still
        succumb to doing sometimes, but I am trying to avoid binge
        writing with this system.
-   Q: \<gs-101\> I see that you use checkboxes for tasks. Did you know
    you can format headings to support tracking them? Like this: TODO
    Heading \[0/4\]
    -   A: Yes, I convert some of my most important todo items into
        \*\*\* TODO headline to be picked up by arg agenda. I add the
        writing-project log file to the list of org files that org
        agenda searches. I use a Elisp function to add new \*\*\*TODO
        items to the list when they come to mind. I will post this
        function shortly on the AAAreadme of
        [https://github.com/MooersLab/writingLogTemplateInOrg](https://github.com/MooersLab/writingLogTemplateInOrg).
        This eliminates the need to refile the idea, which I am too
        undisciplined to do.
-   Q: I actually love this one! But it creates as much separated log as
    there is project. You limit yourself to work only on how many
    project per day? How do you explore them back (if you ever)?  I
    assume your org files is growing exponantially over time. You said
    about \"valuable when receiving critiques?\" (Donovan)  
-   A: Thank you for the opportunity to make clarifications. I try to
    work on two writing projects a day on average terms of doing
    generative writing tasks. Yes, there is one writing-project log file
    per project. They tend to grow to a length of 50-100 pages by the
    time the paper is published. Because of the ability to fold
    sections, I have not run into trouble with the longer lengths.  I
    use the template on GitHub to start the log file for a new writing
    probject. I could consider retaining a log file for a sequel paper
    to retain the history of decisions made in the first paper but I
    would duplicate it and rename the copy with the new project number.
    I will go through an old log file for a published paper from years
    ago to recover details on how I carried out certain procedures. The
    history of decisions in the daily log is invaluable for responding
    to probing questions by reviewers about why we decided to do certain
    procedures.
-   \<\_viz\> Q: Sorry, not really related to the talk\'s topic but can
    you share the pymol project that shown in the writing log slide
    earlier in the talk? I am interested in the paper/project.
    -   A: Thank you for your interest on the PyMOL project. I have not
        published that particular project yet, but a number of related
        PyMOL projects are on my GitHub site. The most popular is
        MooersLab/PyMOLshortcuts
        [https://github.com/MooersLab/pymolshortcuts](https://github.com/MooersLab/pymolshortcuts).
        The associated paper is here
        [https://onlinelibrary.wiley.com/doi/10.1002/pro.3781](https://onlinelibrary.wiley.com/doi/10.1002/pro.3781).
        I have run PyMOL in Jupyter
        [https://github.com/MooersLab/jupyterlabpymolpysnips](https://github.com/MooersLab/jupyterlabpymolpysnips) 
        [https://pubmed.ncbi.nlm.nih.gov/33967632/](https://pubmed.ncbi.nlm.nih.gov/33967632/)
        ,  Colab  
        [https://github.com/MooersLab/colabOpenSourcePyMOLpySnips](https://github.com/MooersLab/colabOpenSourcePyMOLpySnips) 
        [https://proceedings.scipy.org/articles/majora-1b6fd038-002](https://proceedings.scipy.org/articles/majora-1b6fd038-002),
        RStudio 
        [https://github.com/MooersLab/rstudiopymolpysnips](https://github.com/MooersLab/rstudiopymolpysnips),
        and Org-mode
        [https://github.com/MooersLab/orgpymolpysnips](https://github.com/MooersLab/orgpymolpysnips).
        I gave a talk about the later at emacsconf 2021
        [https://emacsconf.org/2021/talks/molecular/](https://emacsconf.org/2021/talks/molecular/)-   \<jsiegel62\> Q: Have you tweaked your Emacs configuration at all
    \-- with cus keybindings, etc \-- to support the process you
    demonstrated? Thank for the good question because my talk was
    focused on a template org document. I use org-ref heavily. I use it
    to add Bibtex entries, download PDFs of research articles by their
    DOIs, and rename them with the citekey. I made several Elisp
    functions that do minor tasks to support my worflow. I will post
    them github. 
-   \<PlasmaStrike\> I like to Seperate my ZettelKasten and GTD  with
    Daily and global, Zettelkasten daily would be a journal, The reason
    to keep them seperated is daily is to start with a black sheet and
    can be thrown ignored if not done well, If good enough goes into
    zettel etc. That is a good suggestion. Thank you for sharing it.

## Notes

-   Hi, This is Blaine. I am checkin in!
    -   Hey :)
-   Hello from Madagascar :) Hello from Brazil (there\'s an old song
    about madagascar:
    [https://www.youtube.com/watch?v=k206JIkXJbk](https://www.youtube.com/watch?v=k206JIkXJbk))
    :) Hello from Uganda Hello from ISS\^\^ The International Space
    Station? 0_0 Hello from US Hello world and outer space!!!!
-   It\'s so awesome seeing these talks that are not strictly software
    development relatedThank you!
-   It\'s amazing to see how much people do with emacs Thank you!
-   \<Neil\> \[MooersLab/writingLogTemplateInOrg: Template for
    writing.log in
    org-mode\]([https://github.com/MooersLab/writingLogTemplateInOrg](https://github.com/MooersLab/writingLogTemplateInOrg))
-   \<mickeynp\> it\'s really impressive. it also makes me realise that
    people are a lot more organised than could ever be. I have been
    studying time management for decades; it is still a stuggle for me.
-   \<gg\> That chart looks complicated. It can get pretty complicated
    as its deeply personal and has seen several revisions.  (Sounds like
    the chart is descriptive and not prescriptive) Right, is just
    descriptive. Yes, that concept map it a bit overwhelming. I plann to
    make a slimed down version. Thank you for the feedback.
-   \<jsiegel62\> I love the fact. that \"shower\" is called out as an
    Ideation \"feed\" in the writing process chart :-) Takes shower
    thoughts to a whole new level\...It is a feature of our insane 24-7
    culture. 
-   \<gringo\> The man is trying to treat cancer, I expected nothing
    less complicated than this gg Thank you! Yes, our work has added
    years of additional life to many cancer patients. 
-   \<jsiegel62\> There is a package \-- I think it is \'org-tracktable
    \-- that records word counts by session in an inline block within
    org files 
    [https://github.com/tty-tourist/org-tracktable](https://github.com/tty-tourist/org-tracktable)
    i will check it out. Thank you for the link! My time tracking
    databse has 10,848 rows after 2.5 years. It may be over 100,000 rows
    long by the time that I expire. I decided that a org-mode table
    would be not appropriate. I adandoned the Google Sheet Workbook over
    a year ago because it is reduant with entries in my timespent.db. I
    did not like the duplicated effort.  I am now testing the use of a
    heat map for a similar writing accountability purpose. It tallies my
    writing effort per day from my timespent.db file. I enter \`hmj\`
    for Heat Map of Journal article writing to effort.  This is a long
    bash alias to to script and commands that generate the heatmap and
    post it on Github. The GitHub repo for the script is here
    [https://github.com/MooersLab/writing-time-spent-heatmap](https://github.com/MooersLab/writing-time-spent-heatmap).
    I have similar aliases for makng heatmps for grant writing,
    teaching, and service, but my daily focus is on article writing.
-   \<\_viz\> oohhh using a drawer for stashing these details away is a
    nice idea! Thank you! Org-mode has so many niffty feature like
    drawers.
-   \<gg\> I\'m impressed by how systematic he is about everything.Thank
    you!
-   \<gringo\> I\'m thankful for people like the presenter that dedicate
    so much of their time to researching treatments for the horrible
    diseases that people suffer. \[10:09\] Thank you!


[[!inline pages="internal(2024/info/project-after)" raw="yes"]]

[[!inline pages="internal(2024/info/project-nav)" raw="yes"]]