A couple of weeks ago, Neil Johnson threw down a challenge to a handful of verification engineers: to write their “verification story”. Here’s mine.
Back in the 1960s, if you attended a reasonably academic British secondary (high) school and showed any talent for science, the idea that you might study engineering was almost heretical. Only pure science or maths had sufficient social and academic kudos. And so it was that I found myself at university excited to be studying physics. But my school track record suggested that maybe I could have chosen better… Read more…
Today, work began on some reshaping of our back yard/garden. A sloping area about 8 metres square needed to be levelled. Our garden designer engaged Bobcat Dave to do the digging using his little excavator.
Dave is a gently-spoken chap who turned up wearing immaculate dungarees, rather in the manner of German tradespeople and distancing himself from the grubby jeans and T-shirt that seem to be the attire of choice for artisans here in Britain. What matters about Dave, though, is not his diction or dress, but the fact that he is an artist with the excavator. I have observed before, but not quite so up-close, the remarkable way in which skilled excavator operators can move earth (and other things) with astonishing speed and precision, at times almost caressing the ground to get a smooth finish, and moving heavy objects with great dexterity.
Most of us have day-to-day experience of using machines as extensions of ourselves. We drive cars; we use hand tools and keyboards. Almost everyone has first-hand experience of observing someone using such tools with outstanding skill. What strikes me as different about Bobcat Dave and his kind is the way in which they use hopelessly imprecise machines (think of how sloppy the bearings are on digger buckets, and how much the excavator moves around on its tracks!) while getting hardly any tactile feedback through them.
There are other fascinating aspects to Dave’s work, too. He can drag the digger bucket across a pile of earth in a straight line, to within an inch or two. But his controls affect not the X-Y-Z position, but the joint angles of the digger’s articulated arm. The kinematic calculations required to map linear motion of the end-effector into the required movements of the joints are not trivial, and caused industrial robot designers of the early 1980s a good deal of trouble. Even more eye-catching is the agility and speed of Dave’s digger arm – surely too fast for it to be under closed-loop control through Dave’s eyes and hands at all times. Dave is predicting much of the digger’s likely behaviour when it is moving fast.
Evolution is a remarkable process that has led to Nature finding some amazingly elegant solutions to apparently complicated problems. But it is a fairly safe bet that evolution played no direct part in making Dave a better excavator operator. His skill, and the fact that hundreds of millions of people drive cars accurately and safely every day, are witness to the ability of human brains and motor systems to learn to manipulate new, ill-specified and inaccurate external systems with awesome effectiveness. If we could learn more about how that ability evolved and how it works, we could probably write much better software.
A colleague recommended this talk by Bret Victor. With passion and flair it discusses why it’s important to follow your creative ideals, and what you and your software tools can do to help bring your visions to life. This post probably won’t make a whole lot of sense unless you watch at least the first fifteen minutes of the talk.
I watched it all. It’s clever (very clever), impressive (very impressive) and thought-provoking.
But I believe it is deeply, saddeningly, disturbingly wrong. I simply cannot buy in to his single-minded passion for doing-by-showing. Ultimately, if we can’t theorize and generalize about things, we can’t progress. What Victor was demonstrating seems to me a perfect way to set limits on your horizons, circumscribed by the ability of your show-me simulation tools (whose capabilities he’s so skilfully and energetically enhancing) to render everything as a concrete example. Mathematics doesn’t have those limits; ultimately, if you have visualization tools but can’t do math (in the very broadest sense, including discrete math and mathematical logic) then you are running down a very beautifully decorated dead end.
Of course, having tools that can quickly and flexibly exemplify abstract ideas is a wonderful aid to visualization and early understanding. Educators, especially in scientific disciplines, have known that for generations. But ultimately an example is no substitute for the generality of the real thing, and my fear is that Victor and many other evangelists of our tool-driven world are seducing a whole generation into believing that this kind of artificial reality is the real thing.
Personal aside: I can’t do math. Not really. Only the scrappy bit of calculus that got me through undergraduate physics, and a few loose ends of discrete math and logic that I’ve picked up by osmosis during my Markovian stagger through half a lifetime of digital electronics and software. But I sure as hell wish I could do math – really, properly, fluently – and I wish for that far more than I wish for better visualization tools, however responsive and intuitive they may be.
Imagine…
you’re googling for cake recipes, and up pops an ad for a gadget that claims to make home-baked cakes come out lighter, fluffier and better tasting. Everyone will want one of those! And it’s all the more attractive because it’s so straightforward to use: it’s just a little patch that you stick on the outside of your mixing bowl, and every cake you make from then on will come out so much better. The advertising blurb tells you all about how the majority of home bakers make heavy, sunken cakes using traditional methods, and how an institute in Portugal has come up with an amazing new theory about channelling the earth’s natural magnetic field in just the right patterns to align the molecules in the cake mixture so that they don’t attract each other so strongly, allowing the mixture to rise better. Wow, that sounds pretty scientific and impressive, especially when you look at the long list of PhDs in nutritional science and bakery technology who’ve signed up in support of this product and given it their warmest recommendation. Read more…
I think I may have to choose between losing a friend and losing my integrity.
The friend in question asked me for my opinion, as a scientist and engineer, about the products offered by SaferWave. And I answered, in more detail than there’s space for here, that on any intelligent reading it’s snake oil. She passed on my response to the MD of the company, who responded in combative style; but the substance of his response (and, again, after another round of emails) was that I’m a scientist and therefore have “a different perspective”.
I’m not too clear what is so bad about a “different perspective” that says: here’s something that looks, to any sane engineer, like a piece of nonsense – where’s the evidence that it is doing any good, or even doing what you say it’s doing? But it’s plain that my friend instinctively leans toward faith in the idea.
I’m not giving up on my “different perspective” any time soon. But what should I do about my friend’s concerns? I can’t roll over and say “it’s OK, this product is marketed by nice people who understand the holistic relationship between electromagnetic radiation and bio-energy”. So I seem to have two choices: shut up, or go on fighting. In other words, I choose between letting the Bad Guys win by default, and fighting an unwinnable battle that will probably lose me a friend.
When the sadness and anger has worn off a little, I’ll post again about the detailed reasons why I am confident the SaferWave product is garbage.