Configuring Tunnelblick for portable config

There’s currently no way to tell tunnelblick to pick up VPN configuration from mounted drives. I recently needed this set-up to avoid keeping the config files on the machine.

To do this I set up a symlink as follows:

FU Perl


After each has returned all entries from the hash or array, the next call to each returns the empty list in list context and undef in scalar context; the next call following that one restarts iteration.

So iterating through a hash multiple times (and breaking early) gives totally different results each time. Wonderful.

Unbelievably Believable

Today, when talking to Thames Water, I had a classic example of why setting targets are a flawed way of getting a desired outcome.
Me: Hello
Installer: Hi, I’m calling on behalf of thames water to arrange installation of your water
Me: Great. I need a weekend appointment and I’m busy until the new year.
Caller: Oh, ok. Let me speak to a supervisor.
…1 minute …
Caller: Hi, the latest I can do is the 10th of January.
Me: Sorry but I need a weekend slot.
Caller: Ok I need to speak to the supervisor again.
… 3 minutes …
Caller: Sorry sir but we can’t do that. We have a service agreement with thames water
so we can’t leave it until then.
Me: Errr, what?
Caller: It’s quite common sir. I can’t book you in for the new year because it’s too far in
the future. I need to close the ticket and you’ll need to call back in the new year
to request a meter.
Me: Don’t you think that’s crazy?
Caller: Well I have to be careful what I say.
I’m sure when someone at Thames Water set a target to turn around an installation in a month they did it with the best of intentions but little thought.


Was the Cycle to Work scheme worth it?

A year ago I joined a “Cycle to Work” scheme.

The idea is that if you want to cycle to work then your company will buy you a bike, then they’ll take payments over the course of the year. The key benefit being that this payment is take before you pay tax (typically 30%+).
At the end of the year you pay 5% of the cost of the bike and it’s yours. Typically this meant saving 30-50% of the cost of the bike.


However, last year the terms were changed and this final fee jumped to 18-25% - details courtesy of the Guardian.

So when I came to the end of the term I thought I’d run the numbers to see how much of a benefit it actually is. (Admittedly I should have done this before signing up).

Basic rate of saving is 20%
High rate of saving is 40%
National Insurance ~10%

So it’s still a quite a good scheme, as long as you’re willing to enter a 4 year relationship!

streetcar - Customer Service Win!

After putting off joining streetcar for about a year Bob Crow and his band of merry men forced me into it to get my girlfriend home from the airport on Boxing Day.
Having paid my £60 and claiming my £20 referral bonus, I booked my car.
Due to some travel chaos my girlfriend’s flight was cancelled, no problem, said streetcar and my booking was moved to the next day. win!

During the course of the next day her flight was delayed hour by hour. Since I found out about the delays late I couldn’t cancel or change the car booking. At first I extended the booking but soon realised that I wouldn’t be picking her up on the 27th. £25 down the drain. fail.

The next day my housemate had a car booked all day. We spoke to streetcar about adding me as a driver to that booking. I was expecting a cost, but I was told that since I’m a streetcar member it was fine; no change or cost required. win!But here’s the good bit. I told streetcar my sorry tail about the wasted initial booking and got this response:

Dear James,

Thank you for your email.

I showed your email to a few of my colleagues, and firstly, we’re saddened to hear that you lost out on some time with your girlfriend during the weather, and that there was not much more we could do in a rather faultless situation! I hope she managed to get to you in the end, and you both had a wonderful Christmas.

We were all touched by your kind words about us, it’s always nice to hear people speak in such a positive way even if things don’t go to plan.

As a gesture of goodwill, I’ve added £20 of driving credit to your account, to go towards your next booking.


We really do appreciate member feedback, and if there’s anything else we can help you with, please give us a call.


Kind Regards,

Massive Win!

Now 1 month after joining up, and having only booked one car I’m already evangalising the company, and it only cost them £20!

Looks like everything is fine at heathrow…

old post, and one of those horrible commercial piggie backs of a cool idea, but still quite good.

A flaw in the Nokia todo list

I find the todo list on my phone invaluable. However, the symbian (5th edition) version has a serious flaw.
When I complete a todo, I open it and the immediate options are “send” (?), “edit” and “delete”. While I can “Mark as done” under the options menu I, of course, hit delete.
While the outcome of marking complete and deleting are effectively the same, I don’t get the same mini win from checking the done box when I delete. I miss these little achievements.

Todo: fix todo.

Learning Russian in a low tech way

I’m in the process of learning the Russian alphabet.
This site is old, basic and low tech. But it does the job perfectly!

Geek OD

Look at this graph:

Not that impressive?

When you consider I:

  1. setup git and pulled the project from github
  2. made a change and pushed it back to the repository
  3. setup the db
  4. queried the bike api for some data
  5. generated the graph

all over a data connection on my nokia 97 mini on a Virgin train to Birmingham it’s not too shabby.

Oh, and I posted this…

First results from the Cycle app

Not too impressive but the first kinda sensible data from my little project:

Bikes available at Baylis Road, Waterloo

Note that the x-axis is a little mental :)

Though interesting points:

  • it looks as though a bike was taken at around 4am - someone probably woke up with a Boris Bike in their front room…
  • this morning, possibly due to the tube strikes, most of the bikes were taken between 6 and 7am
  • it definitely looks as though there was a re-stock at 18:30
  • it seems a bug in my code meant I didn’t get any data between 7:30 and 17:56 ;)