Dodgy Steve’s Software Manifestagogo

We have totally nailed better ways of developing software by drinking beer and talking about it. This incontrovergitibly shows you should choose:

Beer over processes and tools
Beer over comprehensive documentation
Beer over contract negotiation
Beer over following a plan.

That is, while there is value in the items on the right, we value the items on the left more.

We also really feel like a kebab.

Financialism

Something has been bugging me about John Lanchester’s followup to his very clear and accessible overview of the banking crisis in the LRB. His second piece, Let’s Consider Kate, is rather less satisfying.

The Other

The central argument becomes an analogy between an example of household finances (Kate) and the operation of a large bank. Yet one of the great lessons of economics is that money and production behave differently at great scale. Take Keynes’ paradox of thrift: an individual will need to rein in spending in a time of reduced income to avoid penury, but when everyone in an economy including the government itself is doing it, it compounds the pain. The government, having a different relationship to money and inflation, can act to reduce the pain for everyone and return the economy to overall growth by enduring debt and stoking inflation in bad times (up to a point). Likewise Ricardo’s comparative advantage, likewise Milton Friedman’s points on the velocity of money and the role of inflation – they all operate at scale, not at the kitchen table. A large bank also operates at scale and is intimately connected to the creation of money – perhaps it might work a bit differently too. Isn’t this true of most great ideas – that they do not cleanly fit our folk intuitions?

The natural accompaniment of such puppet show characterization is a hand-waving oversimplification. So we colour in one-third of the banking system in dark colours and call it Other. It’s not that raising equity requirements to proposed Basel III levels, if that’s the suggestion, is even a bad idea. It’s that kitchen table economics doesn’t scale, any more than kitchen table physics scales to describe nuclear fusion inside the Sun; and we need something more sophisticated than kitchen table Financialism to fix it.

My whole point about this system is not that it is a misrepresentation of some Oriental essence — in which I do not for a moment believe — but that it operates, as representations usually do, for a purpose, according to a tendency, in a specific historical, intellectual, and even economic setting. — Edward W. Said, Orientalism

A Marketplace in Ispahan - Edwin Lord Weeks. 1885

The Marketplace

The Nobility of Software Development

Confucians represent one of the earliest groups of knowledge workers in human history. They were trained in specialized knowledge for specialized tasks in a complex society, and they had a sense that their specialized knowledge made them an elite group in society. — Marc Hamann

Software development is both meritocratic and social. In the short and thoughtful note above, Marc Hamann argues this makes the thoughts of Confucius particularly relevant to the endeavour.

Marc well describes the sense of recognition I first felt when reading The Analects, the curiosity and respect for people that underlie this jumble of quotes from Confucius and his disciples. He also describes the disconnect between the brittle hierarchies of Confucianism in its most ossified form and the conservative anti-manifesto at its heart.

He also draws a contrast between the trope of the scruffy, arrogant hacker and the gentlemen 君子 in The Analects. Could we instead imagine a kind of nobility to software development? It would imply a sophisticated engagement and sense of duty to society that is the very opposite of the cliched antisocial developer who cares for nothing but code.

Nobility implies privilege and institutionally supported power as well, of course. But software development already has that. Software is pervasive within most social institutions – civil government, banks, the military, manufacturing, energy production, publishing, movies. It’s embedded in the way we communicate with one another and record our personal histories. And the job of software development is embedded along with it. Citizen programmers have jobs in all these places, vote, own houses, and are thoroughly woven into the social fabric.

The scruffy hacker avant-garde exists, and maybe its a breeder for technical innovation, sometimes. But it’s also a mask for hiding behind, and avoiding responsibility, as argued by historians of technology like Leo Marx.

It’s hard to escape that trope without alternatives. Steve Jobs and Bill Gates provide two: the first not scruffy, rigorous in his focus on usable design, the second for his philanthropic ambition. Their fabulous wealth limits our ability to emulate them. Perhaps someone like Confucius, with his respectfulness and humanism, his thoughts on working as part of a flawed system, can offer another model.

Panopticonarchy

I learnt about another two panopticons the other day. One is a watch that quantifies everything you do, physically. Treating oneself as big data is a very twenty first century thing to do. It’s the equivalent of a nineteenth century scientist dosing herself with her new experimental vaccine, but now risking nasty civic information death instead of horrible biological death. It also recommends itself as what Jamais Cascio calls a participatory panopticon: it is generated cooperatively by individuals, though once the information is collected it will presumably want to be liberated, and expensive. The prospects for medical advancement and self-empowerment seem rather marvelous; the prospects for medical insurance, whether state or private, seem less so. It all makes my use of runkeeper to track exercise look as wheezing and amateurish as the runs themselves.

The second is the British Library’s endearingly batty plan to store everything on the UK web. An enlightened quirk of British copyright law already gives them the right to do this, and it’s a beautiful, public spirited, idea. This can perhaps be grouped together with various initiatives worldwide to open access to government data, driven from within and without the state itself.

Let’s add to these the leviathans in the room – the security state panopticons. The US and UK ones we know of courtesy of Mr Snowden, the Chinese system has been in the open for some time, and presumably everyone in a uniform globally is at it by now, wrongly or wrongly.

Jeremy Bentham conceived of The Panopticon as a prison where everything a prisoner did could be observed, in order to reform him. That isn’t what we’re building today. We have a system of fledgling panopticons, built by competing interests, used for interacting institutional ends: a Panopticonarchy.

I’d say this system will be hard to completely avoid, and to do so successfully will be the equivalent of today’s statelessness. You will have to be like Hamlet and go live in a nutshell, and most people won’t want to. The choice for most individuals, already, is which panopticons to support and which to pollute, constrain and resist.

Twitter Abuse Solution Sketches

Rilke used to say that no poet would mind going to gaol, since he would at least have time to explore the treasure house of his memory. In many respects Rilke was a prick. – Clive James

So a particularly nasty bout of threatening, possibly illegal, abuse against Caroline Criado-Perez triggered a petition asking for a report abuse button. Brooke Magnanti counters with examples of how this, and a twitter boycott, may be unproductive; its insightful in itself, and as former Belle Du Jour she does have an interesting angle on pseudonymity and publishing.
So this is society’s pathology, mediated by technology, and because Twitter is pretty neat, mediated in real time and connecting strangers at massive scale. It’s Larry Niven’s Flash Crowd of course, taken to its fastest immaterial instantiation. There are slow hard things to change about human society to make it less awful. The petition is right, though, in that technology got us into this specific version of the problem and there are surely smarter technical things to limit it, but it’s worth noting that right now no-one actually knows what they are. So here’s a few design assumptions and speculations, in the hope it sparks ideas in others.

Parameters / Assumptions
Manual abuse reporting is a deliberate usability choice. It makes you think about the accusation of abuse, and will place a premium on a coherent case. Abuse reporting is judicial and needs due process. It’s probably also rational laziness by Twitter: at small scales this is the cheapest solution to implement.
Adding structure is adding due process, but it’s also institutionalising abuse. At uni, I broke my right arm in a soccer game. I had a lecturer in rationality at the time who noted that soccer had incorporated a whole system of breaking the rules into the game itself, with yellow / red cards. That then motivates the entire diving substructure (pretending to be injured or fouled to get advantage). As in soccer, so in Twitter: all systems will be gamed, especially judicial ones. This effect manifests right down to the amount of structure you put on the report abuse form. Each element narrows the likely scope of human judgement; an abuse form also describes the sort of thing that might be considered abuse.
Human review is needed – with tools that scale. I don’t know any Twitter employees, so this is speculation, but it sounds like it is just reading emails and kicking individuals at this point.
The criminal justice system is needed, and shouldn’t be outsourced to a corporation. This part will be slow. Write to your government, but also keep in mind a certain slowness is a side effect of due process.

Sketch
Use data visualization to analyse abuse events rapidly and at scale. Using new data views to augment human judgement is a digital humanities problem. Require one example tweet in form submission. The abuse support person needs to be able to rapidly see the extent and intensity of the abuse. To facilitate this, when they open an abuse ticket, they should be able to see the offending tweet, the conversation it happened in, and all of the user and reporters twitter network. This consists of followers, people followed, people replied to, people mentioned, people mentioning, people using the same hashtag. They can view much of this as a literal graph. All this can be pre-calculated and shown as soon as the ticket is open without any automated intervention in the tweets themselves. Show ngrams of word frequencies in reported tweets. In the recent example, they aren’t subtle. Allow filtering by time window.
Rank tickets in an automated way and relate to other abuse tickets. The time of the abuse team is limited, but the worst events are flash mobs. Make it easy to see when network-related abuse events are occurring by showing and linking abuse reports in the graph visualization above. Identify cliques implicated in abuse events, in the social and graph-theoretic senses. Probably once an abuse mechanism is established, there will be events where both sides are reporting abuse: make it easy to see that. And yes, show when identified users are involved – but don’t ditch pseudonymity as an account option.
Allow action on a subgraph, slowdowns and freezes. Up until now we have just described readonly tools. Through the same graphical view, identify subgraphs to be acted on. Allow operators to enforce slowdowns in tweeting – the tweet is still sent, but after a number of minutes or hours. The advantage of being able to set say one minute is it will be less obvious investigation is going on. A freeze is a halt on posting until further notice. The operator can choose to freeze or slowdown any dimension of the graph – eg a hashtag, or all people who posted on that tag, or all people in a clique replying to certain users with a certain word. This is similar to a stock exchange trading halt. This has to be a manual action because its based on human judgement and linguistic interpretation. Finally allow account deletion, but not as a mass action.
Capture and export all this data for use by a law enforcement agency you are willing to collaborate with.
Open the API and share at least some of the toolset source so people can get perspective on the shape of an attack when it happens. And of course, don’t do this at once – start with simple read only monitoring and iterate rapidly. Remember that the system will be gamed. Keep the poets out of gaol.