For the past couple of years, there have been a small but growing group of people that have wanted to track their reading for a year.  For most of us, the idea is that this will push us to read more broadly and more consistently.  I tried to do this last year after seeing all the #365paper tweets at the beginning of 2016.  My decision was that I would write a paragraph summarizing each paper, and post these all under a single blog post.  Unfortunately, I just don't have the time to do that.  Writing a paragraph summary of each paper and then adding this to an existing blog post was just too much of a hassle.

The reality is that for the vast majority (90%+) of papers that I read I am reading to extract 1 small piece of information. For example, did this research test X or Y, what protocol was used in the assay, is A greater than B.  In large part, I'm quite often uninterested in much of the discussion and conjecture of a paper.  Rather than summarizing all of this I would rather move on and read the next paper.

So this year I wanted an easier quicker method to track my reading.  I think I've come up with a solution using my favorite environment R.  First, I created a directory named "365.2017" on my GitHub website repository.  This directory has two files a CSV file and an Rmd file (R markdown).  Now when I read a paper all I have to do is add it to the end of the CSV file and then periodically knit the Rmd file to update the web page.


the csv file is super simple here is an extract of the first two lines with the titles and notes truncated

Count,Paper,Notes
1, Meiotic Consequences of Genetic...., Crosses where strains


The Rmd file is likewise quite simple and contain only 12 lines of code:

 ---  
 title: 'Reading tracker: Heath Blackmon'  
 date: "last updated: `r Sys.Date()`"  
 output: html_document  
 ---  
 This is just a quick little website to keep track of my reading:  
 ```{r echo=FALSE}  
 library(knitr)  
 dat = read.csv("reads.csv", as.is=T, header=F, fileEncoding = "latin1")  
 dat = cbind(1:nrow(dat),dat)  
 kable(dat, col.names=c("Paper", "Notes"))  

One important note here is the argument fileEncoding = "latin1".  This argument will allow the R code to handle all of the typical things you run into with citations (special characters, accents, non-breaking spaces, etc.).

With this setup I can add a paper and update the website all in a matter of seconds and I don't feel the pressure to write a well formed summary that i did last year.  Here is a link to the final web page.


I've actually had to continue to tweak the argument that I am giving to fileEncoding.  From my reading this may well be a bit specific to your operating system and where you are getting the text that is going into your CSV file.  In my case, I'm on a mac and I am primarily using google scholar to grab citation information.


1

View comments

  1. file tracking

    Add file access control and file IOs monitor to your windows application with Windows file system mini filter driver component in C#, C++ demo source code to implement your file security solution

    http://easefilter.com/

    ReplyDelete
Great Blogs
Great Blogs
About Me
About Me
My Photo
I am broadly interested in the application and development of comparative methods to better understand genome evolution at all scales from nucleotides to chromosomes.
Subscribe
Subscribe
Loading
Dynamic Views theme. Powered by Blogger. Report Abuse.