When I moved from south-east London to east London last year, one of the things I was looking forward to was fairly quick access to CS2, a substantially-segregated route from Stratford to Aldgate.

To get to CS2, I go from my home in Leyton to the northern half of the Olympic Park via Temple Mills Lane and Honour Lea Avenue. From there it’s a nice, traffic-free cycle into the southern half of the park.

But at that point you need to make a decision where you need to go because there’s no traffic-free or segregated way of reaching CS2 on Stratford High Street from the park. (We built a massive naff-off Velodrome but won’t give people a safe way to get to it from the main road. It’s ludicrous.)

I’ve generally gone to the roundabout at the junction of Montfichet and Warton Roads, then down Warton to Stratford High Street, and then turn right at the crossroads into the segregated CS2.

But Warton is a horrible traffic sewer, being one of the few ways to get from Stratford proper to the Westfield shopping centre. Newham have recently installed a series of raised tables and raised crossings in an attempt to slow the traffic, an example of tackling the symptoms rather than the cause. It’s not pleasant to cycle and a couple of years ago the junction with Stratford High Street was ranked as one of the most dangerous for people on bikes.

Coming the other way, eastbound, things have been made worse by the Weston Homes development along Stratford High Street, with sections of the segregated tracked regularly closed. This forces people on bikes to join a lane of fast-moving traffic.

Take, for example, the surprise cones captured by @SW19cam:

Suprise cones on CS2

The sadly typical “Cyclists sod off” snapped by @RossiTheBossi, complete with van sitting in the track:

Cyclists Dismount

And then there’s Lucia Quenya’s video of the mess:

I now try to avoid this section of CS2 when heading home and — spurred on by Diamond Geezer — I think I’ve settled on a largely traffic-free route that avoids Warton Road and the Weston Homes works. Here’s a modified screenshot from Google Maps:

A map of the lower section of the Olympic Park and Stratford High Street

Basically, heading east, you take the first left after Bow roundabout (into Cook’s Road), follow the road round, and then turn left after Pudding Mill Lane DLR station. Turn right at the lights, then go up the dropped kerb immediately after the bridge. That puts you in the big chunk of empty ground to the south of the Squiggle and you can go on your merry way.

Heading west it’s the same until you reach the junction of Stratford High Street, but at that point dismount and head for the pedestrian crossing to your right. You can then join the advanced stop box heading west.

The route shown in the map above isn’t direct by any means, and you may encounter the odd large vehicle between Loop Road and Stratford High Street — whether construction or industrial. It’s also likely to be impassable on West Ham home match days.

It’s not a great trade-off, and it’s crackers that this is even necessary if you want to avoid motors so close to the Olympic Park (#Legacy) and the CS2 extension — the first CSH section that was substantially segregated.

But that’s the situation we’re in.

At work I’m responsible for our office file server, which is mostly used for storing the InDesign pages and related files we need to produce the paper every day.

At the end of 2016 we replaced the server, which was a 2010 or 2011 Mac Mini, with a “current” Mac Mini — the 2014 release. That wasn’t ideal and part of the reason why I hadn’t replaced it sooner was because I was waiting for Apple to at least refresh the specs.

In any case, we got to a point where the machine needed swapping. The final straw for me was being unable to trust that the backups would run reliably.

Ever since I got my current post (in mid-2014) I’d been meaning to overhaul our backup strategy but it was always a case of “I’ll do it when we replace the server.” It’s worth sketching out what we were doing before moving on to what caused concern and what I’ve replaced it with now.

In this, I’m going to include RAID because the redundancy side of things also changes. For context, our working day is roughly 10am-7pm Sunday–Friday:

  • Two 500GB drives in the Mini itself, in RAID 1 (mirrored).
  • SuperDuper! copies (newer files) to two drives (in RAID 1) at — if I remember correctly — 9am, 12pm, 3pm, 5pm, 9pm, Sunday–Friday.
  • Daily SuperDuper copies (newer files) to two drives (in RAID 1) at about 9pm, Sunday–Friday.
  • Weekly SuperDuper erase-and-copy on Saturday to both the three-ish-hourly mirrors and the daily mirrors.
  • Arq backups to (old-style) Glacier vaults, once a day.

The SuperDuper copies were done to a set of USB 2 disk enclosures, containing ordinary 3.5″ drives.

You’ll have noticed some fuzziness in my recollections just there, for an important reason: the machine’s performance was so poor everything bled into each other. It was totally competent serving files over AFP but trying to work on the machine itself was a nightmare.

And this is the point where it gets concerning. It wasn’t rare to log in to the server to find a SuperDuper copy having run for 12 hours and still going, or that Arq had hung and needed its agent restarted. Both are solid pieces of software (though it was an older version of Arq, v3 I think) so the blame does lie with the machine.

Which is odd, really, because its only tasks were:

  • Serve files on the local network over AFP (to fewer than 25 users).
  • Run OS X Server to handle user log-in (for access to files only).
  • Host our internal (unloved and little-used) wiki.
  • Perform backups (of its own drives).

Hopefully you can spot the problems — both the ones inherent in the strategy and the ones that result from poor performance:

  • Local backups were relatively infrequent and could result in hours of data loss.

    This is a bit dicey when our business relies on getting all pages to the printers by the early evening. Each page takes about an hour of work to create.

  • Local backups may not complete in a timely fashion.

    This exacerbates the point above, and the cause wasn’t readily apparent.

  • Local backups, as copies, don’t allow for the recovery of older versions of a file.

    So if you accidentally erase everything off a page, save it, and it’s backed up, you can’t recover the previous state unless it was picked up by the previous daily backup. (That’s an unlikely event, since most pages are created, finished and published between daily backups.)

  • Remote backups, because they were stored in Glacier, would take several hours even to reach the point where files could begin to be restored.

    Even if they were hourly (not our case), if you lose a page an hour before deadline and it’s not backed-up locally your only option is to recreate the page because there’s no chance you’ll get it out of Glacier fast enough.

Let’s walk through perhaps the most likely example of data loss during our working day, when a user accidentally deletes a file (taking an InDesign page as our file):

Because of the way deletes work over AFP & SMB, the deleted file is removed immediately, in contrast to a local delete requiring two steps to complete (usually): the file is moved to the trash, the trash is emptied.

First, the local backups are checked. In the lucky case, a backup has run recently (and completed timely!), otherwise you could face up to three hours’ data loss, which could be all of the work on that page.

If the page was created on a previous day (uncommon) then you’d also check the daily local backups, hoping that the page was substantially complete at that point.

Then you’d check the remote backups, hoping that (like above) the page was substantially complete at the point that the backup ran and that you have the three-to-five hours needed for the restore to begin.

It’s perhaps clear that the chances of recovering your work are not good. It gets even worse when you consider the next common case: that a user modifies a complete page, destroying the original work, and that modified version replaces the original on the more-frequent local backups.

(When I was very new at the Star I did something similar. I was asked to work on a features page for the following day. I opened up the corresponding page for edition to save a copy but for whatever reason didn’t — and began to work on the “live” page for edition. When this was noticed — close to deadline! — I was thankfully able to undo my way back to the original state, as I hadn’t closed InDesign since opening it. It was an incredibly close call that still makes me feel queasy when I think about it.)

So while we did have a strategy that included both local and remote backups, it was effectively useless. That everything locally was in RAID 1 — meaning that if one drive of a mirror fails, you don’t lose data — I think just shows that when it was set up, the core purpose of backing up our data was misunderstood.

We had copies of our business-critical data, but constructed in such a way that protection against drive failure was far, far more important that the much more common case of restoring fast-changing files. In this system, you could have five drives die and still have a copy of our server data locally, or all six die (perhaps in a fire) and be able to recover remotely.

To sum up, it was reasonable protection for a rare event but little protection for a common event.

It is, of course, possible to have both. In my next post I’ll go into what’s changed, why, and what that means for protecting our data in both the common and rare cases.

Last week TfL released some data about crowding on Tube trains. There’s a good write-up by Diamond Geezer.

Basically, TfL give each 15-minute slot on each line in each direction a rating from 1 (quiet) to 6 (stuffed). I thought I’d have a go at turning that data into some heatmaps, so you can pick out the busiest times more easily.

Now, this was my first time trying to make heatmaps, my first time using Seaborn and my first time using Pandas. The plots are not great. I basically got to the end of my tether trying to sort the code out and ended up spending a chunk of time polishing the resulting images. Even then…

Before we go any further, all the plots are linked to the SVG files if you want to have a closer look as the labels appear quite small. Also, I’m only going to describe the oddities in the plots, not draw conclusions from them — others can do that if they’re interested.

Let’s start with the Waterloo & City line because it’s simplest:

Tube crowding on the Waterloo & City line

Hopefully you can pick out the labels on the left showing the source and destination stations, the times (5am to 2am) and the change in colour showing how crowded the trains are. It’s quite easy to pick out the peaks here: Waterloo to Bank around 8 and 9am, Bank to Waterloo around 5 and 6pm.

Now, in alphabetical order, let’s go through the rest. Bakerloo:

Tube crowding on the Bakerloo line

Note here something that applies to the rest: not all pairs of stations are listed as I was having trouble making them legible. I tend to leave out every other pair so, above, it’s implied that after Harrow & Wealdstone → Kenton and before South Kenton → North Wembley there is Kenton → South Kenton. But, as we’ll see, this isn’t always the case.

Looking at the early morning services in Kenton and Wembley it is pretty obvious, as Diamond Geezer pointed out, that someone has been mucking about with the data.

Next, Central:

Tube crowding on the Central line

This was one of the first plots I “tidied” which is why the scale is missing. Note here the apparent disappearance of lots of travellers in the top-left and bottom-right of each plot. This is because of branching lines. I’ve tried to keep in the first station for each branch for each direction but it isn’t always the case. You may want to read these alongside the Tube map.


Tube crowding on the Circle line

Not this is only the “Outer Rail” and “Inner Rail” — clockwise and anti-clockwise — sections of the Circle line, starting at Edgware Road. I left off the “jug handle” between Paddington and Hammersmith, which was pretty quiet anyway. In fact the whole line is fairly quiet — something DG pointed out — so the data is a bit suspect.


Tube crowding on the District line

All those cut-off bits are because of the five branches in west London. It’s a weird line for historical reasons. Again I’m sceptical about the data because the District is the busiest sub-surface line, but the plots show that to be the Hammersmith & City:

Tube crowding on the Hammersmith & City line

No branches. Hurrah. Next.


Tube crowding on the Jubilee line

I love how Canary Wharf slices across these charts.

Let’s sod off to Metro-land:

Tube crowding on the Metropolitan line

The Metropolitan line appears to be weirdly spacious in the evenings given how rammed it is in the morning. I’ve no idea if either is true to life.

More branching fun with the Northern line:

Tube crowding on the Northern line

I know, it’s weird, I should have done separate charts or something but TfL need to get on with it and split it up.


Tube crowding on the Piccadilly line

Strange pattern there, but it’s another strange line. Thankfully the last one is straightforward, the Victoria:

Tube crowding on the Victoria line

Doesn’t look too bad, that one.

Sorry the charts were so poor, do let me know what I should’ve done differently, or just whinge — I’m just glad this is over.

I think I might be done with SS-GB, having just watched the third episode. My problems are mainly with the plot, and I know, I know, it’s an adaptation of Len Deighton’s novel but crikey.

I’ve criticised the ludicrous notion of a warm Nazi-Soviet alliance before but Sunday’s episode was the one with Marx getting dug up so that bloody well needs to go on the list. The series is set in November 1941: two years after Hitler said: “Everything I undertake is directed against the Russians,” (Andrew Nagorksi, The Greatest Battle) and over a year after the Nazis began drawing up invasion plans of the Soviet Union. By early 1941 these included the “hunger plan” that proposed that German troops seize grain, with the anticipation that this would cause the starvation of tens of millions of Soviet citizens. This didn’t come to pass but in the weeks after the German invasion the Germans took three million Soviet prisoners and within nine months two million of them were dead.

But mostly it’s the idea of the collusion between the highest ranks of the German army in Britain with the resistance — who in the fiction are still fighting each other in northern Britain — to help the British king escape SS custody.

The logical grounding for this appears to be the idea that the German officer corps was dominated by aristocrats who where a bit put out by the brash Nazis. Far easier to do a deal with their upper-class counterparts in Britain — the leaders of the resistance.

This is pretty threadbare stuff. There was indeed some resistance to the Nazis in the German armed forces, but generally split into camps that opposed the Nazis generally and those whose main concern was that the Nazis would lead Germany into another war that it would lose. These latter misgivings were washed away by German military successes. In the hypothetical situation of SS-GB, where Germany has triumphed both on the continent and in Britain, it would be reasonable to think that the morale of German army officers would be high and fears of losing on the battlefield low.

In any case, supposing this German opposition faction, the likelihood of it finding a counterpart among the British ruling classes is highly questionable given their support for fascism, anti-semitism and fear of communism. After the publication of footage of Elizabeth Windsor giving a Nazi salute as a child, Max Hastings reviewed this history in the Daily Mail. The Mail of course knows all about support for fascism, what with its owner Viscount Rothermere declaring: “Hurrah for the Blackshirts!” in 1934 and all that.

The argument against this is to point to those in the ruling classes who did oppose Nazism, not least Winston Churchill. To counter this it is worth understanding the nature of the Nazi threat to their interests. Historian Adam Tooze notes:

The originality of National Socialism was that rather than meekly accepting a place for Germany within a global economic order dominated by the affluent English speaking countries, Hitler sought to mobilise the pent-up frustrations of his population to mount an epic challenge to this order.

This is confirmed in Churchill’s own words, outlining his opposition to Nazism in private to Soviet ambassador Ivan Maisky in 1938:

Today, the greatest menace to the British Empire is German Nazism, with its idea of Berlin’s global hegemony. That is why at the present time, I spare no effort in the struggle against Hitler.

Churchill’s own words and actions are hardly ones that support the idea of opposing the brutality of Nazism in principle. Churchill bears much responsibility for the Bengal famine and its five million deaths; then secretary of state for India Leopold Amery noted that, “on the subject of India, [Churchill] is not quite sane” and that Amery didn’t “see much difference between [Churchill’s] outlook and Hitler’s.” In Churchill’s secret evidence to the Peel Commission of 1937, he says that it was “not wrong” for the “higher grade race” (of Europeans) to slaughter Native Americans and Australian Aborigines.

Much more could be said, but the point is not to confuse practical anti-Nazism with principled anti-fascism. In a different situation — India, Kenya, Malaya, wherever else — the anti-Nazism of the white-supremacist colonial torturer looks distinctly weak. (And, in Vietnam and Indonesia, Britain in fact re-armed Japanese troops to kill liberation fighters struggling to prevent the return of colonial domination.)

I have a lingering doubt as to the worth of this post, attacking an adaptation of a work of fiction written closer to the war than to now. What irks me, I think, is that whatever the shortcomings of Deighton’s original novel, to reproduce them now in 2017 without alteration is deeply suspect. To smear the Soviet Union in such a way is unforgivable, especially at a time when European politicians are ratcheting up the hysteria against Russia in incredibly dangerous ways, and supporting a Ukrainian government that openly and officially celebrates Nazi collaborators who murdered Jews and Poles.

I wonder about a class motivation underlying these themes, doing down the Soviet Union (and socialism by association in the popular mind) while dressing up British and German elites’ resistance to Nazism. Again, it is fiction, but I worry what people might take away from a story that purports to be based on historical fact but which is so disconnected from it.

As a journalist and a socialist, one of my interests is looking into and understanding the beliefs that underpin journalistic output.

By far the best way of understanding the mass media in capitalist democracies is the Propaganda Model from Herman and Chomsky’s Manufacturing Consent. Its greatest strength is that:

We do not use any kind of “conspiracy” hypothesis to explain mass-media performance.

Crucially when we come to the role of individuals in this system:

Most biased choices in the media arise from the pre-selection of right-thinking people, internalized preconceptions, and the adaptation of personnel to the constraints of ownership, organization, market, and political power.

I think the idea of internalised preconceptions is powerful and portable. It is the idea that things “must” be as they are because “that’s the way the world works” or whatever phrase you want to use.

Switching from politics (of a sort), one thing that we see time and again is hostility to provision of cycling infrastructure because, obviously, mass unrestricted motoring is “the way the world works.” Any infringement on that — perhaps by redistributing road space — is in essence an affront to the natural order of things to benefit an out-group.

Again, this isn’t because the media are in hock to the Road Haulage Association or whoever else, but it is the natural conclusion in a society where transport policy has been focused on the motor vehicle for nearly a century.

An even more extreme case exists in the United States, where the motor vehicle has been so dominant that it’s not unknown for roads in built-up areas to lack pavements.

Which, finally, brings me to what sparked this post: a Los Angeles Times story about the health risks of living near LA’s many motorways. It’s actually a good story and pulls together all of the health and development stuff well.

However, it has a blind spot that reveals the internalised preconception that motor vehicle use must remain dominant. This paragraph sums up the avenues for change that the authors see:

Cities could re-zone areas near heavy traffic to exclude new residential development or change their general plans to prohibit such uses, planning experts say. Officials could adopt ordinances or moratoriums on new residential development. Or they could strengthen building standards — as they have for seismic reasons — forcing developers to design buildings in a way that reduces residents’ exposure to polluted air.

In short: stop building homes near motorways or build them better.

At no point is this flipped on its head to tackle the source: the motorway and the cars on it. There is no suggestion that that motorway is the thing that should be stopped, be narrowed or ripped out.

“10% of land currently zoned for residential construction” is “within 1,000 feet” of LA’s motorways so banning such construction would be problematic. But, again, the motorways are treated as unchangeable facts about our world that we must live with and cannot challenge — to the point that it is not even raised, just assumed.