Lawyers, Justice and RAID

by Robin Harris on Friday, 12 January, 2007

One of my favorite storage bloggers is NetApp co-founder Dave Hitz. He’s thoughtful, wry and, most important, he doesn’t spend much time pimping NetApp.

I particularly enjoyed his recent post about lawyers and the legal system Lawyers Aren’t Evil—Fairness and Morality Aren’t Their Job and the associated comments, where fellow engineers try to figure out ways to re-engineer the legal system.

Legalese v4.2.8
One suggestion was that a legal language be developed that would eliminate much of the ambiguity in our laws. Of course, many laws are written with ambiguities built in so they can get the votes they need to pass.

The State as a mainframe
Another analogy a reader offered was the State as a mainframe.

I think of the State as a really big mainframe, call it Big Iron on steroids. There needs to be a serious division of labour for it to work. At the top are Parliaments or legislatures, who are like systems programmers. They write the basic framework under which the mainframe behaves. Then there’s the executive, which is like the system administrator and their staff: they go around making sure the policies are adhered to, investigating wrong doing and resource hogging, etc. What’s the judiciary all about? The judicial process is par of the allocator mechanism of the mainframe. Instead of allocating computer time or memory it allocates something abstract yet very important called legitimacy.

I liked that one.

The Constitution as a RAID array
Or perhaps an high-availability cluster. Let me explain.

Components, like disk drives and servers, fail. So we’ve done all this fancy engineering so these devices can fail while the system as a whole continues to function.

The components of a state are people. Like disk drives, people fail. Political thinkers from Plato on sought to devise governments that would deliver good results despite fallible people. As long as kings ruled these efforts didn’t bear much fruit. Good king, good government. Bad king, bad government.

Ancient Athens had the world’s first democracy, and its successes and failures gave us much of our political vocabulary. Republican Rome further developed democratic ideas, including the concept of the separation of powers. Later, the people of Iceland established in 930 AD what is today the world’s oldest functioning parliament, the Althing. After England’s King John really screwed up, his barons forced him to sign the Magna Carta, which came to symbolize placing royal power under law.

Inefficient by design – and let’s hope it stays that way
By the time of the American Revolution, much political theorizing and practical experience led most Americans to reject monarchy. When, after the failure of the Articles of Confederation, the worldly and largely wealthy former revolutionaries accepted that a strong central government was needed. But they weren’t going to trade a foreign king for a local one, so the Constitution makes sure that the Government has limited powers, and that each branch of government acts as a check on the others.

If you’ve ever wondered why the US Government is so inefficient, you have the founding fathers to thank. They designed it that way, because they knew that lazy, greedy, corrupt, selfish, stupid, arrogant and power-hungry (though not usually all at the same time) men would be occupying any and all of the offices of government. They reasoned that if the three branches of government kept fighting among each other, our liberties would be safer for it.

Maybe its more like a cluster
In the articles on Microsoft’s Boxwood cluster software (see Microsoft’s Secret Google-killer? Boxwood Pt. I and Microsoft’s Secret Google-killer? Boxwood Pt. II) I talked about the Byzantine Generals Problem. Suppose you have a server that is not only failing and passing bad information, but doesn’t know it and insists to the other servers in the cluster that it is fine. How does the cluster figure this out? Microsoft’s Boxwood knows how.

Not that it could ever happen, but . . .
Suppose we had a President, who deliberately misled (or, less delicately, lied to) America to get us into war with some country that was no threat to us at all. How would the system function under these stressful conditions? First, the Congress, exercising oversight, would discover the President’s perfidy and would expose it for all Americans to see. Our free press would courageously present the facts. Voters would then rise up in righteous wrath at the next election, and responding to the gross dereliction of this President, would vote him and/or his party out of office. If the President remained in office, Congress would no doubt impeach him for such dishonesty.

That’s the theory, anyway.

So the Constitution is like a cluster architecture
We know the individual components will fail, but through contstant checking, redundancy and failover we can keep complex clusters, or governments, running 7×24 despite the flawed components that make them up. That’s the theory, anyway.

Comments welcome, as usual. Moderation turned on to keep spamsters at bay.

{ 3 comments… read them below or add one }

Kevin Closson January 16, 2007 at 10:45 am

Great articel, but a Constitution-like cluster is anarchy without robust fencing. I submit:

Kalkin March 3, 2007 at 3:26 pm

Gee, I was getting to like your site until I happened across your political commentary. My opinion of your IQ just dropped by half.

Robin Harris March 3, 2007 at 8:21 pm

Kevin. robust fencing is a much. Look at the mess we got into without it.

Kalkin, I suppose you feel the same about the folks who wrote the Constitution. Given the paucity of your comment though it is hard to tell what, if anything you might believe. Fortunately, my IQ doesn’t depend on your opinion. If you have a different example you’d like to add to the discussion, please be my guest.


Leave a Comment

Previous post:

Next post: