A good friend recently asked me what I would use to keep track of articles I downloaded and read. I took a moment, and answered: “You probably should first start thinking about how you find the right research. I’ll answer you in a blog post.” Some time passed, so I realized I should list the main software pieces and services that got me through my PhD. Probably it’s inconsistent, unprofessional, and might seem useless to the more conservative. It might be, but it still was sufficient to manage a positively reviewed PhD thesis, several solid publications, and the development of a new video analysis suite.
An additional disclaimer: My PhD is in Physiology, but I used a lot of mathematical modelling, intensive computer simulations, and large scale data analysis. Before this I studied Physics, my way of using computers usage reflects this. Obviously, my choice of software is biased by these factors.
Ubuntu [Free] A lot of the software I use is Open Source, and as such runs best inside of a Linux operating system. On Ubuntu, the programs are 2 clicks for installation and usually just run, on Windows or OS X functions are missing or extra packages are required. Ubuntu is fairly easy to install, and mostly ‘just works’ with different hardware. Nevertheless – you’re in for some command line troubleshooting, no matter what their website tells you how easy to use it is. Not for everyone.
Google Scholar [Free] I found that probably the bigger part in getting a paper published is in reading other people’s publications, not in writing your own. Google scholar is my go-to source for finding. Especially helpful is the function to find all other articles that cite a given article. If you can search backward AND FORWARD you can get an overview of the publication network on a given topic easily and quickly. “Related articles’ is also a useful function.
Mendeley [Free except when PDF storage space is exceeded] An interesting combination of social network and literature management software. Admittedly, the social network aspect never took off, largely due to the reason that they didn’t have an invasive strategy and road side robbery spam tactics as ResearchGate. Nevertheless, Mendeley allows you to store and manage PDFs, extracts the citation info, and you can sync across several computers, your online account, and mobile devices. Also supposed to integrate seamlessly with LaTeX, but the experience isn’t exactly what I would call “seamless”.
Latex / TexMaker [Free] I’ll just say it: I hate Word. Not for some anti-corporate pro-open source reason, but simply because it randomly destroys people’s work, crashes, is inconsistent, and has erratic behavior. LaTeX is a fundamentally different type of writing environment, where the written content is separate from the layout (at least largely so). This preempts the problems with Word at the root. It’s also the only and de facto standard for typesetting mathematical expressions – but by now I value it more for it’s use in writing structured texts.
TexMaker is an integrated environment for making the writing process in LaTeX more user-friendly. It is cross-platform (Windows, OS X, and Linux) and really does work quite well.
OpenOffice/LibreOffice [Free] Sometimes you need a more Word-style word processor (conference abstracts, applications, project reports, cover letters etc.). This has all the basic functions, PDF export ships with it, and it’s free. Does the job. Whenever you need to interact with anyone who relies heavily on Word and its proprietary formats, you will experience trouble (surprisingly often that means: university administration).
Inkscape [Free] Vector graphics. Vector graphics!!! It is astonishing that hardly anyone, be it scientists or creative professionals, understands the basic difference between a pixel- and a vector-based graphics. Go look it up. The two purposes I use inkscape for most often are: 1) making cartoon depictions of a hypothesis or mathematical model, or 2) import .eps files saved from MatLab output, process it into good shape, and save it as .eps files that are ready for manuscript submission.
The GIMP [Free] The GNU Image ManiPulator. All functions of a pro-grade pixel graphics software for free.
Open Office/Libre Office [Free] Poor man’s alternative to PowerPoint. I usually export to PDF when I have to present on the computer of someone else; the conversion to PowerPoint format will inevitably destroy your presentation. Most PDF viewers have a presentation mode.
Prezi [60$ 1-year Education License] Innovative presentation software that gets rid of the slide-based format and allows you to share presentations online. The only problem is, when you present with Prezi, you will get questions about the presentation software, not about your research. I like Prezi because it seems to fit my way of thinking more closely than a sequence of slides.
Data Analysis and Simulations
MatLab [Hundreds to more than a thousand dollars, pricing varies dependent on different conditions and toolboxes required. Often available through campus-wide license] The current standard for various data analysis and simulation tasks in research and engineering. Great built-in functions, easy to learn, fast to write code, but at the core of it a crippled programming language.
Python, SciPy/NumPyNumeric, MatPlotLib, Spyder [Free] If it’s multimedia programming, data base management, numerical simulation, or operating system tasks, Python is the most beautiful programming language I have yet encountered: flexible, easy to learn, lots of libraries, and very “multi-paradigm”. The disadvantage is that a specialized language like MatLab often has more elaborate and optimized built-in methods. At any rate, with the SciPy/NumPy/Numeric libraries you have a lot of fire power in terms of data analysis and model simulations. MatPlotLib gives you the possibility to plot surprisingly impressive graphs. Spyder, finally, gives you an environment that feels a little bit like MatLab: quickly write a snippet of code, press play, see what happens, then go back and work on it. In this way you get a fast, more intuitive work flow that is often missing for the more open source style programs and languages.