Thursday, 30 May 2013


Google Takeout backs up all my google data (well, except gmail) with two clicks, and a drag and drop.

For all my social networking posts, see my Google+ page

Wednesday, 29 May 2013

10 types of people

There are 10 types of people in the world
* those who understand binary
* those who don't
* and those who didn't expect this joke to be in base 3

For all my social networking posts, see my Google+ page

Tuesday, 28 May 2013

interactive visualisation

Up and Down the Ladder of Abstraction: a systematic approach to interactive visualization.

The most exciting engineering challenges lie on the boundary of theory and the unknown. Not so unknown that they're hopeless, but not enough theory to predict the results of our decisions. Systems at this boundary often rely on emergent behavior — high-level effects that arise indirectly from low-level interactions.

(via Michael Nielsen)

For all my social networking posts, see my Google+ page

Monday, 27 May 2013

the power of abstraction

Prof Karen Spärk Jones
Prof Barbara Liskov
Last week I popped down to London to attend this year's annual Karen Spärk Jones lecture, sponsored by the BCS and IBM.  This year's speaker was Professor Barbara Liskov, from MIT, winner of the 2008 ACM A.M. Turing award.  Her talk was titled "The power of abstraction", and she gave us an historical overview of her work.

The excellent talk was videoed, and should be online at some point.  Here I just want to pick up on the points that particularly resonated for me.

She started off talking about the software crisis of the early 1970s.  There have been several software crises: this was probably the first named one.  People didn't know how to write large pieces of software, there was no methodology, and the programming languages of the day didn't help.  Dijkstra had published his classic paper, Go To Statement Considered Harmful, in Comms ACM in 1968, calling attention to one aspect of the problem.  Nowadays everyone has heard of this paper;  "considered harmful" in a title has become a CS trope.

What I didn't realise about his paper, however, was the reaction to it.  Liskov explained that many programmers were insulted: of course they could write understandable programs with gotos.  But more interestingly, there was a doubt about whether it was even possible to write all programs without gotos.  Today, of course, this problem is solved; we deride "spaghetti programming", and instead use languages that incorporate structured gotos encapsulated in commands such as ifforwhilebreakcontinue, and try. (Although OO allows the possibility of spaghetti messaging.)

Liskov went on to talk about her own contributions to teasing out what was needed to structure code: the abstract data type.  She and her team designed and implemented the influential language CLU (short for "cluster", the name of its abstraction mechanism), which included ADTs, static type checking, separate compilation, polymorphism, iterators, and exception handling --- but no goto statement.

For this and subsequent work, Liskov won the prestigious Turing Award in 2008.  She said that when the award was announced, some student commented: "What did she get this award for? Everyone knows this, anyway!"  Precisely: everyone does, now.

Liskov finished off by talking about the present. We have seen Moore's Law take a right-angled turn recently: instead of chips getting small and faster, they have gone multi-core.  In the past, we have not had to worry too much about parallel processing, except in certain specialised domains, because Moore's Law would provide a single processor with the required power in a few years.  Now, for the first time, we have to bite the bullet of parallelism in everyday computing.  Liskov is now working on methodologies and language support for parallel computing, not for systems with just 4 or 8 cores, but with hundreds or thousands of cores.

In my mind, this folded neatly back to the beginning of her talk, and a relevant quote from Dijkstra's paper:
Our powers to visualize processes evolving in time are relatively poorly developed.  For this reason we should do ... our utmost to shorten the conceptual gap between the static program and the dynamic process, to make the correspondence between the program (spread out in text space) and the process (spread out in time) as trivial as possible. ...
    The unbridled use of the go to statement has an immediate consequence that it becomes terribly hard to find a meaningful set of coordinated in which to describe the process progress.

Back in the 1980s I was using occam, a parallel programming language.  One thing that struck me forcibly at the time was that the traditional linear textual form of occam code was completely divorced from the underlying static parallel structure (let alone the parallel temporal execution structure).  It was very easy to get lost in a spaghetti of communication channels.  I was so irritated, I even developed a 2D visualisation of the program structure.

So, what are the right static structures and abstraction principles to help us build dynamic parallel programs?  There are already many languages with parallelism, but I suspect that in 40 years time we will look back on them with the same pity we today reserve for the humble go to.  Let's hope Liskov and her successors can find the answer.

Sunday, 26 May 2013

Venus, Jupiter, Mercury

Three planets in alignment
figure from Scientific American blogs
Tonight sees three planets close together in the western sky: Venus, Jupiter, and Mercury. Our new binoculars got their first outing, and we saw the triple very clearly.  Beautiful.

This also gives us an indication of how good these binoculars are for stargazing: with my small birdwatching 8x42 pair, I could see Venus clearly, Jupiter just, and Mercury not at all. With these new 15x70s I could see all three planets clearly.

just visible in the slightly cloudy western sky; Sun 26 May 2013, 21:51 BST

the scientific process

There have been two well-publicised mathematical and scientific breakthroughs in the news recently, that have got the community all a-buzz, and that illustrate two quite different approaches to advancing understanding.

Yitang Zhang (Photo: University of New Hampshire)
Yitang Zhang
In the first, a "virtually unknown" mathematician has made a breakthrough in the twin prime conjecture, a deep question in number theory.  A beautifully clear write-up from the Simons Foundation explains both the mathematical problem, and the process by which Zhang's contribution was handled by the mathematical community.  Zhang wrote a paper and submitted it to the Annals of Mathematics, a highly respected journal.  There is was refereed, and swiftly accepted, since, not only was it correct, it was "written with crystalline clarity and a total command of the topic’s current state of the art".  Being right is crucial, but being comprehensible to the community is also important: it is hard to check someone's work if they have written it in a language all their own.  So, kudos to Zhang for his achievement, and to the mathematical community for recognising it.

Eric Weinstein
The second well-publicised "breakthrough" is Eric Weinstein's "Geometric Unity", a contribution to particle physics.  Or is it?  Here we have another unknown worker, but this time his idea has been launched on the world through a public lecture and a newspaper article written by his sponsor and friend, mathematician Marcus du Soutoy. No publication, no journal submission, not even an unrefereed pre-print, and so no peer scrutiny is possible. Several commentators, including writers at New Scientist and Scientific American, and many science bloggers, have been highly critical of this process that amounts to "science via press conference".

Andrew wiles1-3.jpg
Andrew Wiles
So, two announced breakthroughs by virtual unknowns, given two very different receptions.  Why the difference?  Well, because the conduct of science and mathematics is a process, not (just) a result. It's not some bizarre club, where you have to go through the right channels, jump through the community's hoops, in some arbitrary hazing process.  Those hoops are there for a reason.  It is so very easy to make a mistake, and the hoops are part of the process to help ensure that any mistakes are caught.  Remember the story of Andrew Wiles, slaving away in secrecy for seven years, proving Fermat's last theorem. Well, his first proof had a flaw. Fortunately, the error was correctable, after a lot of effort, and his proof stands. But other equally eminent mathematicians have thought they had made breakthroughs, only for peer review to determine otherwise.

Peer review is an essential part of the scientific process.  It's not there to keep out "outsiders". It's there to keep out errors.  Put up or shut up.  And show your working.

sunshine and snails

Today is a surprisingly sunny May bank holiday.  Out in the garden we discovered several beautiful "weeds" hiding behind some trees.  They are "weeds" in the sense that we didn't plant them there, or anywhere else in the garden.  We actually have no idea what they are.  But we're leaving them in place, so I suppose that means they are weeds no longer.

pink and blue erratics

and a third colour
A tulip suffered an unfortunate incident during some rather energetic weeding.  On investigation, it was found harbouring a passenger.

can't a snail get some privacy around here?

Saturday, 25 May 2013

sun pillars and ducks

Another glorious sunset tonight, with super colours and delicate cloud patterns.
Just how good it was wasn't clear until we moved so that the tree was no longer in the way, though.  Then we could see a glorious sun pillar -- much clearer than the previous one we saw. (And again, it was much brighter in reality than it appears in the photo.)
sun pillar, Sat 25 May 2013, 21:14 BST

After a day of relatively warm sunlight on the patio stones, the ducklings, now down to 10 in number, have decided to roost immediately outside our French windows.  They are oblivious to us inside, standing a foot away from them, taking photographs.

the one on the left is some sort of rugged individualist

sequestering carbon, several books at a time III

This week's haul; small, but perfectly formed:

A new Dennett and a new Hofstadter in the same week!  Life doesn't get any better than this.

The Druon needs a little explanation.  (The BtVS, on the other hand, needs no explanation.) This is an historical novel, telling the tale of the French kings of the 13th Century.  It is not the kind of book we would normally buy, and is in fact a free gift from SFX, on its 18th anniversary, rewarding us for having been subscribers from day 1.

18 years of SFX magazine
Why is SFX giving away an historical novel?  Well, possibly because of the cover quote:
'This is the original Game of Thrones'
George R. R. Martin

Wednesday, 22 May 2013

world enough, and time

I've really liked Lee Smolin's books, on Cosmology, Quantum Gravity, and String Theory.

He has a new book out, Time Reborn, which I haven't read yet.  Sean Carroll has an interesting review of it on his blog.
I have two worries. One is that Smolin seems to be pushing hard against a door that is standing wide open. With the (undeniably important) exceptions of the initial-conditions problem and quantum gravity, our understanding of time is quite good. But he doesn’t cast his work as an attempt to (merely) understand the early universe, but as a dramatic response to a crisis in physics. It comes across as a bit of overkill.

For all my social networking posts, see my Google+ page

Tuesday, 21 May 2013

twin primes

A lovely result, and a very clear overview from the Simons Foundation article.

(via John Baez)

For all my social networking posts, see my Google+ page

Sunday, 19 May 2013

suddenly telescopes, hundreds of them

telescopes for sale
Yesterday we had a day out at the International Astronomy Show, at the Warwickshire Exhibition Centre, near Leamington Spa. This was a big barn/hanger-like building, with multiple stands from different astronomical kit vendors.  On sale were telescopes, lenses, binoculars, astronomy books and posters, meteorites, plots of land in New Mexico, university courses, small domes, and other astronomically-related things.
more telescopes

a view from the restaurant area, on high

no chance to test any of the kit...
The vibe was a bit like computer shows in their hey-day 30-odd years ago, with crowds of people looking through lots of high tech kit. (The photos here were taken towards the end of the day, when the crowds had thinned. Earlier it was quite a crush.)

It was a typical spring day: cloudy and overcast. However, that didn't stop us buying stuff in anticipation of clear skies later.

We were tempted by the whole sky camera, and the solar telescope, but we eventually just bought a pair of binoculars, in anticipation of comet ISON later this year.

The small comet Panstarrs earlier this year was a bit of a dim, fuzzy disappointment (although some people got spectacular shots of it close to Andromeda).  But we remember the glorious Hale-Bopp from the late 1990s.  So we are getting prepared for later this year with suitable binoculars.  Comet viewing doesn't want a very high magnification, but needs good  light gathering.  So we went for a pair of 15x70.  Let's hope we get those clear skies!

Ironically, we bought the binoculars from Green Witch, our local astronomical supplier, so we could have saved a trip.  (We had previously bough a cardboard solar telescope from them, to watch the 1999 eclipse.  We also bought our proper telescope from them about a decade ago.)

But it was worth going, to see all the different peripherals that are becoming common.  Maybe we'll go for the whole sky camera when the price drops a bit.

Saturday, 18 May 2013

posters for LonCon

Call for Posters at the London SF Worldcon in 2014

I'm going to the Con, and I'll probably submit a poster -- some of my research merges into the SFnal here and there...

For all my social networking posts, see my Google+ page

Friday, 17 May 2013

sequestering carbon, several books at a time II

This is the catch from Amazon et al over the last fortnight, patiently waiting to be databased:

I'm already about a third of the way through Redshirts, and enjoying it immensely   It seems obvious where it's going, so I'm assuming it will instead go somewhere completely different.

Thursday, 16 May 2013

paint the sky with clouds

Walking down to work from the car park this morning, I was greeted by a marvelous sky -- and what appeared to be the cause.

a power station paints the clouds?
Zoom in on the "source", and you can see individual columns of vapour from the several cooling towers of a nearby power station.  The juxtaposition with the clouds makes for a great optical illusion: from this angle, the plume appears to be the source of the entire sky of clouds.

Down the bottom of the path, the view opened out, allowing sight of two more power stations, apparently also painting the sky with clouds.

well, the one on the right hasn't started painting yet, obviously...

Tuesday, 14 May 2013

food for thought

More than half of the world's population lives inside this circle despite it "being mostly water and including the most sparsely populated country on earth (Mongolia)"

Monday, 13 May 2013

double, double

So there I was, sitting in my study, listening to the rain hammer down, when light suddenly poured in through the window next to me, as the setting sun broke through from under the clouds. Aha!  I grabbed my phone, and dashed to the other side of the house.  And yes, there it was:

A beautiful double rainbow.  (As ever, reality was better than the phone camera could capture.)

And amusingly, the filename of this photo is 20130513_201305.jpg, because the photo was snapped at 13 minutes and 5 seconds past 8pm, on the 13th of May 2013.

Sunday, 12 May 2013

trees and flowers

The garden continues to burst into life. Both apple trees are in full bloom.  Given the density of blossom, and the lateness of the season reducing the risk of frost, we're anticipating a bumper crop, or, as we call it, a glut.  There will be many gifts of apples, come autumn.

the old apple tree: tasty cookers

the young apple tree: crunchy Coxes
The acer is looking its healthiest and loveliest since it was planted nearly a decade ago.  It had a few rocky years when we feared we might lose it, but two freezing winters have given it a new lease of life, and it's never looked back.
sunlight through the leaves
It's not just trees springing into life.

more bluebells than any previous year
Worth the long wait!

Saturday, 11 May 2013

Mathematical Models

Way back when I was at school, I came across a fascinating little book called Mathematical Models, by Cundy and Rollett.  It had instructions on how to build various mathematical objects, such as stellated polyhedra.  I liked the book so much I actually bought my own copy, new, for £2.95, which was a lot of money back then!

I made a few of the simpler models, but never got much further than the dodecahedron.  I certainly never got as far as making any of the fiddly stellated ones.

So today, when I came across a posting in Google+ about Anselm Levskaya's website polyHédronisme, I was taken right back to those days.  Playing with this interactive web-based systems is much easier than fiddling with card, glue, and scissors, though.  Type in a few commands, and a zoomable, rotatable polyhedron appears!

I've spent my afternoon playing around on this site, and reading up on Conway polyhedron notation that is used to define shapes, and now I can say I have at last "made" some of these polyhedra.

The small stellated dodecahedron is made by raising a pentagonal-based pyramid on every face of a regular dodecahedron. If the pentagons making up the dodecahedron have side length \(1\), then the height of each pyramid should be* \[ \frac{\sqrt{4\sqrt{5}-1}}{2} \approx 1.41\] The Conway notation command in polyHédronisme that achieves this is \(k(5,1.41)D\), which means: start with a dodecahedron \(D\), then raise a pyramid of height \(1.41\) on each \(5\)-sided face.

The great dodecahedron is made by making a pyramidal dimple in every face of a regular icosahedron. If the triangles making up the icosahedron have side length \(1\), then the depth of each pyramid should be* \[ \sqrt{\frac{1}{2}- \frac{\sqrt{5}}{6}} \approx 0.36\] The Conway notation command in polyHédronisme that achieves this is \(k(3,-0.36)I\), which means: start with an icosahedron \(I\), then indent a pyramid of height \(0.36\) on each \(3\)-sided face.

The great stellated dodecahedron is made by raising a pyramid on every face of a regular icosahedron. If the triangles making up the icosahedron have side length \(1\), then the height of each pyramid should be* \[ \sqrt{\frac{7+3\sqrt{5}}{6}} \approx1.51\] The Conway notation command in polyHédronisme that achieves this is \(k(3,1.51)I\), which means: start with an icosahedron \(I\), then raise a pyramid of height \(1.51\) on each \(3\)-sided face.

So much for standard polyhedra.  But polyHédronisme doesn't stop there.  I had great fun playing about with the notation language, producing weird and wonderful forms:

(i)  \(k(20,1)bk(3,2)I\)    (ii)  \(k(12,1)k(10,2)bk(5,1)D\)    (iii)  \(k(20,-0.3)k(6,0.3)bk(3,-0.3)I\)
(iv)  \(k(24,-0.5)k(6,0.2)k(20,-1)bk(3,-0.1)k(5,1)D\)

The results of play can only really be appreciated on the site itself, rotating the polyhedra, and getting a real feel for their shapes, with all their dips and bumps.  A marvellous site.

* The book Polyhedron Models has helpful stellation diagrams that allow these heights to be calculated, with a little trigonometry.

Wednesday, 8 May 2013


We've gone over to using Google products at work.  For the most part, I like Google Mail.  It has its quirks, but the selling point for me is that, being browser based, mail items have URLs, so I can just paste the relevant URL into my to-do list or Evernote daybook, rather than clutter up my inbox with emails I'm waiting to action or need for meetings.

However, Gmail has a user interface feature I just keep getting wrong.  I consistently click the "Compose" button to move to my contacts, instead of clicking the "Mail" menu, and selecting from there.

I keep clicking "Compose", instead of selecting "Contacts".  Why?

I don't know why I keep doing this (maybe because the first two letters are the same?), but I do.  All the time.  I don't blame myself: I have been well-enough educated in user interface design to believe that if the user consistently makes a mistake like this, the UI is to blame.

This particular mistake is not that serious: I just have to keep binning unwanted empty emails (and muttering imprecations at the interface).  But there's another mistake I keep making, this time with the Chrome browser: I often hit "close tab" instead of "back" when I finish reading a linked page.  And then I've lost that tab's history, in particular, the page I was trying to return to when I closed the tab.

But then the other day, I discovered that all is not lost!  Hit Ctrl-Shift-T, and the tab is automagically resurrected.  Hit it again, and the previously closed tab reappears. And so on. Yes!  A key combination to undo a user interface infelicity.

So why isn't this option in the menu?

Tuesday, 7 May 2013

a normal April again

Last April was anomalously wet.  This year, things were back to "normal", rainfall-wise, if not temperature-wise.  Despite being much drier, 2013 is still the second wettest April since (our) records began, with a measured 14mm:

April rainfall, in mm

Monday, 6 May 2013

How far to the Crowne Plaza?

We've just reserved our hotel room for Eastercon 2014.  The con is being held in the Crowne Plaza Glasgow.  The online booking system helpfully gives an indication of how far the various con hotels are from the venue.

One property of a metric is that the distance from somewhere to itself, d(x,x) = 0, for any x. However, the booking system seems to be using a more science fictional metric, since it thinks that d(Crowne Plaza, Crowne Plaza) = 176 yards.

Possibly the hotel is beside itself with joy at hosting Eastercon?

Sunday, 5 May 2013

pond life

Our pond "water feature" has stopped working. That probably means the filters are clogged. Getting to the pump to unclog it is a bit of a palaver, however.
(left) that's one small step for a man; (centre) wading out to the deeps; (right) you're not taking photos for your blog, are you?
And yes, the filters are very clogged.

(top) cleaned filter shining bright; (bottom) clogged stone and foam filters, still to be cleaned
After a second wading expedition to replace the pump, all is now right with the water feature.

Spring, beautiful, but needs work

The apple tree is blossoming.

But to keep a garden in flower requires work.  Here's our to do list for today:

Saturday, 4 May 2013

farewell, Jedi Day

All eleven ducklings returned to roost tonight.

10 in a flock, plus an outlier

The photo was taken at about 8:40pm BST, as it was getting dark.  So the shot has been brightened, to make it light enough to see the ducklings, which is why it is a bit grainy.

There's a slight pinkish tinge to the water.

That's because the sky above looked like this:

click to give that full screen effect
This shot has not been shopped at all (apart from being cropped).  The sky really did look like that!