12 nifty tips for scientists who use computers

By | February 16, 2015

Simple things are good. Here is a list of 12 things that I find simple and useful, yet not many of my colleagues use them. The list is R-biased.

Knitr. Intuitive tool to integrate R and text to make reports with fancy fonts, figures, syntax-highlighted R code and equations. If you use R studio, then learning Knitr is remembering a bunch of simple commands and knowing where the ‘knit’ button is. My dream is that, in the near future, every published paper will have an appendix consisting of an .html file produced by Knitr, which will contain all of the data processing and analytical steps. Look for the .Rmd file format in R studio.

Focus. A distraction free text editor -- there is nothing else than you and the text on your screen. Great if you need to 100% focus on writing.

Solarized color theme. Some combinations of colors on the screen are unhealthy. Black font on white background is about as healthy as gazing into a light bulb; imagine doing this for several hours almost every day for the rest of your life. Luckily, there is a color theme that is designed to be gazed into: it's the Solarized theme. It has several unique properties such as selective contrast, symmetric lightness, both dark and light versions, and it is available for Firefox, Visual Studio, R Studio, Emacs, Vim, Gnome Terminal, Gedit and others.

Rcpp. As Hadley Wickham puts it in his excellent post, sometimes R is just not fast enough and you can’t speed things up with apply-like functions and vectorizations (e.g. in stochastic simulations). Rcpp is an R to C++ interface that speeds things up considerably, and it only requires elementary knowledge of C++. Check out the post, and you will see that the Rcpp’s “syntactic sugar” and its data formats are accessible even to C++ dummies. Rcpp has solved all of my remaining issues with R's speed.

Remarkable. Markdown editor. Simple.

R presentations. Yes, you can make presentations in R (example here). They are minimalistic, can be saved as .html (making them portable), and they can be easily provided on-line; useful for R-related teaching. Look for the .Rpres file format in R studio.

Google URL shortener. Have you ever wrestled with an inconveniently long URL, trying to fit it into a manuscript, into a comment in MS Word, teaching materials, or just into an e-mail? This on-line utility from Google can help.

LibreOffice Draw. It is like Inkscape, CorelDraw or Adobe Illustrator, but it is easier to use, and it is free. Although lightweight, it has exactly the functionality one needs for drawing and editing scientific schemes, plots and illustrations. You can learn it in 5 minutes.

LaTeX equations. LaTeX is great, but it can also be a nightmare, especially when used in collaborative projects. However, the LaTeX equation syntax has a potential even if you don't code your manuscripts. LaTeX equations can be used in Knitr (see above), and there is a plug-in for LibreOffice that supports LaTeX equations. I also use uncomplied LaTeX equations: e.g. when commenting on collaborative manuscripts, in reviews for journals, in e-mails – always when I need to fit a mathematical idea into a piece of plain text.

Dropbox file history. Did you know that Dropbox saves complete history of every file in the Dropbox folder for up to a month? Kind of a data backup that saved my day several times already, after I accidentally overwrote contents of an important file. Also quite handy for collaborative projects -- it works as a primitive version control system, without the technical challenge of Git.

Nature and Science yearly subscription. Nature is $119 for post-docs and $199 for humans, Science is $50 for post-docs and $99 for humans; EU prices are slightly higher. I think that it’s a good deal, considering that you get a printed issue every week. I love listing through an actual paper issue of Science or Nature when I have spare 10 minutes. The first part of the journal is news and popular science, keeping me up to date with what's hot.

SSH. Easy and safe way to connect computers. This effectively eliminates the need to buy expensive laptops. Here is a visionary suggestion: Buy only cheap laptops, and if you need computational power, connect the laptop to a second-hand, bulky, noisy, and powerful server in your closet through SSH. Or actually, how about dumping the laptop and using Raspberry Pi instead. Or even better, you can dump your server too, or make it more useful by converting it into a grow-box for hemp; then you can buy a dozen of second-hand Playstations 3, use their GPUs to make a Playstation cluster with 96 cores, and access it through SSH from your Raspberry Pi – all for $1000.

7 thoughts on “12 nifty tips for scientists who use computers

  1. steven vannoy

    I'm particularly interested adding the Solarized Color Scheme to my daily over-usage of staring at a computer screen. I went to the website, but don't see anything there about RStudio or Firefox, I thought maybe you could provide a bit more detail as you mentioned it.

    Thanks for sharing the tips

    Reply
    1. Petr Keil Post author

      No problem:
      - R studio -> Tools -> Global Options -> Appearance -> Editor Theme -> Solarized / Solarized Dark
      - Firefox: one option is here, another slightly modified is here. You can easily search for the Solarized light theme there too.
      - Settings for Gnome Terminal and Gedit are here

      Reply
  2. Doug

    Good list. I would only add that git is not as bad as you suggest, especially if used with GitHub. For large codes that won't fit in the appendix of a paper a GitHub repository and a sha1 sum to show when the code was run is a great alternative.

    Reply
    1. Petr Keil Post author

      I think that git is great! But I am not the only one who found it technically challenging at first. The "staging" and "commits" and "forks" and "pulls" and "pushes" and "merges" take some time to get used to, especially for people used to drag and drop file managers. But I agree that after this initial bumpy stage the experience becomes quite ok and fluent.

      Reply
  3. Pasqui

    Dear Petr,
    that's a nice list 🙂
    I was surprised by "LibreOffice Draw for drawing and editing scientific schemes, plots and illustrations".
    Don't get me wrong, I trust you, but do you have any resources to share (e.g., tutorial) about it?
    Thanks

    Reply
    1. Petr Keil Post author

      Hi Pasqui,
      Don't seek anything complicated behind it. LibreOffice Draw is just an extremely lightweight vector graphics editor. I think that if you know PowerPoint or any of the major vector editing package (CorelDraw, Adobe Illustrator, Inkscape), then you'll immediately know your way around LibreOffice Draw.
      If not, the manual is here. Some tutorial videos are here.

      By the way, I hope that it is clear that LibreOffice Draw will NOT create plots from your data (for this we have R and other stuff)! LibreOffice Draw can, however, serve as a great and simple post-processing tool, and for drawing schemes, flowcharts, and sketches of ideas.

      Reply
  4. building a successful blog successful blogging creating a successful blog starting a successful blog writing a successful blog tips for a successful blog successful blog tips start a successful blog making a successful blog having a successful blog make a

    Very good website structure is also about relieve
    of use. Simplicity of use is not very simple, because people are not a homogeneous group.
    There are numerous explanations of what usability is and how this can very best be
    reached. Considerably of this is built ​​by Jacob Nielsen, a proclaimed expert in usability.
    Individually, I have much more sense of Person Interface Engineering’s forskningsresulateter revealed on this issue.

    I pick to use a rewritten model of the summary of their
    article Screening the 3-Simply click Rule in my
    website style and design academy.Ease of use is that the person can quickly obtain what he
    seeks.

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *