As a former research scientist and software engineer, Stephen maintains an active interest in genetics, evolution, science policy and the philosophy of science. He writes the odd letter to the editor.
Should popular opinion dictate science? Letter to the Editor, New Scientist, 21 January 2009
An opinion writer in New Scientist had suggested that scientists should be guided by what the public judges to be important research. My response (unedited) was:
"For no better reason than the peace of mind of the bourgeoisie, Michael Brooks wants science subjugated by the court of public opinion (20-27 December, p16). Tragically, it already is.
"In the US, evolutionary biologists self-censor, spooked by the superior PR of creationists. In Australia, it is impossible to garner support for stem cell research without talking up the prospects of a cure for Parkinson's.
"Clinical and other breakthroughs tend to arise from the corpus of scientific knowledge. We do science purely because we need to know all we can about all the world. Biasing research according to populist ambitions will only imperil good science, because even the most obscure endeavours eventually -- yet unpredictably -- yield useful technologies.
"Einstein didn't formulate general relativity in order to calibrate the clocks on GPS satellites. De Broglie didn't imagine matter waves for the sake of electron microscopes. Dirac didn't conceive of antimatter to pave the way for positron emission tomography. And Watson and Crick weren't looking to cure cancer."
See the published version here.
Lessons for the testing of Genetic Engineering from the world of Software EngineeringMy response to Lord Dick Taverne's pro-GM food piece in November 2007.
"Dick Taverne writes that 'the scientific way of ensuring that crops are safe is to test the product, not the process'. Actually, he is likely to be fundamentally wrong on this point. If we heed the learnings of the field of software engineering, we will see that testing the product is impossible, and testing the process may be all we have to go by.
"Genes are often likened to software, for good reason. Each gene codes for a specific protein. Yet there has long been a mystery around how relatively few genes -- 20,000 for a nematode worm, 25,000 for a human being -- can specify an entire complex organism. Science is a long way from understanding properly how genes build bodies, but it is clear that each genome is an immensely intricate ensemble of interconnected biochemical short stories, written achingly slowly over eons, to suit the circumstances of a specific organism. Tinkering with isolated parts of this machinery, as if it were merely some sort of wiki with articles open to anyone to edit, could have consequences we are utterly unable to predict.
"In software engineering, it is received wisdom that most bugs result from imprudent changes being made to existing programs. Furthermore, editing one part of a program can have unpredictable and unbounded impacts on any other part of the code. Above all, all but the very simplest software programs in practice are untestable. And so mission critical software is always verified by a combination of testing the final product and evaluating the design and development processes.
"We should pay deep attention to the genes-as-software metaphor and realise that testing genetic engineering processes is always going to be at least as important as testing the product. The best reason to go slow on GM is not that it is vaguely unnatural or dominated by big business; it is because, as yet, we just don't know what we're doing."
An unpublished letter on genetic engineering and software testing, October 2006
Software engineering as a discipline is some four decades old and yet is still in its infancy. The hard lessons of software testing revealed over this time ought to be studied closely by those who have been editing genetic code now for just a few years.
Gene sequences are of course often compared to computer programs. The software model is apt but I think actually under-developed. It could prove most instructive in respect of the huge challenge of proving program correctness.
It is received wisdom in software engineering that most bugs arise from changes made to older code. The best software engineers develop considerable modesty in their own abilities, daring only to modify others' programs after learning precisely how they work. Software verification remains an art, mixing brute force empirical testing with (a) painstaking code inspection, (b) indirect quality checking of the development methodology, and (c) formal methods, most of which are barely out of the lab and still controversial in their efficacy.
What is proven with mathematical certainty is that there are fundamental limitations on what can ever be known about software behaviour. Best known is the "Stopping Problem": it is not possible to tell by formal method if any given program is going to stop when executed. If it's fundamentally impossible to even tell if a program is going to stop, what hope is there of formally verifying if it fully works as expected? So our tools for validating computer code remain terribly crude, and we should maintain great humility as regards verifying any genetic engineering.
Natural genomes have evolved over vast periods of time. As such they have been verified to degrees of confidence that software engineers today can only dream of. Genetic engineers should not be messing with these designs without the very greatest caution.
"Mathematical reality" - Letter to the Editor, New Scientist, 13 October 2007
See the edited letter as published, or the full text below:
"Max Tegmark argues that reality is really mathematics (15 September, p38). He gets past the objection that his hypothesis defies intuition with a deft Darwinian gambit - namely that common sense is evolved only to grasp a fraction of the universe. True enough (although that's hardly a tough test; anything goes if we abandon our instincts).
"Nevertheless intuition is a strawman. Tegmark's greater challenge is to overcome the same objections that defeat Cartesian dualism. That is, if there is something "out there" that is not material, where exactly could it be, and by what mechanism does it impinge on the material world? Stephen Hawking for one should remain dissatisfied by this latest theory of everything, for it still fails to 'breathe fire' into equations to make a real universe.
"I suppose Tegmark's ultimate manoeuvre might be to posit that there is no material world at all, and that maths is all there is. But by explaining everything, that would explain nothing.
IT Governance - Letter to the Editor, ComputerWorld, September 2005
Yes indeed, IT is made the scapegoat for a great many project disasters (ComputerWorld 28 September, 2005, page 1). But it may prove fruitless to force orthodox project management and corporate governance methodologies onto big IT projects. And at the same time, IT "professionals" are not entirely free of blame.
So the KPMG Global IT Project Management Survey found that the vast majority of technology projects run over budget. In the main, "technology" means software, whether we build or buy. The "software crisis" - the systemic inability to estimate software projects accurately and to deliver what's promised - is about 40 years old. And it's more subtle than KPMG suggests in blaming corporate governance. It is fashionable at the moment to look to governance to rectify business problems but in this case, it really is a technology issue.
Software project management truly is different from all other technical fields, for software does not obey the laws of nature. Building skyscrapers, tunnels, dams and bridges is relatively predictable. You start with site surveys and foundations, erect a sturdy framework, fill in the services, fit it out, and take away the scaffolding. Specifications don't change much over a several year project, and the tools don't change at all.
But with software, you can start a big project anywhere you like, and before the spec is signed off. Metaphorically speaking, the plumbing can go in before the framework. Hell, you don't even need a framework! Nothing physical holds a software system up.
And software coding is fast and furious. In a single day, a programmer can create a system more complex than an airport that might take 10,000 person-years to build. So software development is fun. Let's be honest: it's why the majority of programmers chose their craft in the first place.
Ironically it's the rapidity of programming that contributes the most to project overruns. We only use software in information systems because it's fast to write and easy to modify. So the temptation is irresistible to keep specs fluid and to change requirements at any time. Famously, the differences between prototype, "beta release" and product are marginal and arbitrary. Management and marketing take advantage of this fact, and unfortunately software engineers themselves yield too readily to the attraction of the last minute tweak.
The same dynamics of course afflict third party software components. They tend to change too often and fail to meet expectations, making life hell for IT systems integrators.
It won't be until software engineering develops the tools, standards and culture of a true profession that any of this will change. Then corporate governance will have something to govern in big technology projects. Meanwhile, programmers will remain more like playwrights than engineers, and just as manageable.
"God is dead" - Letter to the Editor, New Scientist, 26 November 2005
See the edited letter as published, or the full text below:
Bravo E. O. Wilson! His analysis of the relationship between science and religion (5 November, p48) is politically bold, and yet on scientific grounds must be seen to be entirely uncontroversial. The implications of Darwinism on religion have been known by deep thinkers since even before The Origin of Species was published (Darwin for years kept his work secret from his devout wife because he knew what it really meant). Philosophers quickly grasped the truth. Karl Marx rejoiced that "a death blow [is] dealt here for the first time to teleology"; Friedrich Nietzsche saw that "God is dead ... And we have killed him".
A rapprochement on this point between science and religion is surely an oxymoron. "Rapprochement" is equilibrium through diplomacy; it is not necessarily a condition of rational agreement. What scientific agreement could there have ever been between Copernican thinkers and the church? If Galileo reached any settlement with his inquisitors, it was just by keeping his mouth shut. He never agreed with the church's position and never wasted time as a scientist seeking an arbitrary common ground.
Scientists today are forced to tread on egg shells over creationism, fearing for their political stocks. But the only likely convergence between creation mythology and Darwinism will come when neuroscientists and perhaps evolutionary psychologists find the physiological seat of our species' pervasive belief in the supernatural. We should hope this crucial discovery comes before our world becomes so dumbed down we won't believe our eyes.
"Telltale prints" - Letter to the Editor, New Scientist, 14 August 2004
See the letter (on the silliness of fingerprint detectors in mobile phones) as published.
"More to life" - Letter to the Editor, New Scientist, 29 November 2003
See the letter (on the anthropic principle and multiverse theory) as published.