Keeping a Lab Book
Tags: howtos, research, academia
When I joined my new lab at the beginning of this year, I was very happy to see that researchers in the biomedical sciences already do what every scholar needs to do, namely keeping a lab book. It is not only a good way to structure your thoughts, it will also give you an opportunity to go back in time, track your work, and even provide summaries of your work day to your supervisor.
My setup
I actually keep two lab books. One is a “Moleskine Classic Notebook” that I use to scribble down thoughts, write out proof ideas, sketches, and anything else that tickles my fancy. The advantage of this old-school way of keeping notes is that I am independent of any technology, making it possible to quickly jot down something in almost any situation. Doing anything electronically here would just raise the bar for taking down an idea or a sketch. If I need my notes in a searchable form, I can always scan and OCR them—but so far, there was never a need for that, and I fear that most OCR software would be unable to decipher my handwriting even if I endeavour to write well.
For the second lab book, I use a Markdown
document. While there is technically not a formal specification of this
format, it is reasonably simple to parse, easy to look at (even if
your editor is incapable of parsing it directly) and can be transformed
into a variety of other formats. Being a big proponent of LaTeX, the
idea of separating content and layout (or rendering) resonates well
with me. I keep this second document under version control using git
,
which is another bonus of text-only formats. Even after a few weeks on
the road, I can thus easily synchronize any changes to other computers.
The format
Most of my entries are roughly arranged based on their corresponding
project. Hence, all first-level headers in my lab book are project
names. I also have special section “Dormant” for projects
that are, well, dormant. The second-level headers are dates, specified
in YY-MM-DD
format. This makes it easy for me to figure out what I did
on a specific date. Apart from that, I use sub-sub-sections and so on
whenever I deem it appropriate. This is how it might look:
Project 1
=========
2018-08-01
----------
Added `foo` widget. Refactored code for `bar` class, but ran into
troubles with function `baz()`.
Project 2
=========
2018-08-01
----------
Read paper on topic 1. Checked out example.com for some additional
results. Loss term in appendix is not sufficiently explained. Need
to follow up on this.
vim
integration
If you are a vim
user, there are several plugins that make working
with Markdown easier. The obvious choice for syntax highlighting is
Tim Pope’s vim-markdown
.
The one I found most useful is VOoM.
This plugin gives you a second pane for many document types (not
only Markdown!) in which you can easily see the document structure,
jump to specific sections, and so on. To make VOoM detect the file
type automatically, add this to your .vimrc
:
let g:voom_ft_modes = {'markdown': 'markdown'}
This will make the plugin aware of any Markdown document. Use the
command :Voom
to create an outline of your document. This can be
toggled with :VoomToggle
.
That’s it—a short and simple way of keeping a lab book. Until next time!