We all know that Moore’s law pushed technology a long way since ENIAC. The way we do the research changed unquestionably, but so did the way we write up our findings. I have the feeling that this latter part although, somewhat concentrates about the fact that library-roaming has been replaced with google-scholaring. Especially if you think about the last 15-20 years. The way we complie the articles hasn’t really changed… Create a Word doc – if you’re techy, a LaTeX file – and start right off. You reach a point, when you think it is reasonable to share it with the rest of the co-authors and off goes the email, attachment, track changes, and then it’s back to you. Sure, there are some collaborative initiatives – with online editing even and some of which have been around for quite a while, e.g. Google Docs, Micsoroft OneDrive – or some advancements in the way we share files such as Dropbox. But it’s not only about the writing. The figures are not just Excel or Matlab anymore. They are Python. Or R. And research requires an increasingly larger amount of code. Then, there is the formatting… You submit, get rejected, reformat and submit again. And repeat until forever. Much like:
This got me thinking that there must be some way of streamlining this process. And there is. I just had to put together the right tools. Meet my integrated research environment (much like an integrated development environment, used by coders):
I’ve stumbled upon this marvellous tool called Authorea, to find that it connects to everything that I was doing before and it ticks the box which was the most annoying for me: automatic reformatting for journals. It also made possible a move that I have been wanting to take for a long time – migrating to writing research in LaTeX from Word. And, in order to smooth that transition, you can first try Markdown.
So here are the steps to take towards writing a research paper, the modern way:
- Come up with your amazing new idea
- Search for data online, then fire up a Jupyter notebook (formerly Ipython) running Python (or R)
- Get and massage your data with pandas
- Create some nice plots with matplotlib
- Save the data into JSON format, then fire up your favorite text editor
- Pull the data from the JSON files and create an awesome interactive visualization with D3.js
- Create project website in HTML5 and CSS3, host it on GitHub
- Create a new Authorea article, set it up to push automatically to a Github repository
- Invite your collaborators to the article – and work simultaneously on the text with git versioning control
- Find your inner muse and write up that article in HTML, Markdown or LaTeX
- Put in some fancy equations in LaTeX
- Paste those graphs you created with matplotlib, then put a link to your source code – this way your readers can actually fire up a live Jupyter notebook on the Authorea server and even play with your code
- If you want to step up your game, go ahead and paste that interactive visualization you created in D3.js from the website hosted on GitHub
- Paste those references directly from CrossRef, without the need of a citation manager
- Chat with your co-athors, review and finalize your aticle – in the browser
- Go online again and search for the most awesome journal of your choice
- Export your article from Authorea in the formatting requirements of your chosen journal – just a click
- Get some sleep man!
- Repeat steps 15-18 until accepted 🙂
And the best part? All of the above are open source, free tols.