The oddities of being a scientist-programmer

March 16, 2009 – 4:54 pm
Photo by jurvetson

Photo by jurvetson

The scientist-programmer is in many ways a peculiar being.  Most of what you do each day is programming, yet the reason for your (professional) existence is to produce good science.  We think it’s worth just taking a moment to think about this.

Lots of prototyping

The nature of science means you’ll probably be doing a lot of what is effectively prototyping.  The goal of the scientist-programmer is often to figure out the best way to solve a particular problem, but then they often must move on to the next problem to be solved.  Perhaps you need a good set of scripts to process a given data-set, or perhaps you’re trying out ideas for new statistical models.  You may even just be looking for way to efficiently implement known methods on a particularly large data-set.  All prototyping!
Read the rest of this entry »

How to … review code

March 9, 2009 – 2:01 pm
A bug which was debugged in 1947.
Image via Wikipedia

In the last post we covered four fundamental ways to improve your code: read, write, review and contribute. This post will cover reviewing code: how to review, how to be reviewed, what to look for during a review and when to perform a review.
Read the rest of this entry »

4 ways to become a better programmer

March 3, 2009 – 9:27 pm
Leonhard Euler by Emanuel Handmann.
Image via Wikipedia

Becoming a better programmer is not only a laudable goal for improving the quality of the science you produce but programming is a great skill to have if you decide to leave the academic world. This post covers ways of becoming a better programmer. Read the rest of this entry »

The basics of…IDL

February 23, 2009 – 2:04 pm
Photo by Omakakii

Photo by Omakakii

IDL is the Interactive Data Language (not to be confused with another computing IDL, Interface Description Language ), which as the name suggests is very useful for the analysis and processing of data.  It’s very popular in particular areas of science, because it’s quick to code in, has lots of support for data manipulation and has syntax that should be familiar to anyone brought up on FORTRAN (as many scientists have been).   It’s pretty similar in a lot of ways to Matlab and, to a slightly lesser extent, R .  All three are optimised for getting code running quickly and all give a lot of built-in functionality.  While all three cover much the same ground (and do so effectively), IDL is perhaps a little more oriented towards data manipulation, whereas Matlab is more about matrix algebra and R focuses on statistical modelling.  But, having used all three, we can offer the considered opinion that they’re all worth using. Read the rest of this entry »

The basics of… Emacs

February 16, 2009 – 4:18 pm
Photo by snogglethorpe

Photo by snogglethorpe

All programmers need some way of getting the code from their head into the computer.  Nowadays, this means a development environment or text editor of some sort.  There are a range of these available for different platforms and languages and many of these are excellent.  In this article, we’re going to tell you about one good choice, the extensible, customisable (and free) text editor GNU Emacs . Read the rest of this entry »