The Recycler’s Confession

While we’re on the subject of prayer — not, I admit, a regular topic in this blog — there’s another traditional one that often comes to mind. This time, it’s when I’m putting things in the recycling bin. I’m sure you must have had a similar experience.

Anybody old who, like me, grew up in the Anglican Church, will remember this oft-repeated phrase from the Book of Common Prayer:

We have offended against thy holy laws.
We have left undone those things
which we ought to have done;
and we have done those things
which we ought not to have done;
and there is no health in us.

As I carefully separate the rubbish into the blue ‘recycling’ bin and the black ‘non-recyclable’ bin, there are always some items about which I am unsure, and I mumble to myself:

We have left unrecycled those things
which we ought to have recycled;
and we have recycled those things
which we ought not to have recycled.

Does anyone know, as a general rule, which is the greater sin? Or are there too many variables involved to generalise?

The IT Consultant’s Prayer

Anybody getting involved in any organisation’s pre-existing IT infrastructure could probably benefit from pausing, reflecting, and sending a prayer heavenward. I recommend this well-known one, written nearly a century ago by Reinhold Niebuhr. It is usually called the ‘Serenity Prayer’, but I’d be willing to bet he really had IT consultants in mind at the time.

God, grant me the serenity to accept the things I cannot change,
courage to change the things I can,
and the wisdom to know the difference.

Actually, that’s probably the key to any successful consultancy business…

Forecourt futures?

If only they all looked like this…

A few years ago, I was involved in a big brainstorming session with some senior staff from BP. We had gathered, from both sides of the Atlantic, to consider some of the implications of technology changes on their business, and one of the topics discussed was the future of the retail forecourt: the petrol station, as most of us know it today. There was one thing we were all pretty much agreed on about its future: that it hadn’t got one.

The problem is that electric cars give you a very different refuelling experience from cars burning dinosaur juice. The bad news is that it takes longer, as we all know. Even when I’m charging my Tesla at speeds that would have astonished me when I first started driving EVs, I’m still generally there for 20-30 minutes, rather than the five minutes I would have spent filling up with petrol.

But the good news is that you don’t have to stand there while it’s happening, shivering, breathing in those lovely fumes, and wondering if your shoes will reek of diesel for the rest of the day. Instead, you can be inside the car watching the latest episode of your favourite show, or having a drink at the nearby cafe, or taking the dog for a walk. One of our favourite superchargers is in a multi-storey car park near Bristol, where you can just plug in and stroll over to John Lewis to purchase pillowcases, or whatever takes your fancy.

(As an aside, I think this is very healthy: on long drives, it’s important to take a proper break every so often, not just for your own wellbeing, but for the safety of those you may be approaching at speed later in the journey. EVs almost enforce that.)

Now, you could beef up the shopping/dining experience at some petrol stations, but it’s not really enough. The problem for those who have invested large amounts in forecourt real estate is that these stations are generally the wrong size for charging points — you need bigger parking areas and bigger retail areas — and many of them are not where you’d actually want to spend much time: on noisy town-centre roundabouts or on the edge of a busy bypass. Add to that the fact that they aren’t necessarily in good locations for a high-power connection to the electricity grid, and you’d think it probably makes sense to start selling them off. Oh, except you’ve spent a few decades storing and spilling toxic liquids there, so that’s a bit tricky too.

After the gas has gone…

We discussed other possible uses for the sites, which, despite some problems, do have the merit of being close to good road links, and often close to towns.

One idea was that they might become last-hop delivery hubs. Instead of fuel tankers rolling in during the night to top up the tanks, it would be big Amazon trucks coming to offload their parcels. Then a fleet of smaller electric vans would zip out from there during the day, doing the deliveries.

Someone else pointed out that there’s another service to which people often need quick and easy access while travelling: the loo! Yes, petrol stations are ideally placed for public conveniences, but up to now, that part of any visit has not always been very inspiring! Apparently one gas station chain in the States made their toilets a feature, advertising that they had the nicest bathrooms in the business! I thought this was very smart: there’s not much else to distinguish one station from another, so this was a cunning way to make your visit one of choice (as well as necessity!) Could you, we wondered, actually dispense with the petrol station, and instead draw people to your roadside retail experience through the quality and cleanliness of the adjacent WC? I like that idea, though it might require some clever marketing!

I suggested that they might want to develop a brand and business that wasn’t tied to particular premises in the same way. In the past, petrol stations were expensive and difficult to install, and they added retail experiences onto them to try to increase the profitability of each visit. But in the future, what people would want was not a Costa Coffee shop next to their refuelling point, but a refuelling stop next to their Costa Coffee. And that was much more viable than it ever had been in the past. Who was going to make it really easy for a supermarket, restaurant, shopping mall or pub to turn their existing car park into a charging centre? This, I thought, was an opportunity.

(Interestingly, almost on that exact day, it also became public that BP were buying the Polar/Chargemaster charging network, which was a smart way to get a good foothold in the charging world in the UK.)

Happy memories

Anyway, just to finish this on a personal note, and to show they’re not all bad, I do have a favourite petrol station, of all the ones I’ve visited in my life.

It stood right on the side of a Norwegian fjord, not far from a cottage where I stayed with my parents and grandparents on holiday sometime in the mid-1980s. You filled up your tank in a gentle sea breeze, surrounded by some of the most stunning scenery I’ve ever seen, and then strolled into the shop to pay. This was also the local grocery shop for that side of the fjord. (For the post office, bank, and the other shop, we would just go into to the cottage’s boathouse, get into the dinghy and chug across to the other side of the water.) Anyway, I remember that the two or three fuel pumps had unusually long hoses, because they were also sometimes used to fill up the boats which could pull in just as easily as cars.

And in the spaces between the pumps? Flower boxes.

Yes, that was a really lovely spot to fill up, and it would also make an amazing charging station. Perhaps, knowing Norway, I’ll be able to go back someday in my current car and fill up again…

Seal of Approval

Don’t assume, just because you’re behind a telephoto lens, that we can’t see you!

I’ve often seen seals swimming just offshore as we walk along Norfolk beaches. But a couple of weeks ago I spotted this group relaxing on the beach; they seemed to be having a good time.

How to make a timeless music video

I always liked the song-and-dance routines in the great old movies, and have mourned their almost total disappearance (while acknowledging that having people break spontaneously into orchestra-accompanied melodies doesn’t, in most cases, tend to improve the realism of your plot!)

Well, it turns out that there’s a fun genre of YouTube creations, taking footage from the old masters and remixing it with more modern music, with some clever editing and retiming. For me, somehow, divorcing the dance from its original music and showing it in a new context only emphasises how good the performers were.

Here’s a very nicely-done favourite; did you know that Fred Astaire and Rita Hayworth liked Led Zeppelin?

This has been going on for quite a while — here’s another example from 2015 – but I think the one above is very nicely done. And what better way to start the week than with Rita Hayworth’s smile?

Bird’s Eye View

We’re on holiday in the Norfolk Broads, spending most of our time messing about in boats, but also enjoying the wonderful wildlife.

Who, us?

The birds are omnipresent, even in the garden of our riverside cottage, where this rather splendid goose has been sitting on her nest since we arrived. She and Tilly have decided to ignore each other.

Here’s what the village of Horning looks like, for anyone thinking of flying over:

(Link here if you can’t see the embedded video. If your computer and your network connection will allow it, I recommend viewing it full screen and setting the YouTube resolution to 4K.)

Our rental cottage comes with a convenient parking space, just outside the back door:

But there is another one too, if you prefer to arrive by car. It’s at the end of the little bridge, just past the heron.

House of the Future

Some people may consider my fondness for home automation to be a frivolous pursuit.

Well, let me tell you this…

Tonight, as I left the excellent Chinese take-away a few miles from my house, accompanied by this evening’s dinner, I was able to turn on the hotplate in the kitchen at home, so that by the time we got back, the plates were nice and warm and ready to hit the table.

Let nobody say humanity is not reaping the benefits of scientific progress…

A small section of the touch control panel in my kitchen.

Google Tip of the Day

Here’s a quick two-and-a-half minute video which might save you some time one day, if not now!

Measuring distances and areas in Google satellite view

(A direct link is here, in case you can’t see the embedded video.)

AH 2.0

Couldn’t resist a bit of Photoshopping this morning.

Towing electric

As the world moves rapidly in the direction of electric propulsion, there is one big challenge, irrelevant to the majority of car-buyers but a serious concern for a significant subset of us: what are these EVs like when used for towing?

This has been more in my mind recently as we have just purchased a small boat — more on that later, once we’ve finished sanding and varnishing! But when you add up the people who tow caravans, horses, motorbikes, classic cars, trailer-tents, ride-on lawn-mowers etc, there’s quite a population for whom this is a real issue.

I haven’t yet done much towing, but one of the key factors that made us choose the Tesla Model 3 at our last car-change was the fact that it could take both a roof-rack and a tow bar; something that, at the time, was really quite rare on EVs.

There are, of course, two key questions most people want to ask: how much can a given EV tow, and how far can it tow it?

How much?

EVs ought, in general, to have very good towing capacities because of their enormous torque, and the fact that they’re quite heavy. (Experts suggest that, in general, it’s best only to tow things up to 85% of the car’s weight, and the EV batteries give you a bit more leeway!) EVs also, of course, lack things like a clutch and gearbox, components which, in days gone by, tended to suffer a bit from towing.

But towing hasn’t, thus far, been a priority for most EV manufacturers, which means that these powerful, heavy cars are often not actually built with it in mind, and so are not rated to tow loads as substantial as one might expect. (There are also probably challenges in getting things like the regenerative braking right for both braked and unbraked trailers.) My Model 3, for example, weighs quite a bit more than a VW Golf and has infinitely more power, yet its rated towing capacity of 1000kg seems a bit weedy compared to the Golf’s 1500kg or so. The Model Y, just starting to make its way to these shores, has a more respectable 1600kg rating, and the Hyundai Ioniq 5, which has been getting a lot of positive reviews recently, has the same.

An enterprising campsite owner, Chris Scott, has put together a useful list showing the towing capacities of most current EVs. While none of those available at present in the UK will compete with a Land Rover, there are nonetheless quite a few to choose from if you want to tow most normal loads, and if you have the (rather significant) budget for a Tesla Model X, you can pull a similarly significant weight!

How far?

Yes, as always, this is the elephant in the trailer.

Here’s a quick rule of thumb when you hang something on your tow bar: take the real-world range of an EV, and halve it. That, of course, is a wild generalisation, but it’s often quoted, and tied in with my first experience towing a trailer on the Model 3.

“What?!”, you say. “You’ve been trying to tell me that EVs are good when they can only do 300 miles compared to my car’s 400! And now you stick a poxy little trailer on the back and tell me it’ll only do 150?” This number doesn’t phase me; before the Tesla I was driving an EV which had a range of about 70 miles without a trailer, and we went all over the country in it. But yes, that’s right. You’ll probably have to stop every two or three hours. But you should really do this for safety whenever you’re driving, and just how big is your bladder anyway?

The thing is that EVs are often very dependent on their aerodynamics for their range, especially Teslas, which are normally exceedingly slippery. Spoil the airflow with a big roofbox or a chunky trailer and it will have a very significant impact.

But here’s the important thing: this is nothing to do with the power source. If you had the same car with the same aerodynamics but with a petrol engine, the drag would still change to the same degree and the effect on the range would be similarly drastic. You just don’t think about it as much with traditional cars: in EVs, it’s typically higher up in your consciousness. Few people really check the range of their petrol car when towing for several hours on the motorway.

Having said all of that, my experience in towing our little boat from her former home in Dorset to Cambridge, 165 miles away, was quite encouraging. First, it towed beautifully; the gear-less acceleration and single-pedal driving made for a very nice experience. And secondly, the loss of range, though significant, wasn’t as bad as I’d feared.

Tesla likes to use measure consumption in watt-hours per mile (analogous to the European litres-per-100km), so bigger numbers mean more energy used. By setting the cruise control to 60mph — the maximum towing speed in the UK — my average consumption was 400 Wh/mile, compared to my normal 285 Wh/mile or so — and, because it was fairly late at night, I was able to maintain that speed most of the way home. If I’d had to go slower, the consumption would have been lower.

Or, to use the miles-per-gallon analogy adopted by most other manufacturers, I went from about 3.5 miles/kWh to about 2.5 miles/kWh. A big difference, yes, but much better than half. That would give me a real range of around 180 miles. If I had started the three-and-a-half-hour journey with a full battery, I could have made it home without having to stop for a charge. And this was night-time in February, with the associated winter inefficiencies of lower battery temperatures, headlights, and needing to keep the driver cozy and warm while he listened to his audiobooks…

The real issue

For those of us who remember the pioneering early days of EVs — i.e. just a few years ago — today’s charging stations can be a source of wonder. If you manage to park a modern car with a nearly empty battery at a new super-rapid charger, then the rate at which you top up can be astonishing.

Once again, Tesla owners are a bit spoiled here: my old BMW would charge at a maximum rate of 50kW, rapidly dropping off as it filled up its little battery. That meant that the peak rate got you about 3 miles for every minute you spent charging, and you had plenty of time to take the dog for a stroll or even have a quick meal before driving for the next hour.

The newer Tesla superchargers can manage up to 250kW, if your battery is warm and empty, and because of the size of the battery and some clever management, can maintain a high rate of charge for much longer. Popping to the loo and then picking up a coffee or a quick snack is time enough to add vast amounts of charge before you set off again.

But, in either case, this does take longer than filling up with dinosaur juice, and the result is that most charging stations, at least in the UK, are designed more like a car-park than like a ‘drive-thru’. There are some notable exceptions, like the Electric Forecourt at Braintree, which I visited when it first opened a little over a year ago. If you haven’t seen it, here’s a section from my video at the time:

At most charging stations, though, you’re expected to sit there for a while, so you pull into a parking space. And, in the case of Teslas, the charging sockets are all at the back, so you’re expected to reverse into that parking space in order to connect the very short, very high-power cable.

This is clearly not ideal if you’re towing. For a light trailer like my boat, it’s the work of a moment to unhitch it and put it in a nearby parking space, but it would be more challenging with a bigger load.

So can I make two appeals?

The first is to the installers of charging stations — you lovely people — to consider including one or two stations suitable for people with caravans attached? And to put a sign asking those who don’t need them to make use of the other ones first?

And the second is to the creators of charging-point maps, to include data about whether a charging station is trailer-friendly, and to allow searching on that basis. It would be fabulous to be able to plot your course across the country, stopping to charge only at places where you didn’t need to unhitch.

In the meantime, occasionally you can find charming and quiet charging points, like this one near Winchester, where there’s plenty of space for eccentric parking arrangements!

P.S. If anyone remembers my Digital Towbar suggestion from a few years ago, it looks as if Airstream have been playing with a similar idea. That’s probably the future!

Strength Gel

Samson had his long hair, Asterix and Obelix their magic potion, but for today’s man-about-town wishing to increase his muscular prowess, I discover that this small and convenient tube of ‘Strength Gel’ is readily available from most pharmacies!

It’s surprising, because Anbesol is a name I knew from my youth. A treatment for mouth ulcers and similar dental complaints, it was packaged as a very small vial of liquid. Well, the strength gel, it turns out, can also be used for this antiseptic and anaesthetic purpose, and, indeed, has such a powerful calming and numbing effect that I’m surprised Simon and Garfunkel didn’t write a song about it.

As to why it might be Adult strength gel, though, I can only leave to your imagination. The packaging is very uninformative about any use in more intimate situations, but I would suggest any experimental applications be done very, very cautiously.

Healthchecks in a Docker Swarm

This is a very geeky post for those who might be Googling for particular details of Linux containerisation technologies. Others please feel free ignore! We were searching for this information online today and couldn’t find it, so I thought I’d post it myself for the benefit of future travellers…

How happy are your containers?

In your Dockerfile, you can specify a HEALTHCHECK: a command that will be run periodically within the container to ascertain whether it seems to be basically happy.

A typical example for a container running a web server might try and retrieve the front page with curl, and exit with an error code if that fails. Something like this, perhaps:

HEALTHCHECK CMD /usr/bin/curl --fail http://localhost/ || exit 1

This will be called periodically by the Docker engine — every 30 seconds, by default — and if you look at your running containers, you can see whether the healthcheck is passing in the ‘STATUS’ field:

$ docker ps
CONTAINER ID   IMAGE           CREATED          STATUS                     NAMES
c9098f4d1933   website:latest  34 minutes ago   Up 33 minutes (healthy)    website_1

Now, you can configure this healthcheck in various ways and examine its state through the command line and other Docker utilities and APIs, but I had always thought that it wasn’t actually used for anything by Docker. But I was wrong.

If you are using Docker Swarm (which, in my opinion, not enough people do), then the swarm ensures that an instance of your container keeps running in order to provide your ‘service’. Or it may run several instances, if you’ve told the swarm to create more than one replica. If a container dies, it will be restarted, to ensure that the required number of replicas exist.

But a container doesn’t have to die in order to undergo this reincarnation. If it has a healthcheck and the healthcheck fails repeatedly, a container will be killed off and restarted by the swarm. This is a good thing, and just how it ought to work. But it’s remarkably hard to find any documentation which specifies this, and you can find disagreement on the web as to whether this actually happens, partly, I expect, because it doesn’t happen if you’re just running docker-compose.

But my colleague Nicholas and I saw some of our containers dying unexpectedly, wondered if this might be the issue, and decided to test it, as follows…

First, we needed a minimal container where we could easily change the healthcheck status. Here’s our Dockerfile:

FROM bash
RUN echo hi > /tmp/t
HEALTHCHECK CMD test -f /tmp/t
CMD bash -c "sleep 5h"

and we built our container with

docker build -t swarmtest .

When you start up this exciting container, it just goes to sleep for five hours. But it contains a little file called /tmp/t, and as long as that file exists, the healthcheck will be happy. If you then use docker exec to go into the running container and delete that file, its state will eventually change to unhealthy.

If you’re trying this, you need to be a little bit patient. By default, the check runs every 30 seconds, starting 30s after the container is launched. Then you go in and delete the file, and after the healthcheck has failed three times, it will be marked as unhealthy. If you don’t want to wait that long, there are some extra options you can add to the HEALTHCHECK line to speed things up.

OK, so let’s create a docker-compose.yml file to make use of this. It’s about as small as you can get:

version: '3.8'

services:
  swarmtest:
    image: swarmtest

You can run this using docker-compose (or, now, without the hyphen):

docker compose up

or as a swarm stack using:

docker stack deploy -c docker-compose.yml swarmtest

(You don’t need some big infrastructure to use Docker Swarm; that’s one of its joys. It can manage large numbers of machines, but if you’re using Docker Desktop, for example, you can just run docker swarm init to enable Swarm on your local laptop.)

In either case, you can then use docker ps to find the container’s ID and start the healthcheck failing with

docker exec CONTAINER_ID rm /tmp/t

And so here’s a key difference between running something under docker compose and running it with docker stack deploy. With the former, after a couple of minutes, you’ll see the container change to ‘(unhealthy)’, but it will continue to run. The healthcheck is mostly just an extra bit of decoration; possibly useful, but it can be ignored.

With Docker Swarm, however, you’ll see the container marked as unhealthy, and shortly afterwards it will be killed off and restarted. So, yes, healthchecks are important if you’re running Docker Swarm, and if your container has been built to include one and, for some reason you don’t want to use it, you need to disable it explicitly in the YAML file if you don’t want your containers to be restarted every couple of minutes.

Finally, if you have a service that takes a long time to start up (perhaps because it’s doing a data migration), you may want to configure the ‘start period’ of the healthcheck, so that it stays in ‘starting’ mode for longer and doesn’t drop into ‘unhealthy’, where it might be killed off before finishing.

© Copyright Quentin Stafford-Fraser