Traffic survey, southbound from Wilmslow Road/Platt Lane

Manchester’s Wilmslow Road / Oxford Road corridor is currently being ripped up and relaid with cycle infrastructure. Bus stop bypasses are being installed along it, but they’re of variable quality. In this post I’m looking at the one just south of Hardy’s Well in Rusholme.

I noticed that every time I used this bypass, other cyclists seemed to stick to the road. Out of curiosity on my way home one day I took a quick count of people using the road vs the bypass. I did the survey from 4.45pm until 5pm (I would have stayed longer but it started raining) on 9 February 2016, at rush hour because I thought there would a mass of cyclists using the route.

People using road 37
People using bypass 3
Total 40

The data are pretty conclusive: most people didn’t think this bypass was worth using. I don’t have any idea if this is a representative sample of cycle users in Manchester. I could imagine at rush hour that there would be more lycra-clad bike warriors, who are probably more inclined to use the road than dedicated cycle infrastructure if it’s even a bit less convenient. I didn’t keep track of gender, but every person using the bypass appeared to be a woman - though not all women used the bypass.

While counting and watching movements - people coming off and on the busses, cyclists using one path or the other, the way cars moved on the road - it occurred to me that it’s a pretty rubbish bypass. Here’s why.


Approaching from the north, the bypass is a bit out of the way:

The bypass from a distance

If you’re cycling in the middle of the road to avoid drains and potholes, then there’s not really any advantage to using the bypass unless there’s a bus in the way, because you have to move sharply to the left to use it. This is unlike the other two bus stop bypasses currently in operation, at Whitworth Park and Fallowfield, where a cycle lane that leads you directly into the bypass.

The entrance to the bypass

When you’re actually on the bypass, there are poor lines of sight. The bus shelter advertising blocks the view of both cyclists and pedestrians, increasing the likelihood of collision. I’ve watched people walk off a bus in a straight line and emerge right next to the shelter.

This problem has been avoided at the demonstration bypass at Whitworth Park by putting up railings guiding pedestrians to walk a little further so that they are not stepping out into the line from behind an obstruction. This would probably work well here, along with painting the cycle lane green so it’s more obvious.

Bypass exit

After the bus shelter, the bypass returns you to the road. Again, this is worth comparing to Whitworth Park’s bypass, which curves a little to the left as you join, and then curves a little to the right before letting you back off onto the road, parallel to other traffic and with some physical separation. In contrast, this bypass uses sharp angles and returns you to the road at an angle, with no physical separation, at a pinch point, bringing you into direct conflict with traffic.

Additionally, because the bypass takes cyclists out of the flow of traffic, the emergence of bikes at this point may come as a surprise to some drivers, especially since visibility is often restricted by busses.

In the above photo, you can see that a (not very visible) mandatory cycle lane starts a little before the bypass returns to the road. The cycle lane starts out narrow by the traffic island but then expands rapidly until it reaches 2m wide and then stays that width. It became apparent on observation that cars and busses do not respect the mandatory cycle lane:

The bus at 8 seconds uses the mandatory cycle lane in order to give the traffic island a wide berth. I would not want to be emerging at that point. Compare the position of the bus at 8 seconds and the cyclist at 24. And it isn’t just busses, but frequently cars:

Not every vehicle that went past used the cycle lane, but many did, because the geometry of the road is poor. When coming past the bus stop, drivers have to first move to the left to pass the traffic island on their right and then quickly move to the right to avoid being in the expanding cycle lane on their left. The angle of the cycle lane marker is such that if there were bollards along it, I would expect a car to hit them sooner or later.

It’s interesting that this stretch of road is the longest stretch without any protection in either direction for quite a way. A video a bit further along shows why there should be protection and especially at junctions:

At least they haven’t painted the line the Nissan Micra takes onto the road, unlike further up.

This bypass is a good example of how not to design bypasses. Hopefully it’s not too late for it to be amended; a quick fix would be to extend the bus stop platform so that it’s a little further into the road, providing protection for emerging cyclists:

Bypass exit

But really, the traffic island there doesn’t make any sense. It should either be moved further southwards or removed.

Future surveys

I think if I do future surveys I’d do them a bit differently. I’d be looking for gender, as well as ‘lycra status’, on the basis that if someone’s wearing cycling gear from head to toe, they’re not really the people this infra is designed to attract. Observing an area from multiple positions might be revealing, too, in seeing the desire lines people follow.

There are many reasons why people might not have used the bypass during the time I collected this data, but I think that since 92.5% of the cyclists I observed weren’t using it, it’s fair to say it’s probably not very successful thus far. I hope it’s not finished and some amendments can be made.

Setting up multi-domain DKIM with exim + Debian

After spending a day wrestling with exim trying to set up DKIM and tearing my hair out working out why it wasn’t working, I thought I’d document my difficulties for future reference and maybe to help other people with the same problems. (And see the end for a shell script that automates creating future DKIM key pairs.)

Note that this is partially specific to Debian/Ubuntu, because it sets up exim 4 with configuration split between multiple files instead of all in one, and then also it’s specific to multi-domain virtual host installs.

Macro expansion woes

I started with the most straightforward result Google gave me and I recommend going to read it first before continuing reading this. It talks about how to set up exim using multiple hosts on the same mailserver. However, I had a problem where exim gave the error:

failed to expand dkim_private_key: missing or misplaced { or }

The problem was apparently between the two lines specifying DKIM_DOMAIN and DKIM_FILE:

DKIM_DOMAIN = ${sg{${lc:${domain:$h_from:}}}{^www\.}{}}
DKIM_FILE = /etc/exim4/dkim/{DKIM_DOMAIN}.pem

exim was choking on the {DKIM_DOMAIN} reference within DKIM_FILE. I tried various different things to get a working result, but the best I could manage was duplicating the value of DKIM_DOMAIN without the expansion, like so:

DKIM_FILE = /etc/exim4/dkim/${sg{${lc:${domain:$h_from:}}}{^www\.}{}}.pem

Removing the ‘www’ from the ‘From’ header is overkill most of the time, so simply lowercasing the From header’s host will do:

DKIM_DOMAIN = ${lc:${domain:$h_from:}}
DKIM_FILE = /etc/exim4/dkim/${lc:${domain:$h_from:}}-private.pem

Also, you don’t need to set DKIM_CANON to ‘relaxed’; this is its default value.


Make sure that your permissions are correct. The keys inside the dkim/ directory should be chmod 640 (user read+write and group read), and owned by Debian-exim. The directory itself (/etc/exim4/dkim), however, shoud be 750, as this sets the execute, which is required to access the directory and the files in it.

If you get this wrong and you’re using the article linked to above’s DKIM_PRIVATE_KEY setting:


Then it will silently fail to load keys and you’ll spend ages trying to work out why.

Automate setting up new DKIM key pairs

This shell script quickly creates a new DKIM key pair and tells you what to put in your DNS record. It also fixes up permissions as noted above. You will have to run it using sudo as it modifies files in the /etc/exim4 directory.


blog built using the cayman-theme by Jason Long. LICENSE