One of these days I’m going to show my python code to someone who actually programs in python for a living. They’re going to laugh. Laugh and laugh and laugh… and laugh. And then cry.
David’s not the first scientist I know who’s said this, for example, I heard almost the same thing from Cameron Neylon last year when he was presenting to my final-year Web Research group. Cameron (who’s an advocate of Open Science) was demonstrating how he’d hacked up a bit of python to show the growth of Open Access publishing, but at the same time apologising that he’s originally a Bio-Chemist so the code does a job, but doesn’t necessarily do it as well or as ‘beautifully’ or efficiently as it perhaps might.
These are both examples of sharing code after its development. There are big advantages to publishing experimental code such as this during its development:
It encourages peer review of the experimental process earlier in the project which may reduce the potential for errors due code not doing what is intended.
It provides third party developers with the opportunity to be involved in research by actively contributing to the code by improving it, even if they are not specialists in the subject being studied, their specialism in software development adds orthogonal value.
It provides subject specialists with opportunity to see how their code has been improved so they can learn from this and write improved code themselves next time, possibly seeing new solutions and experiment-options as a result.
Historically (however) it’s common that experimental code is published either:
after papers are written and results are published, or
never (even if there are good intentions to do so, time and funding dry up and the code dies alone). There may also be historic reasons why it’s not possible to publish code: often research organisations have little experience with Free Software so IPR fears can inhibit the potential openness of any project, but, the more open projects there are, the more opportunity there is for understanding to grow, fear to wane, and open science to blossom.
So, in the near term, developing non-critical code openly may be the best way forward. If researchers can get in the habit of developing tools, utilities and other small projects openly then that may be the first step to encouraging all scientists to think and solve problems as part of a global ad-hoc developer collective.
When making a pot of tea, I tend to add teabags and sugar at the same time; once the tea has brewed, I give it a stir, remove the teabags, add milk, and then with the aid of a knitted tea-cosy I get several hot mugs of tea in succession and can keep working without the need to return to the kitchen.
However, when I do return to the kitchen a recurring question bounces around my head: how much sugar is absorbed by the teabag before it is removed from the pot? i.e. exactly how much is the taste affected and how much energy is lost? Continue reading →
If you’re going to do something where you have just one shot, then you have to get it right first time, there can be no deviation. This is a very different requirement to just getting it right every time after a short teething period . Space exploration is full of one-shot right first time problems. For special problems you need special people. Continue reading →
Picture this: it’s a sunny day at the seaside and you’re enjoying an icecream. The human predilection to follow scripted conversation formats is such that you cannot fail to overhear somebody appreciatively inhale before joyously proclaiming “mmmmm, smell that sea air!”, to which a companion will invariably offer a helpfully informative “ah yes, that’s ozone“. Continue reading →
SchrÃ¶dinger’s cat, bless it’s little white paws, had a pretty tough time of it; what with being locked in an imaginary box, and having to share that space with only a decaying radioactive isotope. At the end of the experiment, when the box is opened and the cat is observed, it’s probability wave collapses into either a live cat or a dead cat. It’s not exactly an easy life (or death). Continue reading →
For me, the arguments against nuclear power-plants in their current form are overwhelming; the most significant of these being the collapse of the “nuclear is clean” argument (because of the apparent hidden CO2 costs of preparing the enriched uranium). Continue reading →
Science is not the private playground of people in white coats with clipboards. Popular Science is a good thing. The problem, however, with popular science is that it can introduce all kinds of misconceptions. Take, for example, this story, in which the BBC quotes Professor Frenk FRS as follows:
We are now able, using the biggest, fastest supercomputers in the world, to recreate the whole of cosmic history.