AppleCare tourism

So here’s a random cool thing that happened.
I bought my fancy Apple Watch in Seattle, partly because I was celebrating this, and partly because it was cheaper there (I even went in on the afternoon of the Apple keynote, so happily got $50 off.  I picked up the AppleCare because I wanted it, and I was assured that it would be valid in the UK.
Turns out that’s not quite true.
A few months later, entirely through my own fault, this happens.
2016-06-27 14.17.56-1
I pop into the Apple Store and wave my Apple Care around – I’m pretty sure that I only have to pay £50 excess and the the watch is repaired (This is what the internet told me anyway).
Turns out that because I made my purchase in the US… there is no excess, it’s just repaired for free and delivered to my home.  Score.
So if you are taking a trip to the US soon (and I am) this is an approach to take.

Extracting all of the postcodes from your text message history



(This post is a ‘tidy up’ of the live notes I made when playing with some text)


I’ve always wanted an app that could scan through your SMS history and pull out the addresses that people have sent you over the years. It would be really handy for travelling, posting surprise presents and checking to see, for example, if anyone you knew lived near a place you were going.

For this post, I extracted all the SMS messages from my iPhone, so it occurred to me I could do the next best thing.


If you’d like to repeat this work – I’m using OSX and I extracted the iPhone messages with iExplorer into CSV files.   I’m also using UK postcodes which have a particular structure:


The structure of a postcode is a one or two-letter postcode area code named for a local town or area of London, one or two digits signifying a district in that region, a space, and then an arbitrary code of one number and two letters. For example, the postcode of the University of Roehampton in London is SW15 5PU, where SW stands for south-west London. The postcode of GCHQ is GL51 0EX, where GL signifies the postal town of Gloucester.

(from wikipedia)


To match postcodes I’m using this regular expression:

[A-Z][0-9]* [0-9][A-zA-Z][a-zA-Z]


Alert readers will notice that that’s a little off, but it works for these purposes.


With that all you need to do to extract all of the postcodes you’ve ever been sent is to run this command in the root of the folder that you extracted your SMS messages to.

grep “[A-Z][0-9]* [0-9][A-zA-Z][a-zA-Z]” *.csv > codes.csv

The results need a small amount of clearing up (I’m afraid I’m going to avoid sharing all of my friend’s address here), but it worked, I now I have a handy set of postcodes, which makes it much easier to surprise friends with presents.

The Dvoark keyboard layout and what I learned.

So about two months ago I switched over to the Dvoark keyboard layout. Full immersion.  It was a really interesting exercise (for comparison, I got up to about 45WPM, and I’m 72ish in QWERTY)  This week I switched back to QWERTY.  I think it’s worth sharing what I’ve learned.

1. Switching layouts is a lot easier than you think it might be.

I moved all my keys around and was bamboozled for about an hour. I used a children’s typing tutor called Animal Typing for an hour or two and found that I could at least hunt the letters  relatively well.  I was working at 15-18WPM by the end of the afternoon, and actually that’s quite doable. As many people are quick to point out, for most of what we do, thinking speed is the important thing rather than typing speed.
I was at 32 WPM by the end of that week (we went immediately on holiday for two weeks ) and I was happily on 40 shortly after.

2.  Switching keyboard layouts is the only way to learn to type ‘properly’.

I made a concerned effort to learn Dvoark properly. Keys that were meant to be pressed with the little finger, got pressed with the little finger. Keys that where meant to be on the left hand where pressed with my left hand and I stared using the ‘other’ shift and control keys when I should do.  I worked really hard on my form when Dvoark was going in because I knew that once the muceul memory solidified, there would be NO going back.

3. Typing Properly is the biggest myth in workspace layout.

Typing properly turns out to be a really poor decision.  Once I reached a certain speed I started getting pains in my left wrist. It was an open question if it was caused by the keyboard or climbing too much.  I stopped climbing and  the pain stayed.  I used my bluetooth keyboard and the pain stayed. I bought a fancy cool split keyboard and the pain went away.

Maybe it was a growing pains things. Maybe a few weeks on the split keyboard would let my fingers get used to doing things properly.
Then I had one day working remotely on my laptop (in a park it was nice) and the pain returned with a vengeance.  I put my keyboard back to QWERTY a couple of days later and have been pain free (and faster) since.


My conclusion is this, Dvorak is a much much better keyboard layout for people who are typing properly, and actually it’s a bit of a no-brainer in that situation. But our idea of typing properly is from the same era as ‘mad men’. It doesn’t take into account laptop designs, touchpads, mice, and a massive array of things.  When I learned to type QWERTY naturally (I use most of my fingers btw and have about a 65WPM speed) I hit keys that were just that, natural.
I suspect that, if i had just learned to type Dvoak naturally, then I would have much less pain and discomfort using it.   But given that it is a keyboard layout that it explicitly designed for people to use ‘properly’ I feel like I wouldn’t be getting the benefits. There is, presumably, a keyboard layout that is much more efficient for people who type the way I do. But providing individual users with their own keyboard layout is probably quite the futuristic thing.
I did consider buying a stenography machine at the car boot sale though…

A weekend on mountains. Doing (most of) the three peaks challenge

Screen Shot 2016-05-11 at 20.23.05

I spent this weekend all over the UK as part of a three peaks team raising money for Diabetes UK (donation link).

It was lots of fun. Right now I have a back injury (so no climbing or Judo at the moment) and was a little worried that my body wouldn’t hold out. As it happened I made it all the way up Ben Nevis and most of the way down before things (knees and ankles) started to go wrong. I had to miss Scarfell  but managed to get myself into a place that I could join the others on Snowdon.  Overall I was caught between surprise that I was doing so well and being annoyed that I was injured.


Screen Shot 2016-05-11 at 20.22.22

Learned lots of things:

    • If you are using walking polls to protect your knees then you can get blisters on the palms of your hands. Life was made much better by using my thin gloves all the way up and down Snowdon.
    • Knowing the mountain is important. I’ve been up Snowdon several times before  so I could make an informed choice about how hard it would be compared to how by body felt. If it had been a different peak then I  would have found it a lot harder to make that call.
    • I was prepared for the fact that there would be no phone service on the peaks. I was less prepared for the fact that there would be no phone service *near* the peaks. Because of this I missed out on a bunch of things – not least of which was seeing my sister who lives near Snowdon.
    • Packing is hard. I packed well but still  forgot that I needed bags for dirty clothes, my Thermos, even more food than I expected, pillows for traveling and a half dozen other things.


We were incredibly lucky with the weather. Clear, cool, days with excellent visibility made for really good conditions. These were the views we were looking at. (I’d put up more photos, but I’m yet to get permission to share anyone else’s likenes,  so it’s just me for now. )


Screen Shot 2016-05-11 at 20.22.43

18/04/2016 has been a good day

Yesterday was a good day.  Started the day properly – brainstorming with a big old sketch book and writing down all of the tasks that fell out of my subconscious.
I did two hours working at my standing desk in the morning. I’m focusing a lot on my posture at the moment, so a timer goes off every few minutes to make sure I’m standing up straight.
Standing work was good – I fixed a longstanding issue with the TooManyCooks software so that it’s less vulnerable to schools IT networks that tend to have very aggressive caching.  I delved into doing some of the equality time accounts but quickly came back with another list of things that have to be done before I can so that was good.
I managed to make very little progress on medical device registration – ran into an error on login…  Then did a bunch of small finance based tasks before a lovely cracked wheat lunch.
Of course – this is mitigated by the fact that I’m clearly getting ill and have been carrying around a stinking headache all day. Should try and put in some nice relaxing things for the week…
   The evening was a lovely meal at Vanilla Black, which is Michelin recommended.  It’s very much the sort of place to go when you have already eaten, but was good fun for all that.
The menu complains that other vegetarian food is overspiced (the web presence says that others are ‘bland’).
The web and menu both proudly announce “Apologies in advance, no pasta bake or vegetable curry.”,  (apparently ‘Puy Lentil ‘Dhal’ with curry oil’  is something different).
The dishes were creative, certainly. The presentation was extremely good, and aspects of the taste was genuinely interesting. I have no doubt that vanilla blacks fills a gap in the market for those vegetarians that miss ‘fine dining’, but it certainly didn’t fill the stomach.
Screen Shot 2016-04-19 at 12.06.37 Screen Shot 2016-04-19 at 12.06.13 Screen Shot 2016-04-19 at 12.06.03 Screen Shot 2016-04-19 at 12.05.58 Screen Shot 2016-04-19 at 12.05.43

Thursday the 7th has been a good day

Today has been a good day.
I woke up kind of slow – I’d promised my self than I was going to start the day off properly with an hour of code before anything else and I did.  I followed it up with some more really focused work putting together a funding proposal.
I rarely make time (more truthfully rarely have the inclination) to mount a really focused attack on a body of work, and it’s even more rare that I can do it twice in a row – I made it all the way to noon without looking at anything else.  I’m even more inclined to do the same tomorrow.
T2016-04-07 13.01.25hen lunch made by my talented other half:
and a afternoon of emails and managing people.  I got to leave early today to meet a programmer friend in London, and had some fun finding out about cool things that she was building.  Since I started eQuality Time I’ve really missed talking to other people like me and it was really good to get a bit of a fill up.
On the way home now, and I’m also getting a fill-up on my ‘why I work from home meter’. Train just been taken out of service.
I notice I’ve been walking a lot more now I’ve got my Apple Watch – I presume this happens to everybody, but walking to the station is now a game that makes numbers change on the screen. That appeals to me.

Sunday 3rd April was a good day.

Today was a good day.

I did a bit of Doghouse construction:

I also did some very nerdy things to work out what message text to put in my apple watch…

We entertained my other half’s mother for Sunday lunch.  Which included the first eating outside of the season *and* sticky toffee pudding!

One of my friends came over for the afternoon and we walked in the park and talked about all sorts of things.  I had a bath and now peeling off some tasks that have slipped far too low down my inbox.


Today has been a good day.


16th March was a good day

Today was a good day.   I’ve never seen such an amazing range of fantastic scenery in my life.

We started the morning with breakfast in an amazing natural store in Tofino, and I finally got to take a classic ‘vegans of Instragram’ photo of this breakfast smoothie bowl.

2016-03-16 10.48.14

That’s actually my other half’s food… mine looks like this…

2016-03-16 10.50.14


It our last day in Tofino, so we took a short walk on the very scenic long beach.  The amount of driftwood there is stunning as is the size of it – most of the branches in this shot are too big for me to get my arms around.

2016-03-16 11.26.28


We original drove to Tofino in what I think Canadians call “light rain” and what UK residents call “a bloody hurricane-wait, was that sign about bears?” so we had seen very little of the road.

And what a spectacular road it was. Mountains! Lakes! Everything was stunning.  Bizarely you quickly reach a point were you get jaded by it all.  “Oh another amazing mountain view? With nice-looking trees as well I expect? Yes, very nice…”

2016-03-16 12.18.39

But then of course the scenary changes – we’d decided to take a trip up to the Mountains to try our luck on the snow.  And suddenly we were driving through what appeared to be Narnia….


2016-03-16 19.29.54

Shortly afterwards we got into some tyres and hurtled down a ski slope…

2016-03-16 18.25.20


It was a good day.

Jetlag days are good days

We flew home at the start of the Easter weekend and I’m finding that I enjoy jet-lag.  Not the feeling itself.  I enjoy the days that you have when you are waiting for your body to come back. We’ve been reading books, eating, sleeping and sometimes going for walks in a way that takes NO notice of anything outside of us. Sometimes it is light outside. sometimes not. One of the best parts of this trip is the number of hours I’ve spend curled up in bed with book after book.



Less Simple Words:

Live notes: airport lounge writing python script

This is a live notes post. It is of very low interest to almost all readers, but I do believe that the more open my work is, the better that work goes.   These are posts mostly written for me, but if you arrived here from a search engine and it looks like I once had a problem that you have now then feel free to drop me a line and I’ll put things into order a little bit.



Sitting in the first class lounge watching the sun go down.
In a few hours I’ll be back at home pushing projects forward.  As a bit of prep I’m going to write a small python script.
The problem
 My todo list is formatted like so:
-18, t, 60, “Shattered scopeon azuleJoe code”, 2016-02-29 (Mon) – 12:01:01
3, 0, 0, “fix the formating of theWarnings on the azulejoe web”, 2016-03-11 (Fri) – 19:23:51
3, t, 20, “Read the arts grant guidance again”, 2016-02-29 (Mon) – 14:46:01
5, h,  5, “Floss”, 2016-02-29 (Mon) – 15:01:01
3, y, 15, “Transfer over the Supertitle posts from”, 2016-02-29 (Mon) – 18:11:45
You’ll note that it has a date field.   I use that date field to work out how many tasks I have that are older than, respectively, 24 hours, three days, and one week. It normally looks like this:
However, I’ve been away for three weeks, and now it looks like this:


That’s right, literally everything is off the scale.
This makes it a little difficult.
The plan
I’d like to write a simple script that takes one off the date-of origin from each task.  That way I can run it whenever I have a day officially ‘off-grid’.
Let’s see what I have.
Ah, I wrote a command called ‘naSort’ (nextActions sort) that puts the actions in date order. That’s going to be useful.
25/03/201619:17:14 GMT-7
I just remembered that I was going to use aText to help me split this up into manageable log entries.   I did, I did it like this:
Screen Shot 2016-03-25 at 19.17.02
and you are reading the first one.
25/03/201619:23:14 GMT-7
Back to the code.  I’ve copied naSort over to na88 so I can have a play.  The existing code is simple:
import csv
import time
import datetime
import operator
import io
import os
from na_lib_sorting import  get_sorted_actions
def print_sorted_tasks():
    for row in tasklist:
       toprint=  "%s, %s, %2s, \"%s\", %s" % (row[0].strip(),  row[1].strip(), row[2], row[3] , row[4])
       if len(row)==6:
        toprint=toprint+", "+row[5]
       print toprint
if __name__ == '__main__': print_sorted_tasks()
and at the very least this will mean the date is already parsed for me.   Wait, of course it doesn’t mean that.  It just means the date string is parsed out.  I need the library file: na_lib_sorting.
25/03/201619:29:06 GMT-7
The library file has the answer: ” datetime.datetime.strptime(item[4], TIMESTAMP_FORMAT))
25/03/201619:37:30 GMT-7
Hmm, I’ve alteed na88 to printout just the date,  but it’s still producing a string rather that the data-structure I want.  Time for a quick Google.
25/03/201619:43:11 GMT-7
The ever excellent Stackoverflow (via  this answer that I have dutifully upvoted) has provided both the explanation I needed and the code for the next step.  Excellent.   Basis proof of concept now running.
25/03/201619:46:40 GMT-7
Working script now active.  yay!
A couple of notes for the future. The number of days should be taken from the command line, defaulting to zero. This would let me just add the file to the naSort code and reduce the number of files.
Let’s see if I can make it work.
26/03/201602:57:06 GMT
As an aside – even thought I’m in the departure lounge at Vancouver airport.  I’ve just switched my laptop over to UK time – it was amazing how I instantly felt more tired when I saw evidence it was three in the morning.  (Flux activating at the same time didn’t help)
26/03/201603:35:52 GMT
Now,  after a short break, it becomes time to put the todo list in order.  It’s currently 330 items strong, bit a lot of those are automatically generated ones that only come up in a working week and that have been mounting up in my absence.    I’ll deal with those first.
And indeed, once I had, we were left with only 127 left  (which makes me think I should keep an eye on the amount of overhead that I’m dealing with on a daily basis)
26/03/201603:55:36 GMT
I used the na88 script to bring things back into line with where they were when I left, but appear to have discovered a bug – stay tuned.
26/03/201604:07:58 GMT
Now fixed.  I’ve added a task to put the script properly in the relevent git repo when I can work onilne.
 The score look a lot more reasonable now.  But there are still 62 of them that are over a week old even with this system. It’s also time to gather up all of the tasks that are on phones, laptops, scraps of paper, and business cards and put them into the main list.  But I am getting a little tired.

Monday 14th was a good day

Today was a good day.

We slept too late and left the house in a bit of a mad rush to pick up some lunch on our way to the harbour.

There is a natural hot spring on on of the islands off Torfino – it is quite the tourist spot and people take the 90 minute boat ride all year round to take a dip.

On a friend’s advice, we instead hired a seaplane to drop us off in the morning and pick us up later.

We’ve both been up in a few different light aircraft, but we’d never tried a seaplane – they fly much lower than I’d expected and the views are beyond spectacular.

2016-03-14 11.05.41

The springs themselves are a 40 minute hike through rainforest from where the seaplane ties up. Our hike involved a lot of time with some astonishingly photogenic dogs. Our pilot told us later that the dogs swim over from a First Nations village on a nearby island to beg scraps from tourists.

2016-03-14 20.57.05

2016-03-14 20.56.59
The big advantage of the seaplane was that we had the whole spring to ourselves. It’s surprisingly small – there is room for maybe three people to be comfortable and a group of about ten people arrived as we were getting ready to leave. The rest of the day was spend exploring the island, catching our plane back, and finding a beach to watch the sunset from.


We should thank our pilot, Shaun, and the rest of the guys at for our wonderful trip!


Every day in Vancouver has been good so far…

So we’re in Vancouver. It’s good.


Adjusting the body clock before leaving has been really successfully. I’ve been tired and occasionally a little disoriented – but we’ve been waking up a little early and going to bed early, rather than waking up at 3am and crashing at 4pm.   I’d picked out a 24 hour restaurant called Naam that was a little walk from the hotel for the first morning.  We walked though a wonderful sunrise that I failed to take a photo of, sat next to a lovely log fire that I failed to take a photo of and ordered breakfast.

The only slight fly in the ointment of our planning was that I’d forgotten about the concept of North American portion control.

The food here is astonishingly good and we were stuffed even before we’d got halfway though the plate.  Lovely.

The rest of the morning was spent shrugging off some more of the jet lag in the hotel spa before heading out to pick up some equipment for the rest of the holiday – we both needed to update our outdoor clothing and the prices in Vancouver mean that buying outdoor goods in London and transporting them over is crazy.


The next few days where a riot of interesting things to do and things to eat.

Heirloom had wonderful food (indeed, the best I’ve had in any city for years), and really lovely staff – I’d highly recommend to anyone looking for a veggie option in Vancouver.



After taking in the city sights we headed out to Vancouver’s closest (and most famous) mountain: Grouse Mountain.

Technically the hiking trails are closed this time of year, but we pottered up and before long, found ourselves in Narnia.

Screen Shot 2016-03-07 at 15.26.51Although the hiking trails are closed, the Ski place at the top is open, so there is an opportunity for a hot drink and a sit down at the top – this was intended to be a nice light first-of-the-holiday walk for us to test out our kit and generally get our of the city before the conference starts tomorrow.