Category Archives: Uncategorized

USA 2019: Day 4

Road trip!

As mentioned, my plan is to head off and explore other areas of the state, in anticipation of which I’ve picked up my hire car.

Sadly, hiring the Mustang of my dreams would have depleted the budget to such an extent that I’d have been obliged to spend the next fortnight sleeping in it, so I’ve settled for a fairly run-of-the-mill Nissan. It does however have all the modern bluetooth toys one could want, plus cruise control.

Interesting factoid: whenever I hire a car in the UK, I always get the hard sell on upgrades/extra insurance. In the home of capitalism, I got five seconds’ scrutiny of my UK licence, ten seconds to swipe my credit card, and then I was handed the keys and sent on my way.

Meanwhile, earlier today, I enjoyed the SF Botanic Gardens. A bargain at $9 (it’s a nice touch that they let the locals in for free), and I literally took some time off to smell the roses.

Never have I sat and read a book in more pleasant surroundings.

USA 2019: Day 3

San Francisco, CA – Thursday, October 10

Enjoyed the open top bus tour round San Francisco. Also cleared up the official name of the Golden Gate Bridge’s colour (or should that be color…).

View from the Golden Gate Bridge back across the city

Apparently it’s Fleet Week this week, which means (a) the US Navy are thundering overhead in various warplanes showing off, and (b) hotel prices are going up over the weekend (from the country that brought you Uber surge pricing…). So I’m going to head off and explore other parts of northern California, and possibly do a few more days in S.F. on my way back down.

USA 2019: Day 2

San Francisco, CA – Wednesday, October 9th

Had lunch with an old friend today. Also, I was picturing the Golden Gate Bridge as both bigger and a brighter shade of red:

The Golden Gate Bridge (admittedly, from a distance)

Perhaps it will look bigger closer up … I’ll find out tomorrow.

Update: It’s “International Orange”, not red. Offical.

US SIM cards (part 1)

Given that I am planning to spend nearly four weeks in the USA, I thought it would be worth buying a local SIM card for data purposes. I wasn’t particularly anxious to find out about Three’s clear-as-mud roaming pricing via an enormous bill when I got back.

I ended up buying an 16GB Lycamobile “data only” SIM at the airport for $95 (incuding sales tax) – it lasts for 30 days. That seemed rather on the steep side (verging on vertical); I suspect they over-charge the incoming tourists for something which could be obtained more cheaply at a corner shop – but when you’ve been up for 18 hours and need internet to work out transport to your hotel, the “pay up and shut up” reflex kicks in.

They did at least have a SIM poking tool which they used to put the card in my phone (that’s one thing I forgot to pack). Once again, the dual SIM capability in OnePlus phones comes in handy – I can leave the UK SIM in slot one just in case anyone sends me a text, but send all the data via slot two.

As you can see from the screenshot, it works pretty well, at least in the middle of SF. I’ll update at the end of the trip on how well it holds up outside cities (and indeed when I move into other states).

DVDs on Windows 10

A side note here on that US Road Trip I’m on…

I’m not the sort of person who feels the need to be doing something every minute of every day, especially when on holiday. And since this is a solo trip, I gave some thought to evening entertainment.

Netflix, Amazon, iPlayer et al are all perfectly possible to use, WiFi permitting (and with the occasional VPN tunnel back to the UK where required), but since I own quite a lot of physical DVDs still, I thought I’d take some along. After all, WiFi in hotels isn’t always up to streaming, and DVDs don’t take up vast amounts of space if you take them out of the packaging.

I bought myself the cheapest external DVD drive on Amazon (naturally, my laptops haven’t had optical drives for years). I assumed the software side of things would be a simple matter of installing VLC. Somewhat to my surprise, it wasn’t!

VLC flatly refused to open DVDs without saying why. I eventually worked out that the drive had been shipped set to the “wrong” DVD region (i.e. not the one matching 99% of UK DVDs), but VLC wasn’t smart enough to tell me that.

Even with that fixed, menus didn’t work and the playback was blocky. Interestingly, though, Microsoft have a paid-for option in the Windows store. For £12.49 I could buy the “DVD Player” app. Since it was the one smart enough to tell me about the region encoding thing (even when in trial mode), I reluctantly parted with the dosh. It Just Works – fair play to Microsoft, but I can’t help but wonder if driving sales of this means less incentive to make it easy for third party apps to make DVD playback work on Windows?

Adventures with mod_ext_filter

Omertà unfortunately prevents me from telling you why I’ve been experimenting with this lesser known corner of Apache HTTPD, but I can at least write up a few hints, since this is a sparsely documented area.

Let’s set the scene: you have some sort of web site or web app. You want to make some alterations which could literally be achieved by running find and replace over the site/application output. However, you either can’t or don’t want to modify the site/app directly.

You might well be running the site behind an Apache HTTPD proxy in any case – all my Django sites are like this, so Apache can serve the static content.

Wouldn’t it be convenient if there was some way of having the proxy do a little light modification of the content on its way to the end user?

There is. However, if the wording on that page about writing output filters in C puts you off (it certainly put me off!), don’t despair. Just dig a little deeper and you will discover that you can write filters in any old programming language and have Apache call them.

There were just a couple of things I had to watch out for when getting this working in Apache 2.4:

  • The filter chain includes gzip/deflate if you have that on, which is pretty much the norm these days. So you need to force the ordering of your filters if you don’t want your script being fed gzipped content (duh!)
  • You can use ExtFilterOptions to dump stderr from your filter into the Apache error log, which is handy for diagnostic purposes when staring at a blank page

My config ended up thus

ExtFilterDefine tweak_stuff mode=output cmd=”/path/to/script-which-replaces-some-stuff.py”

<Location /to/filter>

SetOutputFilter INFLATE;tweak_stuff;DEFLATE

ExtFilterOptions LogStderr

</Location>

It’s not obvious from the documentation that filters will work in a Location block, but they do.

Fortunately, in my case, the filtered elements were rarely used pages of an application, but I can imagine this might start to rack up some performance problems if you did it too enthusiastically across a site

USA 2019: Day 1

A Boeing 787-9, somewhere over Greenland. Tuesday, October 8th

Outbound flight

It’s been the best part of a decade since I blogged here about a feature-length holiday. And whilst I’ve no cause to complain about the number of countries I’ve visited since then (Croatia, Slovenia, Montenegro, Cyprus, Spain, Italy, Ireland, Holland, Belguim, Luxembourg, the Czech Republic and the USA (for work)), most of those have been shorter trips around Europe.

However, I get a rather generous 22 days’ long service leave for reaching my 10th anniversary at work, so that seemed like an ideal time to go further afield.

Which brings me neatly to San Francisco. I flew out this morning on Virgin Atlantic, which I was quite impressed by. The food, entertainment and service levels in economy were good, though it also helped that I had an aisle seat and nobody sitting in the middle of my row. The forty-five minute delay in leaving Heathrow, and the 90 minute (!!!) delay in getting through US Customs were rather less pleasant, but I’m here now and checked into a somewhat retro, but serviceable, motel.

I might not manage a post every day, but I’ll report back on my progress around northern California, then down to Los Angeles and home via New York City.

Eurostar

I’ve never been through the Channel Tunnel before, but on Tuesday, I got the good news that I was needed at an all-day meeting in Ghent. Last minute flights and last minute EuroStar cost about the same, and the theory was that we’d be more productive in transit on the train than on a plane.

Did the theory work out?

For the most part, yes. The train was immediately better than a plane because you only have to go through passport control once (once you’ve gone through in London, you’re in the Schengen zone, and once you’ve gone through in Brussels, you’re effectively back in the UK). It also lacks the tedious restriction on liquids – no more putting things in a transparent plastic bag, no more buying tiny cannisters of deodorant, no problem bringing back Belgian beer!

We went in “standard premier” to have a bit more space, and it was about as spacious as first class on most UK trains, with a power socket for each seat (half of them are French/EU two pin plugs, of course, but you probably had your adapter with you anyway…)

The food and drink was also much nicer than you get on a plane, and you have to turn up less in advance and hang around for a shorter time.

The only thing which surprised and disappointed me was the crap internet access. OK, so it was an improvement over most short haul flights, where you’re cut off completely in the air, but I was amazed at how poor the mobile coverage was along the route. I didn’t manage to keep a connection up for more than about ten minutes at a time,

Then again, getting from London to Brussels in less than two hours is pretty damn impressive, and being able to buy tickets which cover onward travel to any Belgian station was the icing on the cake.

The hardest lesson for IT people to learn…

… is as follows:

Technology is not the answer to every problem

This is something I’ve slowly worked out myself over the years, and try to teach everyone on my team.

Why am I getting philosophical, you ask? Well, last Wednesday I was in the middle of a discussion with two colleagues when my phone rang. It was a nice chap from NHS Blood and Transplant, asking if I wanted to book an appointment to donate blood. Apparently, they’re very short of donations in my type (O negative), which I can believe as only 9% of the UK population has it.

Until recently, when I went to donate, they’d ask me over my cup of tea afterwards whether I’d like to make an appointment for the next session in the same location. And since that location is walking distance back to my flat (you don’t want to be driving yourself when you’ve just had a pint of blood drained out of you), I always said yes. It was simple, and it worked.

However, I and others have noticed that they no longer do this. As a result, you get the call (in my case, for extra fun, the call was interspersed with another one about an emergency), and they tell you that the closest location to home is all booked up for months ahead. I ended up agreeing to go across town (with all the resultant problems about driving afterwards), but decided to dig into the cause.

After a somewhat heated exchange on Twitter, it turned out that they are working on a new system where people book their own appointments on an app, to try and reduce people forgetting to turn up. This is all very well, but nobody at the sessions mentioned the existence of such an app! I could have asked, but since it’s me doing them the favour, why should I? And why can’t they time their begging phone calls better, or try and match up the proportion of appointments they make with the blood types they need most urgently?

I can see the good intentions here, but given that every single session I’ve been to is running late by the end of the day, are they really that badly disrupted by some people failing to turn up for their appointments?

I won’t punish the innocent patients who need a bit of my O negative by stopping my donations, but I am very cross that it will now take another six months to get my donations back in sync with the location I want to be at.