Welcome to my Open Notebook

This is an Open Notebook with Selected Content - Delayed. All content is licenced with CC-BY. Find out more Here.

ONS-SCD.png

task-management-like-an-open-science-hacker

I just read this impressive paper and it has really given me a push toward making this open lab notebook

Citation

Nosek, B. A., et al. (2015). Promoting an open research
culture. Science, 348(6242), 1422–1425. doi:10.1126/science.aab2374

Quote

The situation is a classic collective action problem. Many individual researchers lack
strong incentives to be more transparent, even though the credibility of science would 
benefit if everyone were more transparent.

So I think I’ll try to step up the pace of logging my daily scientific work. One super easy thing to do is to publish my daily log from my task management in orgmode. Indeed I am also reading at the moment this guy who says

Quote

The core of your documentation is the research log.
   
Long, S. (2015). Reproducible Results and the Workflow of Data Analysis. 
Retrieved from http://www.indiana.edu/~jslsoc/ftp/WIM/wf wim 2015 2015-08-21@3.pdf

Finally, I was struck by this reference http://rich-iannone.github.io/about/2014/10/28/introduction.html to something about 365+ day GitHub streaks. It was covered earlier by Geoff Greer, and by Dirk Eddelbuettel.

It seems the basic concept is that you can leverage off an obsessive tendency by making sure you do something toward ticking off items from the task list every day. The impulse to not breaking the chain is supposed to give you inspiration to keep going. I think this might work well for my temperatment.

Emacs and orgmode

The set up of my daily log is pretty simple. After being set up by kjhealy’s starter kit. Then I modified the org-agenda-files which was set in the main el file that kjhealy provided and then with the command C-c a a emacs will display my calendar.

When I open emacs in the morning I open the agenda and this also opens research-log file. I move to that buffer, then I use this key command to insert a new entry for todays date

CODE

 (define-skeleton org-journalentry
   "Template for a journal entry."
   "project:"
   "*** " (format-time-string "%Y-%m-%d %a") " \n"
   "**** TODO-list \n"
   "***** TODO \n"
   "**** timesheet\n"
   "#+begin_src txt :tangle work-log.csv :eval no :padline no\n"
   (format-time-string "%Y-%m-%d %a") ", " str ", 50\n" 
   "#+end_src\n"
 )
 (global-set-key [C-S-f5] 'org-journalentry)

This creates a new date, a stub of a TODO for anything ad hoc and a entry into my timesheet.csv file.

I then select from TODO items from a global list that I keep at the top of the file, and cut/paste them into todays list.

img

Great so I just moved this research-log orgmode file into my blog github repo, and with the help of charlie park’s bash script I am good to go

CODE

alias build_blog="cd ~/projects/ivanhanigan.github.com.raw; jekyll b;
cp -r ~/projects/ivanhanigan.github.com.raw/_site/* ~/projects/ivanhanigan.github.com;
cd ~/projects/ivanhanigan.github.com;git add .;git commit -am 'Latest build.';git push"
alias bb="build_blog"

So this will put the resulting changes onto my open lab book website here https://raw.githubusercontent.com/ivanhanigan/ivanhanigan.github.com/master/work-log.org

Things to note:

  • I found this list of tips http://natashatherobot.com/streak-github-mistakes/
  • In particular I realise I need to make my daily push by 4:50 PM in Canberra ACT as this is 11:50 PM the previous day for Github, Pacific Time (PT)
  • I also will need to ensure I don’t publish sensitive (or embarrasing entries).
  • I’ll try to keep the identity of my collaborators private as well, so just use their initials rather than names.

Posted in  disentangle


blog comments powered by Disqus