October 2010 Archives
I have just said goodbye to a visitor from The Universe Next Door.
When I write "said goodbye", I write figuratively. I wasn't able to say "Goodbye Zork" or "Goodbye Wxpltharg", because my visitor has no name. Names are phonemes concatenated, and my visitor's universe doesn't have concatenation. It doesn't have concatenation because, when you concatenate sequences, you can work out the result of adding their lengths: just count the elements in the concatenation. But my visitor's universe doesn't have addition.
My visitor's universe doesn't have addition because its elementary physical processes don't implement addition. As you might say, they don't count. Ours do: put one rock next to another rock, and you get two rocks. Put one autumn-fallen apple onto the teacher's desk next to another autumn-fallen apple, and you get two autumn-fallen apples and two pats on the head. One pat on the head because you were courteous; and one because you showed the teacher you realise that juxtaposing apples implements addition. She replies by juxtaposing pats. Rocks and apples and pats on the head are "things"; and the essence of "things" is that they have boundaries, which shield. But my visitor's universe doesn't have boundaries. It has ramifications, which penetrate. We draw circles and potato shapes; my visitor would draw spidery daddy longlegs and jellyfish with radiating fractal tentacles.
I was going to write that my visitor's universe doesn't have mathematical proofs. Because proofs are sequences of transitions between axioms and propositions derived from axioms, and my visitor's universe doesn't have sequences. If it had sequences, it would have to have concatenation.
But, in fact, my visitor's universe does have proofs. Although they work differently, by a process akin to stacking holograms on a hot plate and melting them into one. Because my visitor's universe has proofs, we could share mathematical knowledge. True, we needed several superfast computers and a bucketful of hyperFourier transforms on the algebraic syntax domain, thereby implementing an adjunction which mediates between the category of discrete shieldings and the category of indiscrete penetrations. But with our translator set up, my visitor showed me the reef of texturings, explained viscid and rrhoeic as well as the operations of clathration and exspumation and isthiation, and proved the existence of a maximally rrhoeic texturing which penetrates every texturing. I showed my visitor the ring of integers, explained positive and negative as well as the operations of multiplication and division and exponentiation, and proved the existence of a minimally positive integer which multiplies unchanged every integer. We symbolised my visitor's maximally rrhoeic texturing by a splat , and my minimally positive integer by a stick . The splat and the stick have utterly different properties, and yet are equally central and indispensable within their own axiomatic systems.
I showed my visitor practice as well as theory. I placed apples on my desk and counted them: one, two, three, 4, 5. I placed one apple next to two apples and totalled them. And I placed no apples next to two apples and totalled those. My visitor found this confusing, being unable to decide which patch of desk I had put the no apples onto.
It took an exhausting day, in which the sun had set and the street lamps come on by the time we finished, but I then went on to a real-world example: adding the three Jammie Dodgers left in my biscuit tin to the fifteen in the packet I had freshly bought from Oxford's Summertown Co-op. My visitor was sceptical. The Jammie Dodgers in my tin were softer than the ones in the packet. Four in the packet had dimples of missing jam, and on two next to one another, the edges had crumbled away. Perhaps a beetle had nibbled its way in, and was now taking a contented siesta in the bin of Kit Kats behind the biscuit display, replete with shortbread and plum jam. "How do you know," my visitor asked, tentatively counting a lamp post, "that addition will work when the 'things', as you call them, are not all the same? And why doesn't it add the crumbs?"
Because I research into spreadsheets, I showed my visitor Excel. I explained money, bookkeeping, accountants, and debt. I demonstrated multiplication and division, and the varieties of addition. The plus. Excel's COUNT function. Excel's SUM function. Autosum, symbolised by Σ on the "Standard" toolbar. Adding values in a column by using an outline. Subtotals in pivot tables. The SUBTOTAL function. COUNTIF, which counts only cells that meet some condition. DCOUNT, which takes the condition from a range of cells rather than an argument. COUNTA, DCOUNTA, and COUNTBLANK, for when cells are blank. SUMIF. And even SUMX2PY2, which Excel Help tells me "returns the sum of the sum of squares of corresponding values in two arrays. The sum of the sum of squares is a common term in many statistical calculations." Not to mention SUMX2MY2, which "adds the difference of the square of corresponding values in two arrays". And SUMSQ. Then too, you have addition in other guises. Run a finger along the cell grid and watch the column addresses climb; run a finger down the cell grid and watch the row addresses grow. Such a simple physical process: mere movement, and yet it adds numbers to addresses.
But why doesn't Excel have DIVA, or PRODSQ, or MULTIF? Or subdividends in pivot tables? Or an Autoproduct, symbolised by Π on the "Standard" toolbar? It is remarkable, addition's pervasiveness and dominance. The Martian Poets never wrote poems about addition; but that's because Mars has the same physical laws as Earth. You'd need to be a Universe-Next-Door Poet.
I drew this as a birthday card for a friend who is sysadmin in a high-energy physics institution. He says the most common, and most annoying, question posed by his users — good scientists, who are too single-minded about their research to think much about the computers — is "Where are my files?".
I was a sysadmin at an earlier stage in my career and I have infinite respect for the field: sysadmins are the secret masters of the universe, and they keep your life running.But I would like to know one thing. Does the real Google have a Queen Kong?
For this particular story, it may be useful to look up "Feynman diagram" and have to hand some graph paper. And a rubber. But there's something interesting about Heinlein in general. In SF criticism, Heinlein has a verb named after him: "Heinleining", meaning to work necessary background information unobtrusively into a story's basic structure. This is to be contrasted with "info-dumping", which plops the information into the story in a vast expository lump. Quite often, this falls just after the chapter heading: in a fake quote from the Encyclopaedia Galactica; a newspaper article; or a news update from radio, TV, or Holovision. I seem to remember John Varley in one of his novels — possibly Steel Beach or The Ophiuchi Hotline — using interactive-newspaper excerpts, but niftily indicating the educational level of his society by following these with tabloid-style versions from news tapes "for people of literacy level 3 or lower". Like juxtaposing a Times story about Angela Merkel with one from an audio edition of the Sun, the latter's significant content being "Phwoaarrr, look at those tits".
Lewis Shiner and Bruce Sterling's Turkey City Lexicon explains that one pernicious form of info-dumping is "As You Know Bob" dialogue, where the characters stand around telling one another bits of recent history that they couldn't in fact possibly not already know, unless they'd been trekking in the Amazon jungle for the past ten years. As if, while talking about the summer's holiday plans in the pub with my mate Robert from Camden, I mention that because of safety, I shan't consider the overland trail to Afghanistan, or the Maghreb Loop; but I then spend the next four pints telling him about September 11th, al-Qaeda, Taliban rise to power in the 1980s and 1990s, the Bamiyan Buddhas, the London bombings, the Danish Mohammed cartoons, and that idiot pastor you have over in Florida who likes to burn Korans.
Robert Sheckley wrote a lovely parody of "As You Know Bob" dialogue in and just before Chapter 27 of his novel Mindswap. It starts with Milord Inglenook bar na Idrisi-san — first Lord of the Admiralty, Familiar to the Prime Minister, Advisor Extraordinary to the King, Bludgeon of the Church Rampant, and Invocateur of the Grand Council — justifying to protagonist Marvin Flynn the need to rescue the philosopher Sieur Lamprey Height d'Augustin The Enlightened from the fortress of Castelgatt, where he has been imprisoned in order to prevent his treatise The Ethics of Indecision bringing down the Church by initiating his universe's version of a Lutheran Reformation. (Though I'm not sure whether "universe" is the correct word, given the novel's surreal scene-shifting and the susceptibility of the mind-swapping Marvin to a perceptual disorder known as metaphoric deformation.)
"I fear that my political knowledge is but indifferent poor", Marvin replies when Inglenook asks whether he is conversant with recent political developments here and elsewhere in the Old Empire. So, as they sit in the coach and four on the way to Castelgatt, Inglenook begins to talk:
The Old King died less than a decade ago, at the full flood of the Suessian heresy, leaving no close successor to the throne of Mulvavia. Thus, the passions of a troubled continent came ominously to the boil. Three claimants jostled for the Butterfly Throne. Prince Moroway of Theme held the Patent Obvious ...
... These were the factors that exercised men's passion in that fateful year. The continent stood poised upon the brink of catastrophe. Peasants buried their crops underground and sharpened their scythes. Armies stood to attention and prepared to move in any direction. The turbulent mass of the West Monogoths, pressed from behind by the still more turbulent mass of hard-riding cannibal Allahuts, massed threateningly on the borders of the Old Empire.
Darkmouth hastened to reequip his galleys, and Hostratter paid the Vaskian troopers and trained them for a new kind of war. Romrugo cemented his new alliance with Puls, achieved a détente with Ericmouth, and took account of the new rivalry between Mortjoy and the epileptic but dourly able Murvey. And Moroway of Theme, unconscious ally of the Rullish pirates, unwilling champion of the Suessian heresy, and unwitting accomplice of Red Hand Ericmouth, looked to the grim eastern slopes of the Echilides and waited in trepidation. It was at this moment of supreme and universal tension that Milord d'Augustin all unwittingly chose to announce the imminent completion of his work of philosophy...
And, as Inglenook's voice fades slowly away, and no sound is heard but the heavy thrum of horses' hooves, Marvin says quietly, "I understand now".
You won't find expository lumps or "As You Know Bob" dialogue in All You Zombies. As Heinlein said in his 1957 University of Chicago lecture: You have a contract with the reader to place the reader in your universe, but if you have to stop the narrative in order to explain what the universe is, you've violated that contract.
Here's a little cartoon about measuring code quality: on the intriguingly titled page Object Orientation Isa Hoax.
This page, by the way, is in a wiki run by Cunningham & Cunningham, Inc., whose front page says it's about people, projects and patterns in software development. The rest of Object Orientation Isa Hoax is a discussion about an interview with Alexander Stepanov in which he criticises object-oriented programming thus:
I find OOP technically unsound. It attempts to decompose the world in terms of interfaces that vary on a single type. To deal with the real problems you need multisorted algebras — families of interfaces that span multiple types. I find OOP philosophically unsound. It claims that everything is an object. Even if it is true it is not very interesting — saying that everything is an object is saying nothing at all. I find OOP methodologically wrong. It starts with classes. It is as if mathematicians would start with axioms. You do not start with axioms — you start with proofs. Only when you have found a bunch of related proofs, can you come up with axioms. You end with axioms. The same thing is true in programming: you have to start with interesting algorithms. Only when you understand them well, can you come up with an interface that will let them work.
Stepanov is an author of something that, like the cartoon, I have only just discovered: Elements of Programming, coauthored with Paul McJones. This book identifies the mathematical structures that underlie many algorithms, explaining their important properties and theorems. As the online copy of the chaper on Transformations and Their Orbits shows, this gives a rich vocabulary of well-understood and precise concepts with which to describe algorithms. I'd read the book now, were the rest of it online.