Physics is like sex: sure, it may give some practical results, but that’s not why we do it quipped Richard Feynman. The oceanographer Curtis Ebbesmeyer1 provides a similar, albeit less memorable quote, when describing his early work on water slabs (aka snarks), which had relevance to both military and pollution issues: such practical matters did not interest me. I found snarks fascinating, even beautiful in their own right. The introductions to many scientific papers, however, are framed in terms of practical results. Hence the rhetorical question implied in the title: are the rationale we as scientists publish convenient little white lies: simply a way to validate undertaking the science that we find personally interesting and intrinsically satisfying?
Using Python daily for more than three years as part of my scientific workflow and then abruptly returning to regular Matlab use has made me realise how much better Matlab could be and how evident its idiosyncrasies are. Conversely, while I was aware and noticed that Python makes things simple, it is Matlab’s comparative flaws that really made me come to appreciate just how much has been achieved in the past decade by the community in making Python an indispensable scientific tool.
An aim of this post is to recognize Python’s impressive convenience and versatility. Unfortunately, however, this post more naturally develops by taking the pessimistic approach of highlighting Matlab’s flaws. What follows are several minor, and a few major, annoyances that I’ve noticed on returning to Matlab.
We’ve all seen the mistakes scientists make presenting at conferences. Hence my somewhat facetious figure.
Scientists should invest time in a good text editor: pay the upfront cost of learning to use and customising a single editor for all of your text needs. This may be obvious to programmers, but less so to scientists who may have yet to recognise the benefits of a good editor.
Much scientific analysis and documentation can be achieved with plain text files (e.g.,
.md). The default method to work with multiple file types is to use multiple IDEs (Integrated Development Environments): Matlab for m-files, Spyder or IPython notebooks for python scripts, TexStudio or TeXnicCenter for latex files, RStudio for R, or one of the countless editors for Markdown currently available.
Using a single editor has many benefits over using a range of editors within each IDE:
To allude to a StackExchange thread, The problem with scientific posters is that they look like scientific posters. Defining characteristics include a lack of whitespace, unattractive borders, poor colour use, and poor fonts use. Using a recent scientific poster of my own as a example, I explain how to create a clean, elegant poster with minimal artistic talent.
Scientific papers are built by taking existing ideas, applying them in new ways, adapting them to fit new situations, and improving them over time. Yet when it comes to drawing a schematic, many people start from scratch or never even start. Instead, start with an image search, let Inkscape do the hard work, and refine the best parts of other schematics.
I will use a figure of mine as a case study:
Placing text over a full-size photo is a standard way to create a title slide. But by being everyone’s go-to method, it’s forgettable. Instead, use a photographic triptych: three tall photos spanning the slide.
Here’s a real-life example, the title slide from my most recent presentation: