Post-truth politics : how Leave hacked the political system and what it means for us

A couple of weeks before the referendum, I penned a long(ish) article outlining the reasons for Remaining. These were largely economic, with a dose of pragmatism — not only would Leave wreck the Economy, but every path out of it was sub-optimal — and a few barbs at the Leave’s campaign lying and dogwhistling while I was at it.

I didn’t publish it. I intended to on the Monday before the vote, but after the assassination of Jo Cox a few days before, I felt writing anything seemed pointless. Furthermore, I had the nagging feeling that no matter how many people read it, I wouldn’t change a single mind.

Leave’s surprise win on Thursday night has confirmed that suspicion.

The initial signs from the fallout are not good — global stock markets crashed on Friday, and the pound devalued to such a degree that France is now the fifth largest economy in the world instead of the UK. Tremendous uncertainty now hangs over us — who the next Prime Minister will be, if the Leader of the Opposition will survive, whether we will have a snap election, what happens to Scotland (and Gibraltar), when negotiations to leave the EU will begin, and what the UK’s eventual relation with the EU will be.

There’s simply no plan and nobody has a clue — the referendum result is a disaster in itself, let alone the further pain we will suffer if and when the UK actually leaves the EU. Every single economic analysis before the referendum warned of a recession (and thus reduced tax revenues, and yet more austerity), and now we’re living through the opening days of their stark predictions.

And yet 17.4 million people willingly voted for this to happen.

Was it an ethical compromise — that the economic pain for a few years was a price worth paying for? That the “freedom” from the European Union was worth any price, even a few years’ economic uncertainty and misery, and we shouldn’t let it spoil Leavers’ celebrations?

The looks on the faces of the “winners” says otherwise: neither Gove nor Johnson have been seen out celebrating this weekend. Voters interviewed just a day after air doubts about their decision. The Sunday Times (which endorsed Leave) has “What has he done?” on its front page. Daily Mail commenters are now furious no-one told them of the financial risks.

Except of course, they were told. Repeatedly, and insistently, the Remain camp warned of economic uncertainty if not chaos. It didn’t matter. Leave voters simply ignored them: 69% thought there would be little economic impact.

Why did they ignore those concerns? Did that many people really think Europe was holding the country back so much, they were willing to sacrifice economic well-being for it? To be sure, a minority of people make leaving the EU their life’s cause, but at the general election last year Europe ranked just 9th in voters’ concerns (the economy was 2nd). It doesn’t lend itself to a natural majority — and at the start of the campaign, opinion polls showed Remain had a lead in the double digits.

And then that lead got eaten up. Why?

Will Davies’s piece on the sociology of Brexit is a very good read on the underlying historical factors that stretch back decades. Thatcher’s policy gutted out the industrial North, and New Labour’s solutions — tax credits, shuffling public sector jobs, instead of proper redistribution and investment— merely alleviated the symptoms not the causes. Alienated and relying on the largesse of London, decades of resentment have built up; and to make things worse, the crash of 2008 and resulting austerity gutted public services. With local economies stagnant, government services cut to the bone, and your best opportunities zero-hour contracts and Workfare, what’s your reaction going to be when Westminster politicians say Britain is “stronger” and “set to grow faster” than anywhere else?

The Leave campaign looked at the grievances of undecided or wavering voters and made Europe the focus of all of them. Cuts in the NHS or education bothering you? That’s because the EU costs £350m a week. Wages low, or jobs scarce? Not the fault of uncaring employers or sluggish demand, but because the immigrants keep taking them. A nagging sense things aren’t the way you want? That’s because Europe has control over every aspect of your lives.

This campaign was a stroke of malevolent genius — it capitalised on legitimate feelings of discontent and anger, and made Europe a convenient proxy to take the fall for all of them. It didn’t matter if it was true or not — of course it wasn’t, it was actually a pack of lies and exaggerations.

Never mind Trump being the master of post-truth politics, we have it here and we do it better than he does.

You can’t just blame the Leave campaign for lying. Ashcroft’s exit polling states 54% of Leave voters didn’t think Remain would win, that many saw it as a protest vote. Maybe that’s a hangover from the two-party system and first-past-the-post, perhaps, or maybe simple (and understandable) cynicism that voting never gets anything done for you.

The electorate were also more than willing to take those lies uncritically— “British public wrong about nearly everything, survey shows”, goes theheadline not from the Daily Mash, but the Independent. And FT research backs that up — while there are correlations between voting Leave and low income, as well as age, the strongest correlation is level of education.

Who was holding them to account? A predominantly right-wing, Eurosceptic press cheered, which on the Leave campaign to victory: 49.6% of national press circulation was from pro-Leave papers, while only 32.6% was pro-Remain. As a side note, it’s only one data point, but it’s worth noting that despite scoring highly on a set of Leave indicators such as post-industrial neglect, low income and education level, Liverpool came out for Remain. Liverpudlians, as it happens, also boycott The Sun.

(As for the BBC, the less said the better. The BBC’s coverage at times resembled its cravenly awful coverage of climate change — always seeking a “balance” of views rather than the truth)

Finally, the setup of the referendum gave Leave cause to run riot. Unlike the Scottish independence referendum, there was no obligation for Leave to outline a plan or costings for a Brexit. Unlike commercial advertising, there’s no penalty for lying in political advertising. And unlike a Parliamentary election, there’s no way of booting the winner out if it turns out they have lied.

And with only a simple 50% + 1 needed (not a supermajority, nor even a majority required in all the constituent countries), all that you needed to do was push the population over the edge for a couple of weeks before your campaign runs out of steam, and suffer no consequences if you turned out to be wrong, or lying, or both. Leave combined all of these vulnerabilities and used them to carry out a devilishly clever hack of our political system.

So, Europe was a totem to nail your discontent to. People thought their vote wouldn’t count. Many had a poor understanding of the facts, and a Eurosceptic press dominated discussion. And the Leave campaign were under no obligation to tell the truth, nor be held to their actions after the vote. These combined to make a perfect storm for a disastrous decision to be made — squeaking home by a 3.8% majority, and that mandate cannot be reversed.

We’ve uncorked the genie of post-truth politics out of the bottle. So what next? An angry electorate has got what it wanted, except it didn’t really know what it wanted. The actual problems on their mind — the NHS, the economy, jobs, housing — still weigh heavily, and leaving the EU is not going to solve them.

And that anger will now find other outlets. It’s already started — there’ve been numerous reports in the wake of victory, of harassment of migrants and minorities in the street, threatening notes through doors and racist graffiti on buildings. To be clear, only a minority of Leave voters are racist, but every racist is a Leave voter, and this result has emboldened them and made them more confident. They think they’re in the ascendancy now, and shamefully, their allies in the Leave camp are doing nothing to rein them in.

Where else is that anger going to go? Because angry Leave voters are only going to get angrier when they realise the promises of the Leave side were lies worth nothing. They’re already walking those lies back already. Nigel Farage has already poured cold water on spending the mythical £350m per week saved on the NHS. Daniel Hannan has said there won’t be strict controls on immigration. Of course they can do this, because they’ve won their battle but are free of any responsibility of the consequences.

What’s going to happen when these underlying problems are still not fixed and the people who are rightfully angry realise that they’ve been taken for mugs by the political class — ones wearing purple rosettes rather than red or blue—again? What option do they have when even the protest party turns out to be even worse than the others? Where will they direct their anger to next? If I were a politician I’d be worrying about that far more than the internal squabbles in my own party in the coming days.

Why pragmatic politics is wrong

Disclosure: I did not vote for Jeremy Corbyn as my first preference in the Labour leadership election, lest I be accused of being a Corbynista from the get go.

Jeremy Corbyn’s election as Labour leader is, we’re told, going to be a disaster for Labour. The party will fall apart. He is unappealing to swing voters and focus groups. He will not win the general election in 2020. 

This narrative is underpinned by the philosophy that the Labour party achieves more in power that out of it; therefore, the aim of the party should be achieving power. To achieve that power, if the electorate cannot be convinced to move leftward, then the party must move rightward. If certain principles have to be compromised or jettisoned, so be it, because it is more important to be in power than retain principles. That is the nature of pragmatic politics.

It sounds such a simple idea. Do X, and Y will follow. And it ties in with the status quo of managerialism in political thought. Governments, economies, whole systems, are treated as black boxes; just questions of inputs and outputs. Those participating in these systems are rational actors, motivated by incentives, whose behaviour can be predicted. Without pesky principles getting in the way, politics becomes a discussion of outcomes — which ones to achieve and the best way to achieve them.

Unfortunately for Labour’s believers in pragmatic politics, they are completely and utterly wrong.

There are no black boxes. Politics and economics are not simple systems where known inputs lead to predictable outcomes. They are complex, subject to major disruptions from minor inputs, and unpredictable. Most of the major era-shaping events of this century so far — the September 11th attacks, the Great Financial Crisis, the Arab Spring — were, at the time they happened, spontaneous and unpredictable. They’re Black Swan events, if you know your popular science books.

(Although this hasn’t prevented lots of self-proclaimed clever people saying they were predictable, in hindsight. Ignore them.)

There’s no better example of this than the rise of Corbyn himself. During the general election, he was such a peripheral figure he was mentioned just once in media coverage of Labour’s campaign. When he entered the leadership race, the very same people telling us he will be a disaster, were telling us he hadn’t a hope in hell of winning it.

And for all the talk of £3 entryism, that the Labour party had been infiltrated by outsiders, it’s worth noting that Corbyn still won 49.6% of the first round among party supporters, and 51.5% among party and union affiliates combined. He would have won easily without the new joiners — Labour members were already unhappy.

If you’re that bad at reading the mood of your own party members, the people you are closest to, then how bad must you be at predicting how an entire country or economy or global system will behave?

We need to cure ourselves of the delusion of pragmatic politics, and of all the philosophical baggage that comes with it. Perfect knowledge is not attainable. Black boxes are a poor theoretical model for political systems. People are not rational actors and aggregate behaviours are not predictable. Doing X will not automatically lead to Y, even if doing X led to Y in the past.

What does that alternative look like? An inbuilt assumption that systems are unpredictable, building things that are more accommodating of risk and unknowns, have more humility when you make your own assertions and be open to the possibility you may be disastrously wrong. That’s a start, at least.

Note that these are all things that are relevant to you regardless of where your political principles lie. As for those principles? Think of them of as the chart to navigate unpredictability by; to give you the grounding to deal with unpredictability as it hits you in the face.

(But don’t let those principles blind you to hard truths, else they become dogma, and dogma is useless)

In short, ignore the pundits’ predictions. Pundits are useless at predicting things, because everybody is useless at predicting things. Many (but not all) things coming up between now and 2020 will be unpredictable, and you owe it yourself to ignore those who are so certain about everything, and to be less stridently certain with your own predictions.

Drones, Amazon & the future of labour relations

A lot of fuss has been made over the announcement Amazon plan a drone-powered delivery service in the near future. Predictably, the proposals have been dismissed as little more than a publicity stunt, and they have a point – the logistical issues alone would make this little more than a novelty.

Also this week, Amazon have been in the news with a slew of articles and news reports on the working conditions of employees (particularly agency and temp workers, with it being Christmas and all) at one of Amazon’s distibution centres. The investigation is a good one, worth reading and highlights some of the problems (the lack of union representation being for me the biggest one). However, there is nothing uniquely evil about Amazon; they are not the first to exploit workers, and (although this doesn’t excuse their behaviour in any way) it’s certainly not comparable to the recent rise of slavery practices such as unpaid internships and Workfare.

Still, you see Tweets like this, and there is a point to them:

But I think the former story will end up being a more representative example of how labour relations are defined in the 21st Century than the latter.

Even if Amazon’s putative drones never make it, self-driving vehicles of some form will. Indeed, they already are a reality. Most people think they’ll revolutionise the car industry; I think they’ll undermine the delivery industry first. Fully automated, never fatiguing, possibly electric off cheap solar (if we ever get enough recharge points), and lightweight (what with no drive or passengers to harm in the event of a collision). Think of Adrian Hon’s deliverbots, and that might be what the future is like.

Self-driving takes a mundane but information-heavy task (you’ve got to pay attention to the road) and automates it. All the foundations are there to make this a reality – open-source embedded systems, cheap & fast networking, over-the-air connectivity and GPS; software able to handle voice recognition and visual recognition are no longer perpetually “a few years away” but are here now. This stuff is now so pervasive it will be quite difficult to uninvent.

This revolution in technology won’t just give us automated vehicles, moving goods in and out of warehouse, but inside, the staff will be replaced by robots themselves, picking products via automatic recognition and moving them about the place. It’s not just “blue collar” jobs – bots now write newspaper articles and trade stocks for us. Stephen Wolfram’s work teaching computers how to understand natural language could revolutionise how we program and the range of tasks computers could do in the future.

The 21st century threatens to automate mundane, service-oriented, information-heavy tasks in the same way the 20th century automated mundane, manufacturing-oriented labour-heavy tasks. That move from industrial to post-industrial wreaked havoc and left deep economic scars upon this country and others; the Left didn’t see it coming for too long, and when it did, much of it crossed to the other side, only for us to end up with even greater inequality and economic meltdown.

As we move from post-industrial to post-post-industrial (hey, it’s my blog, I’ll coin whatever neologisms I like), what will the Left do to avoid repeating the same mistakes? Millions of jobs will likely go, and millions of new jobs will likely replace them. Or maybe not – if everything gets automated it does raise the question: what anybody will actually do all day long? Should we even think about work as being normal, or such a defining part of our lives, any more? Maybe we’re close to Marx & Keynes’s vision of a leisured society empowered by automation than we think? Or maybe instead, having trained a generation to work in an information and service economy we’re about to wipe out any opportunities for them and let automation take over, leaving all but a tiny minority to fight over the scraps of Workfare and zero-hour contracts in a vastly unequal society?

The economic damage done to the move from an industrial Britain (particularly in the North) makes a mockery of neoclassical notions that labour markets are flexible and self-correcting; left to “market forces” the same structural damage will occur in the forthcoming upheaval. Can the Left get its head around the implications of information automation and a world where computers get as good at analogue as we do? The closest anyone has come to confronting the convergence of digital and analogue is the artistic movement known as the New Aesthetic, but the New Aesthetic maintains a deliberately detached facade (surveilling the surveillers, as it were) that avoids getting directly involved politics. Politics needs to provide more

To sum up, this is not a “Amazon workers, deal with it, you’ll be replaced with robots soon enough” post. What it is to remember, just as we look upon Amazon’s warehouse work using 20th Century labour relations as a framework, a revolution is happening that could redefine labour relations altogether for the 21st. The Left, if it is to avoid repeating the mistakes of the past, should be learning about the technological changes to come, grappling with their implications and actively shaping how society manages them, making sure our future is spent exploiting these advances rather than be exploited by them.

An aside – I’ve dealt with one pillar of how information automation will have an impact, our relation with capitalism & work. There are probably two other pillars, one being our relation with the state – military drones, pervasive surveillance, etc. – and the other our relation with each other – how will a society full of Google Glass wearers behave with each other? – that are also deserving of equal attention from the Left, but that can wait for another blog post.

Why it took me five months to write @whensmytube

(or, open data is not always 100% open)

Five months ago I wrote a Twitter bot called @whensmybus. It took me a fortnight to code up and test the first version, which was pretty simple to begin with – it took a single bus number, and a geotag from a Tweet, and worked out when the next bus would be for you. And then people started using it, and really liking it. And because they liked it, they found ways of making it better (curse those users!). So I had to add in features like understanding English placenames, being able to specify a destination, handling direct messages, multiple bus routes, and tolerating the many many ways it’s been possible to break or confuse it, and this took up a lot of my time. And it was fun, to be honest.

At the same time, those bloody users also asked me when was I going to do a version for the Tube. But I was too busy adding the features for @whensmybus, and that’s one reason why it took me five months to write its counterpart, @whensmytube, which I launched last week. But there’s a stack of other reasons why it took so long. It didn’t seem too difficult to begin with. Just like with buses, Transport for London have made their Tube departure data open-source (via a system called TrackerNet), as well as the locations of all their stations. It would be pretty simple to do the same for tube data as it would for bus data, right?


So, for anyone interested in open data, software development, or just with a lay interest in why software doesn’t get new features quickly, here’s a run-down of why:

1. The Tube data isn’t complete

TfL helpfully provide details of all their Tube stations in a format called KML, from which it’s reasonably easy to extract the names and locations of every station. Well, they say “all”. That’s a bit of a lie. The file hasn’t been updated in a while; according to it, the East London Line is still part of the Tube network, and Heathrow Terminal 5 and Wood Lane stations don’t exist; neither do the stations on the new Woolwich Arsenal and Stratford International branches of the DLR. This has been griped about by other developers, but no update has been forthcoming. So it took time to do the ballache task of manually writing the data that hadn’t been included in the first place.

To make things more annoying, certain stations are left out of the TrackerNet system. If you want live updates from Chesham, Preston Road, or anywhere between Latimer Road and Goldhawk Road on the Hammersmith & City, you’re plain out of luck. Sorry, this is TfL’s fault and not mine. This also wasn’t documented anywhere, just omitted from the system documentation.

2. The Tube data isn’t built for passengers

To be fair to TfL, they do say what the TrackerNet service was meant for – it is built on their internal systems and was for non-critical monitoring of service by their staff, and there is a disclaimer saying this. The public version is useful, but unlike its bus counterpart there is a lot of data there which is not for public consumption. If anything, it’s too useful, as it contains irrelevant information such as:

  • Trains that are out of service or “Specials”
  • Trains that are parked in sidings
  • Trains on National Rail systems, like Chiltern Railways, that run over Tube lines
  • Data on whether a train is scheduled to go to a depot after its journey
  • Some trains just don’t know what their final destination is yet, and are just labelled “Unknown”

And none of these special cases are documented in the system. So I had to spend a lot of time working out these odd edge cases and filtering out the chaff. And the code is by no means complete – I have to wait until irrelevant information is shown up to be able to filter it, because TfL don’t provide anywhere a list of possible values. This is annoying – so much so that I have even taken the step of submitting a Freedom of Information request to find out all the possible destinations a train can be given on the system to make sure, but I’m still waiting on it.

The documentation also falls down on being useful to reuse. For example, each station has a name (e.g. “King’s Cross St. Pancras”) and a code (e.g. “KXX”). Because spellings can vary, it’s easier to use the three-letter code when doing lookups for consistency. But the list of codes, and the station names they correspond to, were locked in a bunch of tables in a write-protected PDF, so it was impossible for me to create a table of code-to-station-name lookup table. In the end, I’m glad that someone had done the hard work for me, rather than I having to manually type them out.

On top of that, the system uses terminology more suited to insiders. For example, most stations have platforms labelled Eastbound/Westbound or Northbound/Southbound, which is fine. But the Circle Line and the Central Line’s Hainault Loop have designations “Inner Rail” and “Outer Rail”. And then to make my life even worse, some edge cases like White City and Edgware Road have platforms that take trains in both directions. This is confusing as hell, and so I had to spend a bit of time dealing with these cases and converting them to more familiar terms, or degrading gracefully.

This is a pain, but worth it. As far as I’m aware, no other Tube live data app (including TfL’s website, or the otherwise excellent iPhone app by Malcolm Barclay, which I regard as the gold standard of useful transport apps) takes this amount of care in cleaning up the output presented to the user.

3. Humans are marvellous, ambiguous, inconsistent creatures

And then on top of that there’s the usual complications of ambiguity. There are 40,000 bus stops in London, and typically you search for one by the surrounding area or the road it’s on, because you don’t know its exact name, and the app can look up roughly where you are, and give an approximate answer. But, there are fewer than 300 Tube stations, and so you’re more likely to know the name of the exact one you want. But, there are variations in spelling and usage. Typically, a user is more likely to ask for “Kings Cross” than the full name “King’s Cross St. Pancras” – punctuation and all. This all needs dealing with gracefully and without fuss.

4. Despite all my work, it’s still in beta

There’s plenty @whensmytube doesn’t yet do. It only accepts requests “from” a station and doesn’t yet accept filtering by destination “to”. This is because, unlike bus routes, most tube lines are not linear (and some even have loops). Calculating this is tricky, and TfL don’t provide an open-source network graph of the Tube network (i.e. telling us which station connects to which), and I haven’t yet had the time to manually write one.

5. But I’m still glad I did it

Despite all my problems with wrangling TfL’s data, I’m still pleased with the resulting app. Not least because, hey, it shipped, and that’s to be proud of in its own right. But more because everything I learned from it has kept me keen, and it’s had some pleasant side effects. The refactoring of the code I had to do has made @whensmybus a better product, and all the learnings of how to deal with the Tube network meant I was able to code and release a sister product, @whensmyDLR, with only a few days’ extra coding. Not bad.

But, here’s some quick conclusions from wrangling with this beast for the past five months:

  1. Open data is not the same as useful data If it’s badly-annotated, or incomplete, then an open data project is not as useful. Releasing an API to the public is a great thing, but please don’t just leave it at that; make sure the data is as clean as possible, and updates are made to it when needed.
  2. Open documentation is as important as open data It’s great having that data, but unless there’s documentation in an open format on how that data should be interpreted & parsed, it’s a struggle. All the features should be documented and all possible data values provided.
  3. Make your code as modular as possible If you’re having to deal with dirty or incomplete datasets, or undocumented features, break your code up into as a modular a form you can get away with. The string cleaning function or convenience data structure you wrote once will almost certainly need to be used again for something else down the line, and in any case they shouldn’t clutter your core code.
  4. In the end, it’s worth it Or, ignore all my moaning. Yes, it can be a pain, and annoying to deal with cleaning up or even writing your own data to go along with it; but in the end, a cleanly-coded, working product you can look on with pride is its own reward.
  5. Thank you TfL Despite all my bitching above, I’m still really grateful that TfL have opened their datasets, even if there are flaws in how it’s distributed and documented. Better something than nothing at all – so thank you guys, and please keep doing more. Thank you.

When’s My… Anything

Last year I introduced a service called @whensmybus, a Twitter bot that you could ask for real-time bus times from anywhere in London. It proved to be a little bot cult hit, and in time I’ve expanded it from a simple “one bus please” service to handle natural language parsing, multiple routes, direct messages and the like.

But people don’t just take buses in London. They also take the Tube. And so it only seems fair to build a sister service for @whensmybus for the subterranean-inclined. So, introducing… @whensmytube. It does the exact same thing – taking advantage of Twitter’s realtime and geolocation capabilities and mashing them up with TfL’s open APIs to give you live Tube departure times for nearly any station on the Underground. Just Tweet:

@whensmytube Central Line

with a GPS-enabled Tweet, or:

@whensmytube Central Line from Liverpool Street

with an ordinary Tweet. More information and a full description of its abilities and how to use it are available here. Please use it! And break it! It’s still in beta, and any feedback would be much appreciated, thank you.

But, hang on. That’s not all! There’s not just the Tube in London. There’s also my beloved Docklands Light Railway. And it would be cruel to leave it out. So have two for the price of one – if you’re a DLR lover, please try @whensmyDLR for size as well:

@whensmytube DLR

with a GPS-enabled Tweet, or:

@whensmytube DLR from Poplar

with an ordinary Tweet. Like its Tube and bus counterparts, it’s reasonably flexible, so please check out out the help page. And please give any feedback you can, thank you!