A saga with Virgin Trains Mobile e-tickets


I've often considered myself an early adopter, but being of the nervous disposition I am in fact wary of things like e-tickets because no technology is perfect. Typically I like to have a paper backup of such things, just in case.

So, this also applied when I recently booked the whole family on return Virgin West Coast tickets from Scotland to London. I hesitantly ordered my tickets to be delivered to my mobile phone because I have been let down by the post before, and we have no self-service machine at our local station. (Sure, I can use the one at the main station on the day, which is 20 miles away, but I always feel it's a bit too late to find out something is wrong just before your train; I like to have these things in my hand in advance).

The thing is, Virgin seem to have changed their delivery of e-tickets and their app a few times lately. There was a time when you could download them into your iPhone wallet and display them on your lock-screen, which was ultra handy. And once they were on the phone, they were on the phone (or so it seemed anyway). I had very little issue with this system other than the risk of my phone conking out.


Now, however, tickets are accessed through the Virgin mobile app. The process seems similar: you "download" tickets, then on the day "activate" them. Well, our outward journey was fine, but it started to go wrong on the return journey.

We were sitting in Euston and about an hour before the journey I went into the app and made sure the tickets were "downloaded". All good. I then activated them, to make sure I had everything ready to present. Again, all good.

30 minutes before the journey I checked my phone again, checked the tickets were ok, and explained to my fellow-travellers that we'd have to show them at the platform entrance. All good.

Where did my tickets go?

About 20 minutes before the departure of the train we got the text notification to proceed to concourse. So, down we went.

I told you I was the nervous type, so I checked the tickets again. This time not good. I had been logged out of the app, and was presenting with a login screen. I tried to login with my regular details and it was rejected. Panic started to set in.

Now, I should also add that the week before when I booked the tickets, Virgin had taken it upon themselves to forcibly reject my existing password as not meeting their "new requirements" and so I had changed password. I started to wonder whether I was making a mistake or if it was them. Either way, whatever I tried, I was not getting in: I could not display my tickets.

I raced to the virgin ticket area to seek assistance - massive queues; one member of staff out front assisting and busy with two people ahead of me. Anyway, politely I waited while my blood pressure doubled, and eventually explained the predicament to him.

Now, I had taken what reasonable and available "backup" precautions I could, in the sense i had screen shots of my booking, the reference number etc. I asked would this be sufficient to at least get on the train and then try and sort the problem? He said no - the best he could offer was go over to the corner where there's a phone to virgin central command and see if they can do something like change your train!

A flash of inspiration

By now I was proper panicking, and was trying to do a password reset.

THEN, suddenly, I just had a light-bulb moment. Was this the internet? I realised my phone was showing a public WiFi connection but I'd not been asked to log in. I killed the WiFi, dropped back to 4G, and fired up the app again. I re-entered my login details and -boom- lo and behold I was back in my account.

However, my tickets were not in the app, despite previously having been "downloaded"! I "downloaded" them again, which thankfully worked, and was then able to activate them, before dragging my family at breakneck speed to the platform. We were back up and running.


This was a terrible experience on many counts: poor process design, poor user experience [failing a login attempt because of no internet connection but reporting just a login failure; loss of already "downloaded" tickets for example], poor customer service. It may have expanded my child’s vocabulary somewhat, but it didn’t do my cardiac system any good.

I had a quick look at the Virgin FAQ on e-tickets, and it says this:

Q: What happens if I run out of battery?

A: Ensure your mobile is charged, if you are unable to display your mobile ticket, you'll need to buy a new ticket at the full fare.

In other words: "no-show, no go.."

Obviously anyone reading that FAQ ought to realise that it would include any reason for failure to display the ticket; but what it doesn’t say is that mobile app appears to rely on an internet connection to display tickets. Had I known this at the outset this whole saga could have been avoided. Although, it does then beg the question, if the tickets are "downloaded" and "activated" why is an internet connection required at all after that point?

I suspect the answer is the tickets actually only live on the virgin server, and unless you can display that, you are stuffed.

back to good old paper

Suffice to say, I won't be using this system any time soon again in future unless I really have no option or Virgin introduce some kind of mitigation for device or connectivity failure. And if I do end up having to use the app again in future, at least I will take screenshots of all the tickets and bar-codes from inside the app in advance.

You have been warned.


Create your own Velux Black-Out Energy Blinds

In strong afternoon sun, the leakage is significant

In strong afternoon sun, the leakage is significant

The Original Energy Blinds

In 2015 I installed Velux "Energy" Blinds in our self-build house. Since the house is 1.5 storey - i.e. the upper rooms are in the roof space - it seemed like the extra insulation over and above normal blackout blinds would be a good idea.

Now, the thing is, at the time these blinds, although made of blackout material, did NOT claim to be blackout blinds, due to leakage round the edges. So, all credit to Velux for at least being honest. You can see opposite what this leakage typically looks like. 


Now, in reality, for the six darker months of the year it's not a massive issue (especially in Scotland) but during the summer months, with stronger sun and earlier sun-rises it did become a bit of a problem, to the point where I actually crafted some 'drapes' to stick over the window frame, made from blackout fabric. 

Frankly, it was all a bit of a palava, and actually stopped us using the windows properly; so I had been constantly racking my brains for a better solution. 

Energy Blinds Mark 2

In truth, I don't know if Velux are now on mark 2 blinds, or some other number, but come summer 2018 I was browsing their website and noticed that the original energy blinds had been revised, and now claimed to be full blackout. I emailed Velux to check, and sure enough, they had updated their blinds.  

If you shop around hard enough on the internet you can find them with around 30% off the normal retail price, but they are still not cheap. None-the-less, it seemed like a solution to our problem, so handed over my hundred-and-odd notes in return for a new version blackout blind. The room has two, but I figured I would test one first. 

The New Blackout Energy Blind is extremely effective. 

The New Blackout Energy Blind is extremely effective. 

Sure enough, they work a treat.  And while they don't (can't really) achieve 100% block, it's almost 100% and extremely effective - as you can see from the comparison picture.  In fact it turned out it was quite easy to fit, and I didn't even need to replace the blind, just carefully replace each side runner with the new ones, which now come with a flexible rubber baffle that provides the light blockage. 

This gave me an idea. 

If my 100-and-off notes had essentially just bought me a rubber baffle down the side runner, could I not come up with something similar myself for the remaining window that would save such a large outlay for such a small change?  

Well, I did indeed concoct a plan using some rubber draught-proofing material that I'd bought reasonably cheaply on ebay. For old time's sake, here's another "before" picture to enable a comparison. 


Create your own baffle 

stick the E shape draught excluder down the side channel of the blind, flush with the front lip. 

stick the E shape draught excluder down the side channel of the blind, flush with the front lip. 

So, here are some step by step instructions for what I did to save me well over £100 in replacing my second blind. 

You need suitable lengths of rubber draught insulation - both the "E" shape type (it has ridges in it) and also the "P" shape type (usually specified for blocking gaps of around 5mm). Colour is your choice, but crucially the "E" type I have bought has always come as a roll of two pieces joined side by side, which are intended to be pulled apart and used individually. DO NOT pull them apart!

The first step is to stick the "E" type excluder strip down the side of the side-runner, behind the string. See pictures. 

One key thing to note is: only stick down the forward most part of the strip (remember it's a double strip); leave the rear most part with its backing protector on. 

peel and stick as you go - don't try to peel everything off and then stick it all on at once. 

peel and stick as you go - don't try to peel everything off and then stick it all on at once. 

As with all good "sticking-on-a-long-sticky-thing" practice, don't peel the back off all at once. Instead peel a little, stick a little and then align-stick-and-peel as you go by pulling the backing off gently, bit by bit. 

Just take your time, bit by bit, aligning the rubber, and gently peeling the rear off in order to stick it. 

 The finished result - just to get the message home about aligning the excluder first, then peeling off protection from behind in order to stick it. 

 The finished result - just to get the message home about aligning the excluder first, then peeling off protection from behind in order to stick it. 

Phase 1 complete

This is phase 1 complete - and originally I was going to stop here.  If you look at the photo, you can see that this has produced a significant improvement. Sure, still some leakage at the top, but a hug reduction in the overall leakage non-the-less. 

Leakage result after phase 1 

Leakage result after phase 1 

Phase 2

Apply the "P" strip behind the unstuck part of the "E" strip. 

Apply the "P" strip behind the unstuck part of the "E" strip. 

Phase 2, which I suppose is optional, but in my opinion well worth it, is to apply the "P" shaped excluder, The idea is to apply it behind the unstuck part of the "E" excluder in order to press it against the side of the blind. In the pictures you can see i started by applying the "P" strip with the "tail" of the "P" behind the first strip, but in the end decided/realised this didn't really press it outward enough. So I switched to applying the "P" strip the other way round, with the "head" of the "P" underneath the "E" strip and pushing it further outward. This forms a much better seal against the side of the blind.  


End results

The end result is pretty impressive. The picture is a bit lousy because actually the phone was struggling to focus. While it has adjusted the exposure to compensate for the lack of light, you can see that if you compare it even against the phase 1 result, the strong triangular leaks at the top side of the blind are gone. The leak at the top is rectified by ensuring the blind frame is screwed tight to the window frame. 

The blackout effect is not as perfect as the new style blind, but it is easily 80% - 90% as good and 10% the cost!  It is a massive improvement over the "non-baffled" blind.

The good news is, the blind can still be operated as intended, though i recommend a little extra care as the draught excluder rubber offers up a bit more friction than its equivalent Velux baffles. 


The proof in the pudding is, of course, in the fact my child has slept in longer during the summer mornings than he otherwise used to. A definite WIN result all round :) 

My sunflower

I shed a little tear for my boy yesterday…

We spent the weekend alone together. After a tiring first week of school, On Saturday I took him to our capital city, Edinburgh as a treat.

We spent 12.5 hours in, on or admiring transport. Riding on the city tram, trains (a particular type he had been longing for), buses, and watching aeroplanes. I planned our route and sequence of stops, and then he devised a better one.

I tested him at the main station. It’s big, it's busy. 20 platforms handling 21 million passengers per year. I bought the ticket and worked out what time we would be catching a train. Armed with the information about the next stop and the time, I challenged him to go and read the departure boards, work out which train it was, get the platform number, then find the platform and take us there. He succeeded perfectly.

Then we went to a Chinese restaurant he specially requested - where he ate fries 🍟 and onion rings! It was a buffet, so I had not much choice but to leave him alone at our table while I got my food.

Towards the end of the meal the lady on the next table leaned over and told me what a delight to see a child so beautifully behaved. We're often told that.

And here's what I've realised: the more I allow him to spread his wings and grow, the more beautiful he becomes. He is my sunflower, reaching for the sky. 🌻


Despite an epic Saturday, on Sunday he wanted to see trains 🚂 again at the local station; we ended up staying several hours. He read all the information boards, decided which trains to see, found the platforms. We went over the bridge and under the underpass. We went up the stairs and down in the lift (elevator). He predicted the engine types, and as the trains came passing through the station he read the name plates to me and decided if he'd seen them before. "Sir John Franklin", "City of Manchester", "Treaty of Union" and so on and so on.

He told passers-by all about them, whether they wanted to know or not! He observed all the safety rules, even though his boundless enthusiasm was constantly threatening to break into uncontrollable excitement.

And that's when it hit me. My little boy is only four; he is locked into his passion for trains, but he just keeps amazing me. A tear rolled down my cheek.

I was confused, I didn't really know what emotion I was feeling.
He is my startling, fragile little whirlwind. 💜

My wife pinpointed it later for me: just an overwhelming sense of protection, not just for now, but probably for all that is to come.

Maybe this is why some kids can read long complicated words and trip up on short easy ones

A study of word confusability and similarity for whole-word readers

This article doesn't claim to be a valid scientific study, none-the-less it was interesting to do, and, essentially, perform as a thought experiment. 

One of the things I have noticed with my own son and lots of comments from other parents of early readers, gifted and potentially hyperlexic children, is that such children astonishingly read (recognise) long complex words (such as "galaxy" and "knowledge") with ease, yet sometimes (perhaps even often) get tripped up on short "simple" words, such as "one" and "many". The question is, what is the explanation for this, as it seems to defy logic?

I happen to have a background in the field of speech recognition (in computers) and there are factors of that field which boil down to the problem of recognising and distinguishing words from each other. So, I was eventually moved to perform some kind of analysis investigating this. I don't know if this is original or even valid research, but it was fun to do. 

How do early readers, read?

The first thing to be aware of is two broad types of reading (and reading-teaching) methods: phonics and "whole word" (or whole language). Phonics concerns the systematic pronunciation of the component sounds of a word to reach the whole. Whole-word does what is says on the tin: the reader either memorises or deduces the whole word in one step. (As adults we tend to read like this). 

My anecdotal conversations suggest that early readers are one or the other: some early readers display/develop/self-teach a phonic approach, and the remainder, it's the whole world. (In the case of my own son, it's "whole word"). In my anecdotal evidence, the most startling early readers are "whole word" because even at age 3 or 4, obscure words of 8, 10, 12 or more letters can be decoded instantly. 

Since whole-word readers essentially memorise and recognise entire words, it begs the question: given that they handle complex words with ease, why do they sometimes get tripped up on short words?

It's possible to come up with lots of theories involving visual processing disorders, dyslexic conditions, motivation (laziness) and so on. However, I theorised about a more empirical factor: if children appear to recognise short words less-well, is it simply because short words are less memorable/more confusable?  

(Confusability, in various forms, is a factor we have to deal with on a regular basis in speech recognition, which prompted my thinking.) 

Mr. Levenshtein, meet Dr. Fry.

Before we get to the analysis, I need to introduce two things. The first is the Fry Sight Word list. I don't seem to be able to find out much about Dr. Fry directly on the internet, but many educational websites cite the fact he created a list of the most popular and common English words in literature, originally in the 50's but since updated. 

If these are the most common words that a child is going to see, then it seemed to make sense to evaluate what levels of "confusability" exists among them. 

Top 50 Fry Sight words

Top 50 Fry Sight words

Next we meet Mr. Levenshtein; or at least his algorithm, which provides a way to calculate the number of single character edits to transform one word into another. To put that another way, it gives a measure of word similarity - small Levenshtein distances between words means they are more textually similar than those with large distances.  

We should note that Levenshtein distance only tells us about textual character difference (structure), which is certainly useful when computers are comparing words. It doesn't necessarily tell us how similar words are through the eyes of a child (e.g. geometry), but it's a good starting point. 


Analysis Summary

Analysis Summary

To perform the analysis, I took a set of "sample words"  and calculated the Levenshtein distance against between each of those words and every word in the "Fry Sight List".
I compared the sample words against the full Fry list (1000 words) and also against the top 150, and plotted the distribution of Levenshtein distances obtained. 

What this effectively tells us is "how similar is the target word to the most common words in the language". We might postulate that the more similar a word is to others, the more likely it could be confused - i.e. the less likely to stand out as unique. Or conversely, a greater cognitive load required to uniquely recognise it.

I plotted the results for "one" "many" "who" (all identified as "trip up" words), plus "galaxy" and "knowledge" (indentfied as easily-recalled words). 

To interpret the chart, the height of each bar tells you by what amount the target word differed from how much of the Fry's list. So, for example, a 50% at marker 3 means the word differed by 3 single-character transformations against 50% of the Fry list. 

Compared against 1000 top words, we see that "one" "many" and "who" are clustered around the 3,4 and 5 mark for Levenshtein distance. Indeed, this level of "similarity" captures up to 80% of the top 1000 words. In contrast, "galaxy" is typically different by around 6 - 7 letters, and "knowledge" even more different around 8 - 9 mark.

The effect is even more pronounced when comparing the sample words against the top 150 Fry words. (Again, many websites reference the claim that just 100 words make up almost half of all written material).  Indeed it's likely a child doesn't compare the word they are reading against their whole vocabulary, but will prune their recognition against a vocabulary that's filtered down to a smaller, similar set. Or to put it another way, they will most consciously compare a four letter words against the 3, 4 and 5 letter words in their vocabulary, and not the 8, 9, 10 letter words, which will be discarded subconsciously. 

In this case the profile of the sample words is more pronounced - the short words compare against the top 150 mainly in the 2,3,4 range (anything in 1 and 2 is certainly highly confusable). And the long, complex words now stand out as being significantly different - and thus, we presume easier to recognise uniquely within the given vocabulary.


There are of course weaknesses to this analysis:

1) it doesn't consider word geometry or font, which may make some words look more similar than others irrespective of Levenshtein distance, which considers the text only

2) The Fry Sight list is really only a arbitrary representation of the vocabulary an early reader might know. To some extent, by definition, this list is insufficient, because the words that early readers surprise their parents, carers and observers by knowing, are the long irregular words.

3) It would be useful to perform the analysis against a bigger vocabulary but of words the same length as the sample word - this might better match the process a child follows when recognising the word (pruning out the obviously non-similar words)

Notwithstanding, the comparison of sample words against the Fry Sight Word list shows statistically significant disparity in similarity between the shorter words than the longer words. At 1000 words long, the Fry Sight list offers statistical significance to the comparison.  

The result is not really surprising. As we might expect, there are more short words in the vocabulary, therefore more possibility of similarity and confusion. 



A Scientific Study of the distribution of Halloween Monkey Nuts within their shells

Some things are too important not to research. This year I saw numerous pictures in my Facebook feed of Halloween hauls (unanimously sweets) organised by type. That got me thinking, because I'd bought a whole bag of 'monkey nuts' to hand out on Halloween-  that we never used. Seems like they've gone out of fashion since I was a kid. 

I decided to go one better and measure the distribution of nuts within their shells. Typically a shell has one or two nuts, occasionally a prize of even more! The chart shows my results.  

Distribution frequency of monkey nuts within their shells.  

Distribution frequency of monkey nuts within their shells.  

At this time I have no way of knowing if this distribution applies to nuts growing in the wild or whether different supermarkets specify their own particular 'mix' :)  Perhaps that's for next year :) 

Make of it what you will.  

Controlling room temperature with Netatmo "occupancy detection" and IFTTT

Thanks to the addition of Heatmiser range to the online automation service IF (formerly IFTTT - "if this then that") it's now possible to control room temperature using inputs from your other IFTTT-friendly IOT devices. In my case, Netatmo weather station. 

In my house, heating for every room is individually controlled by a Heatmiser Neo thermostat, each running an individualised programme of temperature gradients throughout the day, tailored to each room. During the summer most of these are just on standby, meaning in practice unless the room drops below 12 degrees C, the heating will never come on.  

My child's room is the exception, because we don't want him to ever get too cold, and some days he naps in the afternoon; so his thermostat is always active. So far so good. Except when you open the windows, perhaps for fresh air during the day, and it turns cloudy, the temperature drops and the heating comes on and heats the great outdoors. 

Finally, I have a solution which does not involve adding sensors to the Windows.  

The first step is to use Netatmo indoor station as an occupancy detector. Over the last year I've charted the correlation between occupancy and CO2 levels and in general found that an occupied room tends to read >500ppm CO2 and unoccupied room is below that. Of course if you open the window the CO2 level drops to almost zero very rapidly. So, this basic threshold measure can be used as a simple detection of empty room and/or wIndows open.  

IFTTT recipes to control Heatmiser thermostats based on occupancy (CO2) 

IFTTT recipes to control Heatmiser thermostats based on occupancy (CO2) 


Of course, you might ask what happens if the windows are open while the room is occupied. Good question - but in our case it never happens; our child is young, so for safety when he is using the room we always have the widows locked shut. 

This simple trigger forms the basis of the input to an IFTTT recipe which controls the Heatmiser thermostat in the same room. If the CO2 levels drop (room empty or Windows open) then the thermostat is set to 'standby' (this stops it following its daily program) and if CO2 rises again ( = occupied) the standby mode is deactivated and the normal program continues to run. 

This way we hope to avoid those costly mistakes where we have opened the windows and forgotten to adjust the thermostat; or unnecessarily heated an unoccupied room.  

For the future we can explore whether outdoor temperature, wind speed and rainfall can be used to optimise performance of the indoor heating.   

More Sugru projects

I use Sugru around the home and car a lot, both indoors and outdoors.  

So here's a few more simple improvements made around the house. 

First up, the classic charging cable strengthening (iPad 2) - no mystery here. 

With a 2 year old about, the iPad cable needs a bit of strengthening  

With a 2 year old about, the iPad cable needs a bit of strengthening  

Next up, finger grips for a small remote control to help stop it sliding out of the hand. 

Sugru finger grips  

Sugru finger grips  

Finally, the ultimate tool you can never find: a pointy sticky sharpish thing to perform resets and extract SIM cards. This wee metal pin came as the on/off control with my solar lights - but a paper clip would do the same job.

Device reset tool

Device reset tool

Add a Sugru handle - voila!

Two new Sugru projects

Sugru has become my go-to DIY material. First I consider if the job can be done with Sugru, and if it can, I will.  

Magnets add a an extra dimension of usefulness - and although you can buy Sugru branded magnet packs, it is in fact cheaper to buy alternatives in bulk.  

The first part of this project is a magnetic mount for a solar step light on our back path. Not much point wiring up a light when this location faces South west and gets oodles of sunlight.  

The magnetic mounts mean no drilling, some adjustment possible in the exact position of the light, and of course completely undoable without damage. The solar light is metallic and will stick without modification. Quick, clean, simple, no tools! 

Sugru used to create magnetic mounts.  

Sugru used to create magnetic mounts.  

Part 2 of the project is to position the mount for my new netatmo outdoor sensor. It's just a plastic clip with a lug on it.  As it has no screw holes, Sugru is perfect to mount it.  The ideal position is under the front porch canopy.  

Netatmo internet connected weather station.  

Netatmo internet connected weather station.  

I used white Sugru and once afixed stuck some of the render chips back on top of it, so you can hardly see it. Very pleased with the result. The netatmo sensor just slides onto the lug. Again, quick, clean, simple, no drilling, no damage! I love Sugru! 

Netatmo mount on render/chippings.  

Netatmo mount on render/chippings.  

Coming home...

Well, at the time of writing there are two weeks to go, all being well. Two weeks until we relocate from the South East of England, to the country I call home: Scotland.

It's not something I've written about much - at all even - even though it's been in the works a good while. And the back story is long and winding. So, for now, I'll spare all that. This is a project, and it will unfold, and there will be plenty time for all that.

So, the grand plan is to build our own house, for which the wheels are in motion; and while that happens we are moving to temporary rental accommodation. We secured that earlier this month after looking for a suitable property for almost 6 months. I can tell you, I jumped on it! It's only about 5 miles from where we plan to build, so it will be handy as our build unfolds.

temporary home while our new one is built 

temporary home while our new one is built 

Our chosen destination is just inside the border of Scotland, a few miles from Gretna Green. This is Dumfries and Galloway, near the Solway firth.  Those that know me might wonder why we didn't venture as far as my childhood homeland in the Highlands; but in the end, practicalities around transport, access to my work etc. had to be part of the balance.  

Nonetheless,  it's a quiet rural spot with good access to transport links, Glasgow, Edinburgh and the North of England. (Carlisle, The Lake District, Newcastle, Manchester even). In fact Dumfries and Galloway is a bit of an unsung gem of Scotland - the countryside is unspoilt and rolling, the Solway coast edges the region with some decent beaches, and life is fairly rural. This is just what we want  for baba as he grows up. 

I'm certain we'll adapt to this way of life very easily - we are not really city folk :) and we both love Scotland. And we'll certainly relish being in striking distance of Edinburgh - our favourite city - as well as within striking distance of our relatives. The clean air and soft water, the wide open spaces and quiet surroundings, the cooler weather! All part of what we consider an improvement in quality of life. 

Let the adventure begin!