SciFlow for Collaborative Writing

There are a few solutions out there for collaborative writing, and currently I like SciFlow best. The thing about collaborative writing platforms is that while there are many options out there, we’ll have to consider the least technical of the co-authors. Yes, we could use LaTeX (or perhaps better: Markdown because most journals want Word documents during submission) on GitHub, but in the social sciences this is often no realistic because many shy away from anything that doesn’t quite look like a word processor.

I guess a widely approach consists of a Word document that is either e-mailed around, or these days shared on Dropbox. It’s not too bad as long as one of the authors knows how to combine different versions of the same document, tracked changes are accepted from time to time, and someone is willing to clean up the messed-up formatting in the end.

In terms of collaboration, an online platform can be better: there is only one version — the latest one –, and all authors can write on the document at once. SciFlow offers a basic service for just this, and the “basic” part makes it just so suitable: the least technical of the co-authors is likely to handle it well. It offers all the necessary bits without distracting from the most important bit: writing.

It handles basic formatting, footnotes, references, figures, and equations. We are forced to use styles rather than direct formatting — something we should be doing in Word, too, but the least technical of the co-authors typically doesn’t do. Citations are built in (though not quite as nicely as in Authorea, where we can import references from the web, too!), and there are many templates to format the document and export it to PDF or Word documents as needed.

Why Knitr Beats Sweave

No doubt Sweave is one of the pieces that makes R great. Sweave combines the benefits of R with those of LaTeX to enable reproducible research. Knitr is a more recent contribution by Yihui Xie, packing in the goodness of Sweave alongside cacheSweave, pgfSweave, RweaveHTML, HighlightWeaveLatex etc. It requires separate installation, interestingly also when using Rstudio.

As much as I like Sweave, I argue that often knitr is the better choice, despite there being no equivalent to R CMD Sweave --pdf. First of all, knitr uses Rmarkdown, a set of intuitive human-readable code to do the formatting. While LaTeX is by no means as complicated as its reputation seems to suggest, Rmarkdown is actually easy. By human-readable I mean that anyone who has never even heard of Rmarkdown can understand what is happening to some extent.

Sweave is great for producing PDF, but that’s one of the biggest drawbacks of LaTeX in the social sciences: while the PDF may look good, they are not the format we need when collaborating with Word-only colleagues, and with rare exceptions when submitting a manuscript to journals. Knitr works very well with Pandoc, so creating a Word document or an ODF is just as easy as creating a PDF. The other day I had to submit a supplementary file as a *.doc file, even though it’ll end up as a PDF on Dataverse or so. With knitr this didn’t take long.

What’s the catch then? Rmarkdown comes with a restricted set of commands, and there is no way to create custom commands. This isn’t a problem, though. For instance, if you create a PDF with knitr, you can include standard LaTeX code, like \newpage. More importantly, with a restricted set of commands, I find myself tinkering much less than what I do in LaTeX. In other words, with Rmarkdown and knitr, I do more of that purported benefit of LaTeX, namely concentrating on the contents rather than worrying about what it’ll end up looking. A more radical step would probably be writing in plain text and then finish it off in Word (or LibreOffice), because we seem to end up there anyway — at least at the submission stage.

There are two aspects where the restrictions of Rmarkdown are noticeable: references (roughly on par with Endnote, not with BibTeX), and complex tables. When it comes to complex tables, we should probably be thinking about graphs anyway. In this context, however, being human-readable highlights another advantage of knitr: if the document fails to compile, it’s much easier to debug (and here Sweave beats odfWeave by miles).

What neither approach resolves, however, is collaborating with the Word-only crowd who need the “track changes” feature.

The Thing About Pomodoros

I have written before about how holding back the writing stage can actually make writing easier. Still, even a well-organized and well-planned paper needs to be written in the end. Here’s one thing that can help in that final stage: setting a timer. Popularized as the Pomodoro technique, the idea is to set a fixed time during which you write, say 20 minutes. The trick is to write exactly 20 minutes, and then stop. During these 20 minutes you do nothing else. The intuition is that because the task is limited, it’s easier to fend off these procrastinating thoughts like checking e-mails. It’s also important to stop after 20 minutes (or whatever time you decide) to keep the momentum. Actually, it’s probably better to start with a relatively short time and increase it gradually than jumping in with a number found somewhere (25 seems to be one such number). It always baffled me why a tomato-shaped kitchen timer should be preferred by so many when any timer or clock does the work.

Such boost of focused work can also be used for other tasks. I sometimes use a timer set to 10 minutes to get started with some tasks, for other kinds I use longer periods.

My most common misspelling

Yes, I know I could have this auto-corrected, but in this case I (stubbornly) refuse and hope that one day this goes away. My most common misspelling must be (by far) the word quantitative. It lies in the nature of my work that I use it quite frequently, although that’s no excuse for mistyping it. At least it’s one of these typing errors the so-called spell-checker catches.

Better the Average after Breaking the Chain

I have written before about habit formation and the longest chain or streak. The idea is simple: decide to do something (concrete) every day and measure how many days in a row you did that. Just don’t break the chain… go for the longest streak possible. I found this a useful approach for getting into daily habits.

There’s one problem, though: Once I have a long chain and break it, it seems hard to get started and going again. Say my daily task is to learn one new word. Every day I note for how many days I have been doing this. Say I’ve done 61 days in a row, and then break the chain. After a day or two (or so), I get back to studying new words. Now, after three days the incentives aren’t very strong. It’s still very far to get to the longest chain; if I don’t study, I only ‘lose’ three days — not much. (The incentives are quite difference when my chain is longest: now there’s everything to ‘lose’. This is why the whole thing works.)

What’s the solution? Don’t seek to do your best every time: go better than your average. This means that in addition to recording your current chain or streak, you also keep track of all the other chains. We still try not to break the chain, but there’s a secondary goal to better the average. (And if we use the geometric mean for the average, there’s even not that much information to be tracked)