Safer To Jaywalk

This T-intersection is near my local metro station. I use it all the time.

T-intersection

It has a full set of traffic lights, and a signaled pedestrian crossing with a backwards counter displaying how many seconds left before the green WALK signal switches to STOP. The timer is thirty seconds, which is sufficient for a fully mobile adult, but doesn’t leave much time for dilly-dallying for children or anyone less sprightly, for whichever reason.

The main road is three busy lanes in each direction. The side roads are single lane. Traffic turning right from the single lane has a green light and has to give way to pedestrians. The timers on the north and south lanes’ traffic lights are offset, such that the south lane red light signals a good ten seconds before the north lane. Logically enough, the pedestrian crossing only signals when red lights stop car traffic in both lanes of the main road.

The upshot of all this is that when crossing from north to south, you might want to walk briskly, but there is no particular overlap between cars and people. However, when crossing from south to north, the timing is such that cars and trucks always have to stop a second time for pedestrians. The drivers are, in the most part, polite, but you depend to an uncomfortable extent on their knowing the give way rule. There is no continuous line of sight from pedestrian to car, as the car comes from the back left. There is no continuous line of sight from driver to pedestrian, as it is coming around a corner.

There is a pedestrian bridge, but it is a hundred metres away and adds a few minutes to the journey. Without arguing the psychology of it in detail, people will prefer the fastest way. The bridge is also only accessible by stairs.

The safest way to cross this road from the south is to jaywalk to the traffic island after the southern lane traffic light has turned red, then cross the north lane under the green man signal, before the cars have reached the pedestrian crossing.

This is not a problem that enrages me, but it does scare me, just a little, and it nags at the design-aware part of my brain. Breaking a good, established, law, like the traffic code, bugs me. How do I teach that rule to little people? Surely it’s not right that strangers to the area are put at more risk. Etc. The solution I’d suggest would be to block the right turn for the side street entirely.

There is a U-turn lane near lights a few hundred metres along the main road. The trucks may have to go further up. Another solution would be to extend the timer for the side road red light without changing any other timings, meaning pedestrians have a better chance of crossing before competing directly with traffic.

Now, there are mechanisms for changing this, but they are pretty crude and imprecise. I’m sure there’s a smart civil engineer working for the roads department who could tweak this design to make it better, and maybe point out where my suggestions make well-meaning amateurish errors. I could write a letter to the department, or to an MP, but that is the prioritisation and lobbying end of the problem. There are probably more obviously urgent things to deal with, though this one does have a safety aspect, and a subtle one to explain. It also ends up in a big slush pile of email feedback. Imprecise.

One of the things that makes me sympathetic to the Tim O’Reilly – Daniel Lathrop government as a platform approach is moments like this. If this intersection were a piece of open source software, I could lodge a detailed, public bug report, have it commented on by other users, or even contribute a patch. Some local governments have started to take a genuine crack at this – eg you can raise a pothole bug in Cambridgeshire and at another level of openness and sophistication, the GOV.UK project so embraced an innovative, collaborative spirit, they put all the code on GitHub. This still falls short of what feels right here – a patch for the Civic Infranet of Things.

That is the spirit I think small scale, town hall democracy can have, but for it to scale to a metropolis, some different techs and processes are needed. (Contrary to some critics, this is not inherently an agenda for defunding government or “depoliticising” policy.) Bug reports, their priorities and solutions can be intensely political, and that is a good, human thing. Its localness and specifity keeps a human scale; it changes the texture of civic engagement. Maybe that doesn’t address grand national problems directly. It doesn’t fix collapsed party memberships or dismantle the security-panic-apathy complex. Yet wanting to collaborate in a focused, open way, with the guidance of domain experts: that is a model of responsible, informed self-government.

When I run home I take the bridge.

The city and the city only, owing to these refinements, can never be served openly and without disguise; he who does serve it openly being always suspected of serving himself in some secret way in return.
— Diodotus, in Thuycidides History of the Peloponnesian War, Crawley trans.

Hamilton’s Counter-Sketch At The Philadelphia Design Review

Comparisons of the US Constitution to software design are fairly commonplace. A pattern-focused one by Howard Dierking appears in a recent book on Open Government, but it goes back at least to the dot-com era and probably before. The analogies have their limitations, such as a tendency to foreground the machinery of government and background the people in politics, and the reasons they might push a given position. That said, I certainly dabbled in it myself during the wild analogy-soaked amusements of my youth; and as a system which is human centric, statically defined and with key properties only obvious at runtime, thinking about government is not such a bad training for software design.

Whatever the merits of the full metaphor, I don’t think it’s a stretch to describe the Philadelphia convention itself as a design process. I was struck by Hamilton’s role as described by Ron Chernow. The design meeting was a bit thinly attended. Of the fifty-five on the invite list, only thirty were actually there most of the time, with people drifting in and out, and a number of invitees considering it not particularly important in their busy working lives. The discussion itself happened behind closed doors, with an agreement for the debate to stay between delegates, to allow the sharing of different design ideas.

At the time of the convention, as Americans who stayed awake in civics class probably already know, the United States was organized on the basis of the Articles of Confederation, which loosely grouped the former colonies together on terms weaker in some ways than the current European Union. The US government was unable to reliably raise tax revenue, for example, and as a result still held massive debts from the Revolutionary War, including soldiers’ pay.

The convention had so far been dominated by a proposal from Madison and the Virginia delegation for a much stronger national government, of two legislative houses, proportional to population, a President and a Supreme Court. William Paterson of New Jersey argued for revisions to the Articles that fixed some problems in the confederation but retained its minimalist character. Three weeks in, constructive discussion had begun to stall, with delegates forming factions around the two plans. Hamilton, relatively young but hardly unknown, had uncharacteristically spoken little during the convention so far, and didn’t favour either plan. Chernow relates:

It was predictable than when the wordy Hamilton broke silence, he would do so at epic length. Faced with a deadlock between large and small states, he decided to broach a more radical plan.On Monday morning, June 18, the thirty-two-year-old prodigy rose first on the convention floor and in the stifling, poorly ventilated room he spoke and spoke and spoke. Before the day was through, he had given a six-hour speech (no break for lunch) that was brilliant, courageous, and, in retrospect, completely daft. He admitted to the assembly that he would adumbrate a plan that did not reflect popular opinion.
[…]
His mind had minted an entire program for a new government, not just scattered aspects of it.
[…]
He now suggested a president and Senate that would be elected but would serve for life “on good behaviour”. Hamilton’s chief executive differed from a monarch in that he would be elected and, if he misbehaved, subject to recall. […] While Hamilton’s Senate would be chosen for life by electors [ie like the historical Electoral College -CA], his House of Representatives, by contrast, was exceedingly democratic, chosen directly by universal male suffrage every three years. Thus, the aristocratic element would be represented by the Senate, the common folk by the House. As prosperity widened income differentials in future years, Hamilton feared that the Senate and House might try to impose their wills on each other: “Give all the power to the many, they will oppress the few. Give all power to the few, they will oppress the many.”
[…]
To curb further abuse, Hamilton recommended a Supreme Court that would consist of twelve judges holding lifetime offices on good behaviour. In this manner, each branch would maintain a salutary distance from popular passions. The House of Representatives would be the striking exception. Hamilton concluded, “The principle chiefly intended to be established is this – that there must be a permanent will.”
— Ron Chernow, Alexander Hamilton

There is no definitive record of the plan, but some describe it as abolishing the states, with state governors appointed by the central government. It owed much to the structure of 18th century British government, to the point where it is sometimes called the British Plan.

Chernow goes on to ask “How had Hamilton blundered into this speech?”

Oh Ron, you’re a great biographer, but you’re so wrong about this. Yes, it caused him a great deal of political grief later on. Yes, it didn’t get many votes at the convention. Maybe you could even blame it for derailing his run at the Presidency. But I’ve been in that sort of design meeting. And it needed Hamilton’s crazy design sketch like a thirsty runner needs water.

Hamilton was a designer of systems, and as a system it made sense. William Samuel Johnson said it was “praised by everybody [but] … supported by none”. The debate was becoming entrenched, after which problem solving stops. The size of the meeting would have already been awkward for genuine design conversation. (Its notable that the full convention basically did little but choose among solutions proposed by smaller groups). The Hamilton plan showed some of the dimensions along which the design could meaningfully vary, without simply being an attempt to average the two major proposals on the table. Whenever he incorporates a controversial ingredient of the rival plans, he turns the dial to 11: not just a democratic lower house, a lower house elected every year by every man! Not just an executive: a President-for-life, who he even calls a monarch! Not just a Supreme Court: a dozen Supreme justices! For life!

Often there is a dialectical dynamic in problem solving. I doubt it is as universal as Soviet systems of dialectical materialism for engineers would have it, but the mental procession of thesis, antithesis and synthesis happens often enough to be useful. You can even see it expressed in code sometimes, as two theories of how core concepts in a system should be expressed, fighting it out in marching ranks of source source control commits.

Hamilton showed one synthesis: a way the plans could be modified and still work as systems. Chernow mentions some scholars argue it also worked politically, by being a more radically central government than the Virginia Plan, making it seem moderate by comparison. The eventual solution, the Connecticut Compromise from Roger Sherman, varied along similar axes as Hamilton’s plan, of the composition of the two houses and the nature of the Presidency.

It’s also nice that once the ultimate plan was adopted, Hamilton sent a number of meaty patches in the first milestone of the new system, and didn’t go off and fork the codebase. The merge conflicts from that can be hell.

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.