must-have tools to organize your research (for grad students)

Look at the desk of any research student and then take a peek at his desktop (something like this) and then do the same for couple other researchers. Very soon a pattern emerges. The pattern is chaotic. There will almost always be a folder named Unsorted filled with research papers which were supposed to be be nicely organised according to subject in different folders. And those folders are also there, only with one or two documents. You can’t blame the student for that (oh, you can!) because once you start searching for research papers, you find something interesting and then immediately save it for future usage which may never come. And this is just the beginning of the mess. Its like the tip of a mountain of shit. It gets worse when you start working from multiple machines (personal laptops, high speed uni PCs, new laptop because the previous one broke down a day before presentation, etc.), files cluttered everywhere – you don’t want to print and file them because you want to save the planet! If you’re lucky enough to be coding as well as part of your research then you will definitely have a folder with your main.c file, Copy of main.c and a Copy of Copy of main.c (main.c – working on 8/10, main.c – backup, main.c – backup 2). Yes you backup each and everything and then lose track of changes eventually. I can go on with more examples but let’s just cut to the chase now..

In this post I will attempt to cover some excellent tools for managing research, which in my opinion are indispensable. Please note that this is not exhaustive and I intend to add more to it as I learn. I don’t want to give a list of tools and say what they do – instead, I will try to explain why you need them and how they can make your life easy.

You have to do a literature review. Everyone has to. So you go to IEEE Xplore library, punch in your keywords, filter out the results and have about 500 nice-looking abstracts. Now you will probably go through the abstracts and download the papers which are relevant in one of the folders. Few days later you may realize that you need to cover another aspect of research and then you search and download more papers again. In between that, you continue reading some of the papers taking notes on paper (which will be lost when you need it). This is the typical approach for almost every beginner. Two major problems: 1) How do you keep track of the papers you’ve read? (please don’t print a list, that doesn’t work) 2) You will need to enter all these (few hundreds) of papers in you bibliography (GASP!). This is where a reference manager comes in – and there are many. I would recommend Mendeley. Why? Because it’s awesome. How? It can go through your entire collection of scattered PDFs, extract metadata (title, author, etc.) and sort it nicely in its interface. You can mark papers as read or unread – it has its own reader where you can easily highlight text and annotate notes. You can drag and drop files in to Mendeley desktop version and easily export references for use in Latex, Word, OpenOffice! (I’m not sure, but I think it has the option to cite and write and the same time). The BEST part, however, is that you can add a folder(s) to watch, and when you download in to it (that Unsorted folder, ahem) Mendeley will automatically update your reading list. It is cross-platform, has a version for iOS (read on the go) and it gives some space for online storage. And finally, if you want to sort your unsorted files in folders according to certain rules, Mendeley can do it for you. Mendeley is your ultimate reference manager – its like iTunes for research papers.

I am sure you do backup your data on external hard disk, but imagine your computer and hard disk getting burnt in fire? (yeah, i know what you’re thinking). Cloud storage is the safest bet together with external storage if you’re hellbent on that. There are multiple options – I used to Gmail every important document to myself … that works, but its not seamless! This is where DropBox comes in. Now everyone knows what DropBox is – in case you don’t, its your online storage device. Why is it so great? It works like any other folder on your computer, it is cross-platform and you don’t have to do anything to backup your files. Just download DropBox, it will create a folder in which you can keep working and it will update files in the background. You can access those same files from any computer without pain. Everything is nicely synced. I like to keep all my reading papers and code in DropBox folder. This way I have most of my research stuff at home, at work and anywhere else I am – no reason to procrastinate! Now that’s the simplest usage of DropBox…there’s more to it. It has mobile clients too, again for use on smartphones. You can share any of your files with others (if you want) by giving them access using their DropBox id. There’s a file history stored as well (more on that later). You get 2GB of free space when you sign-up, but invite your friends to it and each referral gets you 250MB – (500MB if you verify you uni e-mail address!!!). Now if you’re going ahead to sign up at DropBox and feeling a little charitable, I’d appreciate if you use my referral link…that gives me (and you too) 500MB extra space.(Sign-up at DropxBox: Referral link) .. Don’t forget to verify your uni e-mail after you sign-up (you don’t to do that during sign-up process). One of the benefits of DropBox that I get is to share across multiple platforms without doing anything. If you work on Virtual Machines, then you just need DropBox in them and the files get synced. Mac at home, Linux and Windows at uni – no VPN required to access files from home. Best part is that they are saved on your computer (all of them on which DropBox is installed except mobile devices) and also on DropBox web, so its pretty safe. And if you’re worried about data security, encrypt it with TrueCrypt.

Now imagine enjoying a perfect day on beach and then all of a sudden being struck with an inspiration attack (admit it, you weren’t really enjoying the beach – research was always on your mind). Some brilliant idea you got for your code which you weren’t able to debug for last 5 days (for multiple reasons). Now you can’t wait, and you shouldn’t. Because you have your laptop in your beach bag and some unsecured WiFi as well. Because all your code is shared using DropBox, you have all your files – but the problem is that your compiler is Linux-only and laptop runs that crappy Windows. Or any other reason – let’s just say you need to work from home because you can’t sleep. This is why always ensure that you have some sort of facility to remotely log in to you main machine where everything is saved. VNC is a good option being cross-platform again and have iPad app too for that geeky touch. Whether you need to log-on remotely or not, make sure you have an option to do so.

There are times when you code something up, then create backups of it, modify them and continue doing that – saving for every checkpoint. Then you may realise some other part of your code was crap and you changed that in some files and not the others. As I pointed out earlier, it’s hard to keep track. And when multiple pieces of code are linked together, for example, a MATLAB file, several C files, VHDL file to go with it, etc. that gets worse (and documentation too!). This is where a proper revision control system – and I found out its usefulness at my previous employer. Now I will not go on explaining the details of it (Google it), but very briefly, you can check-in files to a repository with comments of changes you made. If you use Mercurial, you can keep track of changesets (multiple file changes are marked as one change), you can compare changes between multiple versions of file, you can check-out previous version easily and then go back to the new version, merge files – and these are not stored as multiple copies – only changes, so it takes very little disk space. There’s a little learning curve of getting used to it, but once you get there, you’ll save a lot of time in future. SVN, Mercurial, CVS are just some of the examples of free ones available.

And finally, learn a scripting language. Any scripting language would do. Python of Perl are preferable and very usable. It will help you automate a lot of tasks. Python is actually good for much more than scripting, but that’s a story for another day.

Whatever tools and programs you use for managing your work think about how they can be accessed from everywhere easily and try to use cross-platform compatible stuff.

Of course, there are alternative softwares to what I’ve mentioned here, but the intention here is to express what kind of softwares will be needed. I will continue to add more to it what I deem essential and if you think there’s something that I didn’t consider please share here – to help me and other grad students :)

[Image Source]


8 Comments

  1. Nice one. I am not sure if i will ever get in that(research) mess :)

    just want to add, instead of dropbox you can use sugar sync…its has twice the space.
    @Anas. does space really matters ?

    • Space with ease of access. Dropbox is cool in that aspect. It does matter up to an extent. Documents do not take THAT much of space, but good to have it

  2. Been there done that :)

    Nice post though. I’ve heard of some of the tools on here. They come in real handy for sure.

  3. Thank you!!

  4. please share more information if you have

  5. very nice nd informative Blog it’s the modern tools used them you can do easy your hard work. :)

Trackbacks/Pingbacks

  1. must-have tools to organize your research (for grad students) | Tea Break - [...] must-have tools to organize your research (for grad students) [...]

Leave a Reply