Saturday, 28 July 2012

what's wrong with "and"?

An Amazon Marketplace book delivery arrived this week, with a bright yellow sticker attached:

Goods Do Not Meet
The Requirement Of
Article 9 and 10 Of
The Contract For The
Foundation Of The
European Community

I have no idea what this means, and, judging by the result of Googling the phrase, neither does anyone else whose parcels have sprouted this sticker.

Presumably it has something to do with the Treaty of Rome, but I have no idea what.

But more to the point: What's With All That Unnecessary Capitalisation Of  Every Word Except "and"?

Tuesday, 24 July 2012

Sunday, 22 July 2012

sunshine on my garden makes it purple

It seems to have been raining continuously since April, but yesterday the sun finally came out, lighting up the garden.  The buddleia looks the happiest it's been for many years.


The scent is amazing, too. Now we just have to wait for the butterflies to find it...

Friday, 20 July 2012

road signs of desire

As seen by SFX in Cardiff, pointing to the Doctor Who Experience:

I think I'd go the other way!



Saturday, 14 July 2012

all ropes cut

I thought Angry Birds was the Most Addictive Use of a Physics Engine Ever. I was mistaken.

I’ve just finished Cut the Rope. The premise is simple: you have to feed the candy to a cute little critter called Om Nom. That’s it.

Well, except for the fact there are tools, and barriers, and gravity, and puzzles, and stars to collect. In the usual way, things get harder as you progress, and the game slowly trains you to solve fiendish puzzles at speed.

There are floating bubbles, elastic ropes with movable supports, extendable ropes, bees towing rope ends, candy-stealing spiders, puffers, electric sparks, teleporting hats, halved candies needing to be joined, reversible gravity, bouncy platforms, rotating saws, limited time stars, and (when you move on to the second game, Cut the Rope Experiments), shootable ropes, suckers, rockets, bath tubs, and robot hands. Not all at once, of course.

Here I went for all three stars on all levels, despite arguing against the need for that in Angry Birds. That's because here it’s a bit different: getting all three stars is part of the puzzle. And some of the puzzles require some subtle out-the-box and creative thinking: hours of fun and frustration.  (Backward-chaining from knowing where the candy has to end up is a useful analysis approach.  As is considering the use of all the tools provided; although, cunningly, sometimes tools are red herrings.)

This is a truly marvellous combination of puzzles, accuracy, and speed. Much more variety than Angry Birds.  Best 62p I’ve ever spent (leading to splashing out another 62p for Experiments). I'm now in serious withdrawal, desperately waiting for new levels...

Thursday, 12 July 2012

narrating complexity

Our new interdisciplinary network on Narrative and Complex Systems is having its first workshop, in York.  Yesterday we had a great time explaining to each other what we did, from narrative in fiction, in films, in computer games, to the narrative of complexity and emergence, and trying to discover common concepts.  We finished the day by brainstorming a mindmap:


This process was amazingly helpful in distilling our ideas.  The result, however, is pretty incomprehensible to anyone who wasn't there!

Sunday, 1 July 2012

a stopped clock is never right

A quarter past six? Or is it?
There's a saying that
Even a stopped clock is right twice a day.
This is used to mean: even something completely unreliable can (accidentally) sometimes be right.  The saying is sometimes cast as a paradox
A stopped clock is better than a clock an hour slow, because a stopped clock is right twice a day, yet a clock an hour slow is never right!
I want to explain how, in fact, a stopped clock is never right, and a clock an hour slow is always right.  This requires us to think of a clock as a simple computer, computing the current time, and ask ourselves, how can we tell the current time from the output of its computation?

A computation has three steps
  1. initialisation: set up the computer to perform the task of interest
  2. operation: the computer does its thing
  3. finalisation: read off the answer from the computer
(Don't blame me for the step names; I didn't invent them!  For those of you who are interested, this terminology comes from computational refinement theory.)  For a clock, these steps are instantiated as:
  1. initialisation: set the clock to the current time
  2. operation: the clock does its thing, marking off the passing moments
  3. finalisation: read off the (now later) current time from the clock
It's nearly ten past ten. Or is it?
Notice how the finalisation step is non-trivial.  The clock doesn't output "the time": it displays an output that requires some effort to be interpreted as the time.  To read the time from my analogue wristwatch (yes, I still use a wristwatch, and yes, it has an analogue display), I have to convert the positions of the hands, relative to a standard vertical (12 o'clock!) position, into a time.  This takes a (small amount of) skill: I can remember being taught how to "tell the time", that is, read an analogue clock face, by my aunt when I was about five. Even to read the time from a digital face requires some processing: to convert the displayed pattern of LED segments, or of pixels, into characters (ie, to read the  displayed pattern as characters), and interpret those characters ("12:30", say) as a time ("half past twelve").

This finalisation step is not the only one that can be applied, however.  This is the key step in the argument.  I realised this when I was attending a conference in Toulouse in 1999, and my watch was "broken".  It hadn't stopped, but I couldn't change the time (I couldn't reinitialise it), so it was an hour slow (stuck on UK time). That is, when I interpreted its output using the conventional finalisation, the time I got was off by one hour.  Given we started with "a clock an hour slow is never right", I could nevertheless use my watch to tell the correct time.  How?  (The answer will be obvious to anyone who has used a sundial during daylight savings time.)  By applying a different finalisation, one appropriate to its actual initialisation.  Here's the setup:
  1. initialisation: set my watch to the current UK time, so an hour behind the current French time
  2. operation: the watch does its thing, ticking off the passing moments
  3. finalisation: read off the (now later) time displayed by my watch, and add one hour
Voila! My watch was computing the correct French time, provided I finalised it correctly, that is, provided I correctly interpreted its output.  Well, you might say, but how did you know to add the hour?  Because I was the one who initialised it: I was the one who set up the computation. Other people looking at my watch would be confused, because they would be applying a different finalisation: the conventional one.  But it is merely a convention (established to make it convenient to use clocks other than ones that you have set yourself). In truth, you cannot tell the time looking at a clock unless you have some extra information: what finalisation you need to apply to interpret its display as a time. In practice, applying the conventional finalisation works, most of the time.

By using even more powerful finalisations, we can compute the time using even more faulty watches. For example, if I have a watch that loses a minute every hour, I can still use it, by adding the correct number of minutes back on when I read the time.  It is the combination of operation and finalisation that gives the resulting computation.

So how about the stopped clock?  Can you use it by applying an even more powerful finalisation? No. There is no finalisation that allows you to read off the correct time. The clock is performing no operation, it is not marking the passing time, so in order to get the desired computation from it, all the work would have to be done in finalisation alone, which would require using another clock!  The stopped clock is never right, because there is no finalisation: no way to interpret the display.  Your fortuitously looking at it when its display shows the current time does not make it right, not even coincidentally, because you have no way of interpreting its output.

However, there is something that a stopped clock has computed: the time at which it stopped (subject to applying the correct finalisation to its display, the one that would have been used when it was working).  This computation is the staple of many a TV cop show to tell the time of death of the newly discovered corpse with a conveniently smashed wristwatch (and the conventional finalisation being the wrong one is a cunning red herring in several detective novels).