Information Design

I pass this sign every day when I return home from work, and its always irritated me. It sign reads:

Telephone No: 0161 237 1025
STY 7m13¼ch”

Who thought that “7m13¼ch” made a good identifier? And especially one that had to be read and recited over a phone in a hurry. Why not a simple composite numeric key?

And why is one line of text in title case and all the rest in upper case? Grr…


Exam Prep

Me to eldest child: Good luck with that physics exam today. (Joking) Remember – everything reduces down to the Schrödinger equation in the end, so that’s really all you need to know anyway.

Child: Would that be the time-independent version, or the time-dependent one?

Me: Err…

Child: Relativistic or non-relativistic formulation?

Me: Just do well in the exam, please.



A couple of years ago, in response to a challenge from one of my children, I wrote a poem. It’s not a good poem, and even a Vogon would be embarassed by it. But nevertheless, a poem it is. A while back I found it tucked inside a book and, since there is unlikely to be a follow-up, immediately thought I should expose myself to ridicule by posting it here. It’s really bad.


For those who can’t read my writing:

Plato, in the cave,

Watches the firelight shadows dance.

And dreams of Wittgenstein

In the trenches

Lit by flickering phosphorous flares.

Neither of us know what any of this means,

Do we?

No, he says, but at least

We tried



Passwords UX

I’ve just been through the process of claiming a tax refund. To do this I first had to create  something called a Government Gateway Account. As well as giving me the slightly queasy feeling that I would now exist forever on yet another database I also, inevitably, had to create yet another password that I will henceforth have to remember. Also forever. Here’s the password creation screen:

Government Gateway Account password creation screen

Government Gateway Account password creation screen

This does not fill me with confidence. Not at all. Not even close.

Firstly the 12 character maximum length just screams “we store your password in plain text in a CHAR(12) column, so there” at me. Like its 1993 and we’re using CGI or something. No hashing. No salting. Just a nice text column that our legacy platform can read, and that the techs can run a SELECT on when you forget your password or they fancy a giggle.

And the no special characters rule instantly activates my “we don’t do SQL injection mitigation at the backend, and we don’t care” detector. Because the platform probably dates from before the time that anyone considered that it might be connected to the internet.

Oh, and the big fat BETA at the top: I get that it’s probably meant to look exciting, but it doesn’t fill me with hope. This is my government ID. Where’s the smartcard authentication? Can I use my Yubikey? Nah, none of that stuff.

Bah. Whatever. As long as I get my refund.



// TODO: Requires testing on staging env. ** Do not run on production ** 
public bool Validate(Terms brexit)
    if (this.EU.Commission.Approves(brexit))
        if (this.EU.Countries.All(country => country.Approves(brexit))
            if (this.EU.Parliament.Approves(brexit))
                if (this.UK.ConservativeParty.Approves(brexit))
                    if (this.UK.Parliament.Approves(brexit))
                        return true;  // TODO: Gives "unreachable code" error!!??

    throw new HardBrexitException("No deal", brexit);  // Fallthrough

Time and Memory

Your child fusses with his uniform for a few moments, then goes around to the back of the car to get his bag. You watch him walk away across the car park towards the school buildings. He looks back only once and gives a gesture that might be a wave. You rest your chin on the steering wheel and watch him in the bright, cool autumn day with the leaves on the ground and try to fix the moment in your mind. It occurs to you that in a few decades time, when they are both grown and gone out into the world, you’ll remember moments like this. And then you think: what will it feel like to have carried such memories over such a distance? And then you realise that you’ll also remember thinking about that too: the anticipation of an understanding not then available to you. Time is so strange. The child is gone and you drive away to your work and the world’s new day.



Perhaps God has many more seasons
in store for us —
or perhaps the last is to be
this winter
that guides back the waves
of the Tyrrhenian Sea
to break against
the rough pumice cliffs.
You must be wise. Pour the wine
and enclose in this brief circle
your long-cherished hope.

— Horace, Odes



Today I am remembering my old friend Panayiota Pastra — Yiota to everyone — who died a year ago today.

We met when we were neighbours in Walley Range, Manchester, in the mid-nineties. She was a postgrad student at UMIST and I had been working for software companies in south Manchester for a couple of years. We would often sit in her flat drinking Greek-style coffee and just talking. She took me to bars where there was good ouzo and you had to shout over the noise of crowds of Greek people good-naturedly arguing with each other. I took her up Mam Tor on a very windy day. We cooked meals for each other (badly I’m sure, for my part, and expertly for hers) and she introduced me to Robert Frost.

When she moved to Glasgow to do her PhD, I drove her there with all her possessions. I visited a number of times before she moved on again to France, and then back to Greece. And we kept in touch over the years; first by letter and then in that strange, disconnected way that the internet makes possible. She went on to become a highly-regarded academic and teacher, eventually moving back to the UK. Then she told me she was ill, and a few email exchanges later she was gone. She left a husband and a young family.

She was a good and brave and dear friend at a difficult time in my life. And then a more distant but no-less important internet friend for a large span of my adult years. I miss her.

Yiota in Glasgow in 1997